<?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>208499</bug_id>
          
          <creation_ts>2020-03-02 23:28:21 -0800</creation_ts>
          <short_desc>Implement FCP (first contentful paint)</short_desc>
          <delta_ts>2021-03-04 12:10:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=222186</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=222756</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>78011</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Noam Rosenthal">noam</reporter>
          <assigned_to name="Noam Rosenthal">noam</assigned_to>
          <cc>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>fred.wang</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>nham</cc>
    
    <cc>pdr</cc>
    
    <cc>philipj</cc>
    
    <cc>rniwa</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1624959</commentid>
    <comment_count>0</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-02 23:28:21 -0800</bug_when>
    <thetext>Spec: https://w3c.github.io/paint-timing/
FCP gives web developers an indication of when painting was actually performed and when it&apos;s contentful (contains text/canvas/image/svg).
This is part of the painting API, and a part where WebKit is more simiilar to other browsers so is less ambiguous than the other entry of paint-API, first-paint</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624974</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-03-03 00:21:18 -0800</bug_when>
    <thetext>See my comment on webkit.org/78011. Before implementing this API, we should adjust our heuristics for the first meaningful paint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624975</commentid>
    <comment_count>2</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-03 00:33:36 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #1)
&gt; See my comment on webkit.org/78011. Before implementing this API, we should
&gt; adjust our heuristics for the first meaningful paint.

Great! I created a bug to track the change in heuristic: https://bugs.webkit.org/show_bug.cgi?id=208500</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632063</commentid>
    <comment_count>3</comment_count>
      <attachid>394078</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-20 06:17:01 -0700</bug_when>
    <thetext>Created attachment 394078
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632065</commentid>
    <comment_count>4</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-20 06:24:41 -0700</bug_when>
    <thetext>I made a crack at the API adhering to the current version of the spec.
I know it&apos;s not currently adjusted to VNE heuristic, for the following reasons:

- It&apos;s behind a flag, we can adjust VNE/FCP as we go along, and also as the spec evolves, before enabling it in Safari etc.
- in many cases VNE would happen before FCP, as VNE (unlike FCP) is bound to happen after all resources load, and unlike FCP, VNE is not layout bound.
- VNE currently has no tests. The new FCP tests from W3C could serve as infrastructure for VNE tests.
- I wanted to move forward, and it&apos;s been difficult to contribute to VNE as it&apos;s not something that has a spec.

It currently covers 23/24 of the W3C tests, and more could be added incrementally.
If we still want to adjust VNE before moving forward with it it&apos;s of course OK, but I&apos;d be happy to get some guidance on how to do that (See https://bugs.webkit.org/show_bug.cgi?id=208501 for example, the discussion is a bit opaque).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632422</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-03-20 20:00:57 -0700</bug_when>
    <thetext>I don&apos;t think we ever want to FCP that&apos;s totally different from VNE since then FCP would become a fictional metric.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632423</commentid>
    <comment_count>6</comment_count>
      <attachid>394078</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-03-20 20:01:12 -0700</bug_when>
    <thetext>Comment on attachment 394078
Patch

r- on that basis</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632480</commentid>
    <comment_count>7</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-21 08:49:04 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #5)
&gt; I don&apos;t think we ever want to FCP that&apos;s totally different from VNE since
&gt; then FCP would become a fictional metric.

Oops, I think I&apos;ve used wrong wording to describe this work!

FCP here is not totally different from VNE - what I meant is that it doesn&apos;t count directly on VNE code because VNE is a pre-layout heuristic metric and FCP is a post-layout accurate metric. For example, the characters of text that has an empty bounding rect would count for VNE but not for FCP, because the bounding box can only be calculated after layout.

It&apos;s not a fictional metric in this patch - it reports the first contentful paint as defined in the spec. Since VNE delays paint, that delay is indirectly taken into account, but not directly in the code path.

If this is still unclear I&apos;d love to chat about this on Slack :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632947</commentid>
    <comment_count>8</comment_count>
      <attachid>394280</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-23 11:33:06 -0700</bug_when>
    <thetext>Created attachment 394280
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632949</commentid>
    <comment_count>9</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-23 11:35:55 -0700</bug_when>
    <thetext>A new patch. explicity referring to VNE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632963</commentid>
    <comment_count>10</comment_count>
      <attachid>394284</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-23 11:51:28 -0700</bug_when>
    <thetext>Created attachment 394284
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1633331</commentid>
    <comment_count>11</comment_count>
      <attachid>394370</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-24 09:23:32 -0700</bug_when>
    <thetext>Created attachment 394370
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635444</commentid>
    <comment_count>12</comment_count>
      <attachid>394899</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-30 04:11:16 -0700</bug_when>
    <thetext>Created attachment 394899
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635457</commentid>
    <comment_count>13</comment_count>
      <attachid>394904</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-30 04:51:06 -0700</bug_when>
    <thetext>Created attachment 394904
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635466</commentid>
    <comment_count>14</comment_count>
      <attachid>394907</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-30 05:29:12 -0700</bug_when>
    <thetext>Created attachment 394907
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635470</commentid>
    <comment_count>15</comment_count>
      <attachid>394909</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-30 05:49:06 -0700</bug_when>
    <thetext>Created attachment 394909
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635475</commentid>
    <comment_count>16</comment_count>
      <attachid>394911</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-30 06:25:53 -0700</bug_when>
    <thetext>Created attachment 394911
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635488</commentid>
    <comment_count>17</comment_count>
      <attachid>394913</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-30 07:12:57 -0700</bug_when>
    <thetext>Created attachment 394913
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635505</commentid>
    <comment_count>18</comment_count>
      <attachid>394917</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-30 07:54:30 -0700</bug_when>
    <thetext>Created attachment 394917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635518</commentid>
    <comment_count>19</comment_count>
      <attachid>394919</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-30 08:25:40 -0700</bug_when>
    <thetext>Created attachment 394919
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635631</commentid>
    <comment_count>20</comment_count>
      <attachid>394942</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-30 11:51:10 -0700</bug_when>
    <thetext>Created attachment 394942
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635962</commentid>
    <comment_count>21</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-31 02:01:33 -0700</bug_when>
    <thetext>OK, the build failure is same as https://bugs.webkit.org/show_bug.cgi?id=201641
Hope we get the WIN bots to run a clean build, they currently can&apos;t handle adding preference keys.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636606</commentid>
    <comment_count>22</comment_count>
      <attachid>394942</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-01 12:28:28 -0700</bug_when>
    <thetext>Comment on attachment 394942
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=394942&amp;action=review

&gt; Source/WebCore/page/FrameView.cpp:4202
&gt; +    || frame().document()-&gt;securityOrigin().canAccess(frame().mainFrame().document()-&gt;securityOrigin());

Weird indentation. I&apos;m surprised we don&apos;t have a helper on Frame for this.

&gt; Source/WebCore/page/FrameView.cpp:4205
&gt; +void FrameView::markPaintTimingIfNeeded()

Does this really belong here, or on Document?

Does FCP fire when a page comes out of the page cache? How does it relate to the page visibility API?

&gt; Source/WebCore/page/FrameView.h:828
&gt; +    bool m_didMarkFirstContentfulPaint { false };

Please don&apos;t put this member variable here before all the others. For one thing, you&apos;ve introduced 3 bytes of padding before m_frame. Group it with other bools lower down.

&gt; Source/WebCore/page/PerformancePaintTiming.h:35
&gt; +    static Ref&lt;PerformancePaintTiming&gt; createFirstContentfulPaint(double timeStamp)

Should that be a DOMHighResTimeStamp or a MonotonicTime? We try to avoid raw &apos;doubles&apos; because they are ambiguous.

&gt; Source/WebCore/rendering/RenderElement.cpp:334
&gt; +    if (!opacity() || isSVGHiddenContainer())

We don&apos;t care about opacity on ancestors?

&gt; Source/WebCore/rendering/RenderElement.cpp:338
&gt; +        if (style().visibility() != Visibility::Visible)

We don&apos;t care about visibility on ancestors?

&gt; Source/WebCore/rendering/RenderElement.cpp:344
&gt; +            return current-&gt;boundingClientRect().intersects(documentRect);

Are we only calling this when layout is up-to-date, so that boundingClientRect() gives a valid answer?
Seems odd to bounce to Element to call boundingClientRect() which is going to call right back into rendering code.

&gt; Source/WebCore/rendering/RenderElement.cpp:355
&gt; +    for (const RenderObject* renderObject = firstChild(); renderObject; renderObject = renderObject-&gt;nextSibling()) {
&gt; +        if (renderObject-&gt;containsPaintableContent())
&gt; +            return true;
&gt; +    }

It would be much nicer to hoist the recursion out of the function that does the actual work. This should use render tree traversal helpers, and it should be really obvious that this is a massive, expensive full render tree traversal, with boundingClientRect() (an ancestor tree walk) for each renderer.

In fact, I think we need to do this more efficiently, and be able to clip out non-visible areas, which makes it more like paint traversal. I&apos;m going to r- because I think the perf implications here are a showstopper.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636609</commentid>
    <comment_count>23</comment_count>
      <attachid>394942</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-04-01 12:39:05 -0700</bug_when>
    <thetext>Comment on attachment 394942
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=394942&amp;action=review

&gt;&gt; Source/WebCore/rendering/RenderElement.cpp:355
&gt;&gt; +    }
&gt; 
&gt; It would be much nicer to hoist the recursion out of the function that does the actual work. This should use render tree traversal helpers, and it should be really obvious that this is a massive, expensive full render tree traversal, with boundingClientRect() (an ancestor tree walk) for each renderer.
&gt; 
&gt; In fact, I think we need to do this more efficiently, and be able to clip out non-visible areas, which makes it more like paint traversal. I&apos;m going to r- because I think the perf implications here are a showstopper.

Actually this function should not even be on the RenderElement (the only non-recursive entry point is the RenderView). It looks more like a helper function that collects &quot;paintable information&quot; about the render tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636612</commentid>
    <comment_count>24</comment_count>
      <attachid>394942</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-01 12:49:01 -0700</bug_when>
    <thetext>Comment on attachment 394942
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=394942&amp;action=review

&gt;&gt; Source/WebCore/page/FrameView.cpp:4202
&gt;&gt; +    || frame().document()-&gt;securityOrigin().canAccess(frame().mainFrame().document()-&gt;securityOrigin());
&gt; 
&gt; Weird indentation. I&apos;m surprised we don&apos;t have a helper on Frame for this.

Yea, actually check-webkit-style gave me trouble when I tried to do anything different. Will find a way.

&gt;&gt; Source/WebCore/page/FrameView.cpp:4205
&gt;&gt; +void FrameView::markPaintTimingIfNeeded()
&gt; 
&gt; Does this really belong here, or on Document?
&gt; 
&gt; Does FCP fire when a page comes out of the page cache? How does it relate to the page visibility API?

It can be in Document, maybe that&apos;s better.
By the spec, if the page comes out of the page cache before FCP was called, it might still be called. The mark of whether it was called or not is associated with Document.

&gt;&gt; Source/WebCore/page/FrameView.h:828
&gt;&gt; +    bool m_didMarkFirstContentfulPaint { false };
&gt; 
&gt; Please don&apos;t put this member variable here before all the others. For one thing, you&apos;ve introduced 3 bytes of padding before m_frame. Group it with other bools lower down.

Sure. I think it needs to move to Document. though as per previous comment

&gt;&gt; Source/WebCore/page/PerformancePaintTiming.h:35
&gt;&gt; +    static Ref&lt;PerformancePaintTiming&gt; createFirstContentfulPaint(double timeStamp)
&gt; 
&gt; Should that be a DOMHighResTimeStamp or a MonotonicTime? We try to avoid raw &apos;doubles&apos; because they are ambiguous.

Aye.

&gt;&gt; Source/WebCore/rendering/RenderElement.cpp:334
&gt;&gt; +    if (!opacity() || isSVGHiddenContainer())
&gt; 
&gt; We don&apos;t care about opacity on ancestors?

No, because this is called recursively, and this early return exits before we check descendant opacity.

&gt;&gt; Source/WebCore/rendering/RenderElement.cpp:338
&gt;&gt; +        if (style().visibility() != Visibility::Visible)
&gt; 
&gt; We don&apos;t care about visibility on ancestors?

Isn&apos;t visibility inherited rather than affected by ancestors?

&gt;&gt; Source/WebCore/rendering/RenderElement.cpp:344
&gt;&gt; +            return current-&gt;boundingClientRect().intersects(documentRect);
&gt; 
&gt; Are we only calling this when layout is up-to-date, so that boundingClientRect() gives a valid answer?
&gt; Seems odd to bounce to Element to call boundingClientRect() which is going to call right back into rendering code.

Yes - we are only calling this when layout is up to date. I&apos;ll add an assert for that.
Maybe boundingClientRect can move into here, and Element would call it?

&gt;&gt;&gt; Source/WebCore/rendering/RenderElement.cpp:355
&gt;&gt;&gt; +    }
&gt;&gt; 
&gt;&gt; It would be much nicer to hoist the recursion out of the function that does the actual work. This should use render tree traversal helpers, and it should be really obvious that this is a massive, expensive full render tree traversal, with boundingClientRect() (an ancestor tree walk) for each renderer.
&gt;&gt; 
&gt;&gt; In fact, I think we need to do this more efficiently, and be able to clip out non-visible areas, which makes it more like paint traversal. I&apos;m going to r- because I think the perf implications here are a showstopper.
&gt; 
&gt; Actually this function should not even be on the RenderElement (the only non-recursive entry point is the RenderView). It looks more like a helper function that collects &quot;paintable information&quot; about the render tree.

@smfr: Regarding the performance hit - note that this doesn&apos;t called during render etc - only in the beginning when FCP has not been reported yet. The performance hit would only be there in edge cases where there is a very deep tree of non-paintable things. But I&apos;ll try to think of alternatives.

@zalan: sure, will revise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637257</commentid>
    <comment_count>25</comment_count>
      <attachid>395353</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-03 00:19:28 -0700</bug_when>
    <thetext>Created attachment 395353
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637261</commentid>
    <comment_count>26</comment_count>
      <attachid>395354</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-03 00:44:57 -0700</bug_when>
    <thetext>Created attachment 395354
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637262</commentid>
    <comment_count>27</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-03 00:47:58 -0700</bug_when>
    <thetext>Revised based on comments from @zalan and @smfr:
- Moved paintability checks to PaintTimingRenderSupport (other name suggestions welcome)
- Moved eligibility logic to Document, made more succinct.
- Used more efficient methods for recursion and geometry checks
- Added comments and asserts to make sure the expensive path would only very rarely be used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638041</commentid>
    <comment_count>28</comment_count>
      <attachid>395549</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-05 23:08:52 -0700</bug_when>
    <thetext>Created attachment 395549
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640278</commentid>
    <comment_count>29</comment_count>
      <attachid>396106</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-10 11:24:03 -0700</bug_when>
    <thetext>Created attachment 396106
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640287</commentid>
    <comment_count>30</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-10 11:37:39 -0700</bug_when>
    <thetext>Added a test that makes sure VNE blocks FCP - a delayed stylesheet loading would take place before FCP.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640980</commentid>
    <comment_count>31</comment_count>
      <attachid>396308</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-13 10:47:24 -0700</bug_when>
    <thetext>Created attachment 396308
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641083</commentid>
    <comment_count>32</comment_count>
      <attachid>396308</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-04-13 13:41:34 -0700</bug_when>
    <thetext>Comment on attachment 396308
Patch

The rendering bits look good. Great test coverage!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641106</commentid>
    <comment_count>33</comment_count>
      <attachid>396308</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-13 14:24:09 -0700</bug_when>
    <thetext>Comment on attachment 396308
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=396308&amp;action=review

&gt; Source/WebCore/dom/Document.cpp:3152
&gt; +void Document::markPaintTimingIfNeeded()

Would it be accurate to call this reportPaintTimingIfNeeded? I&apos;m not really a fan of the &quot;mark&quot; terminology.

&gt; Source/WebCore/page/FrameView.cpp:985
&gt; +    if (auto* document = frame().document())
&gt; +        document-&gt;markPaintTimingIfNeeded();

This is the wrong place for this.It should go in Page::updateRendering().

&gt; Source/WebCore/page/PerformanceEntry.h:55
&gt;          Mark = 1 &lt;&lt; 1,
&gt;          Measure = 1 &lt;&lt; 2,
&gt;          Resource = 1 &lt;&lt; 3,
&gt; +        Paint = 1 &lt;&lt; 4

I like these lined up (adjust spaces before the =)

&gt; Source/WebCore/rendering/ContentfulPaintChecker.cpp:40
&gt; +static bool intersectsWithDocumentRect(const RenderObject&amp; object, const IntRect&amp; documentRect)

intersectsDocumentRect()

&gt; Source/WebCore/rendering/ContentfulPaintChecker.cpp:47
&gt; +            if (textRenderer.localToAbsoluteQuad(FloatQuad(box.rect())).boundingBox().intersects(documentRect))

This localToAbsolute() is another ancestor tree walk.

&gt; Source/WebCore/rendering/ContentfulPaintChecker.cpp:109
&gt; +    for (auto&amp; ancestor : lineageOfType&lt;RenderObject&gt;(object)) {
&gt; +        if (!ancestor.style().opacity())
&gt; +            return false;
&gt; +    }

Ouch. For each renderer, you&apos;re doing an ancestor tree walk. Starts getting &gt; O(n)

&gt; Source/WebCore/rendering/ContentfulPaintChecker.cpp:114
&gt; +bool qualifiesForContentfulPaint(RenderView&amp; view)

Might be nicer to pass a FrameView here and assert !frameView.needsLayout().

&gt; Source/WebCore/rendering/ContentfulPaintChecker.cpp:120
&gt; +    for (auto&amp; object : descendantsOfType&lt;RenderObject&gt;(view)) {
&gt; +        if (isContentful(object) &amp;&amp; isPaintable(object, documentRect))
&gt; +            return true;
&gt; +    }

Potentially a full tree walk, which we need to avoid.

Why doesn&apos;t this make use of didMarkVisuallyNonEmptyPixels() which you&apos;re adding in the other patch? If we know which renderers have been marked, can&apos;t we remember them and ask them directly?

&gt; Source/WebCore/rendering/ContentfulPaintChecker.h:27
&gt; +bool qualifiesForContentfulPaint(RenderView&amp;);

Maybe make this a class with static member functions. I suspect we&apos;ll want a real controller object with more state one day.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641111</commentid>
    <comment_count>34</comment_count>
      <attachid>396308</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-13 14:33:39 -0700</bug_when>
    <thetext>Comment on attachment 396308
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=396308&amp;action=review

&gt;&gt; Source/WebCore/dom/Document.cpp:3152
&gt;&gt; +void Document::markPaintTimingIfNeeded()
&gt; 
&gt; Would it be accurate to call this reportPaintTimingIfNeeded? I&apos;m not really a fan of the &quot;mark&quot; terminology.

Sure, I tried to follow the same language as the spec.

&gt;&gt; Source/WebCore/page/FrameView.cpp:985
&gt;&gt; +        document-&gt;markPaintTimingIfNeeded();
&gt; 
&gt; This is the wrong place for this.It should go in Page::updateRendering().

Gotcha.

&gt;&gt; Source/WebCore/page/PerformanceEntry.h:55
&gt;&gt; +        Paint = 1 &lt;&lt; 4
&gt; 
&gt; I like these lined up (adjust spaces before the =)

ok

&gt;&gt; Source/WebCore/rendering/ContentfulPaintChecker.cpp:47
&gt;&gt; +            if (textRenderer.localToAbsoluteQuad(FloatQuad(box.rect())).boundingBox().intersects(documentRect))
&gt; 
&gt; This localToAbsolute() is another ancestor tree walk.

I guess an alternative would be to pass the matrix going down the tree, using a child-walk rather than ancestor walk, or to save the potentially-contentful elements somewhere.

&gt;&gt; Source/WebCore/rendering/ContentfulPaintChecker.cpp:109
&gt;&gt; +    }
&gt; 
&gt; Ouch. For each renderer, you&apos;re doing an ancestor tree walk. Starts getting &gt; O(n)

The other option is to do a child walk and stop when I get to zero opacity, like I did in a previous patch. would that work better?

&gt;&gt; Source/WebCore/rendering/ContentfulPaintChecker.cpp:114
&gt;&gt; +bool qualifiesForContentfulPaint(RenderView&amp; view)
&gt; 
&gt; Might be nicer to pass a FrameView here and assert !frameView.needsLayout().

ok

&gt;&gt; Source/WebCore/rendering/ContentfulPaintChecker.cpp:120
&gt;&gt; +    }
&gt; 
&gt; Potentially a full tree walk, which we need to avoid.
&gt; 
&gt; Why doesn&apos;t this make use of didMarkVisuallyNonEmptyPixels() which you&apos;re adding in the other patch? If we know which renderers have been marked, can&apos;t we remember them and ask them directly?

We can do that, but then we would need to save a set of them somewhere (in FrameView?) Would that be preferrable? I guess we can clear that set once we report paint timing.

&gt;&gt; Source/WebCore/rendering/ContentfulPaintChecker.h:27
&gt;&gt; +bool qualifiesForContentfulPaint(RenderView&amp;);
&gt; 
&gt; Maybe make this a class with static member functions. I suspect we&apos;ll want a real controller object with more state one day.

sure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641723</commentid>
    <comment_count>35</comment_count>
      <attachid>396515</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-15 02:03:27 -0700</bug_when>
    <thetext>Created attachment 396515
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641724</commentid>
    <comment_count>36</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-15 02:06:08 -0700</bug_when>
    <thetext>(In reply to Noam Rosenthal from comment #35)
&gt; Created attachment 396515 [details]
&gt; Patch

Riding on existing walker determineNonLayerDescendantsPaintedContent, which is capped at 200... so FCP will be reported if we&apos;ve passed 200 non-layer elements and still not sure if we&apos;re contentful or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642198</commentid>
    <comment_count>37</comment_count>
      <attachid>396634</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-16 04:48:45 -0700</bug_when>
    <thetext>Created attachment 396634
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642237</commentid>
    <comment_count>38</comment_count>
      <attachid>396645</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-16 06:56:07 -0700</bug_when>
    <thetext>Created attachment 396645
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642258</commentid>
    <comment_count>39</comment_count>
      <attachid>396651</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-16 08:15:33 -0700</bug_when>
    <thetext>Created attachment 396651
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643537</commentid>
    <comment_count>40</comment_count>
      <attachid>396651</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-20 11:14:47 -0700</bug_when>
    <thetext>Comment on attachment 396651
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=396651&amp;action=review

&gt; Source/WebCore/page/PerformancePaintTiming.h:33
&gt; +class PerformancePaintTiming final : public PerformanceEntry {

I would have called this PerformancePaintTimingEntry but I guess the web API precludes this.

&gt; Source/WebCore/rendering/ContentfulPaintChecker.cpp:44
&gt; +    TransformationMatrix transform = parentTransform * layer.currentTransform();

This manual transform math is almost certainly wrong, and I&apos;ve no idea how you can test it to make sure it&apos;s correct here. Think about preserves3D, flattening, perspective....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643541</commentid>
    <comment_count>41</comment_count>
      <attachid>396651</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-20 11:19:01 -0700</bug_when>
    <thetext>Comment on attachment 396651
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=396651&amp;action=review

&gt;&gt; Source/WebCore/rendering/ContentfulPaintChecker.cpp:44
&gt;&gt; +    TransformationMatrix transform = parentTransform * layer.currentTransform();
&gt; 
&gt; This manual transform math is almost certainly wrong, and I&apos;ve no idea how you can test it to make sure it&apos;s correct here. Think about preserves3D, flattening, perspective....

any suggestions on where to get this right without doing another ancestor walk? All I&apos;m really looking for is to see that the layer is not transformed to nothing (e.g. by a 3d rotate) or to some place outside the document rect (e.g. a negative y).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643836</commentid>
    <comment_count>42</comment_count>
      <attachid>397073</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-21 04:21:43 -0700</bug_when>
    <thetext>Created attachment 397073
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643837</commentid>
    <comment_count>43</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-21 04:22:32 -0700</bug_when>
    <thetext>New patch uses fake-paint mechanism instead of custom tree walking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643860</commentid>
    <comment_count>44</comment_count>
      <attachid>397077</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-21 06:52:25 -0700</bug_when>
    <thetext>Created attachment 397077
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643893</commentid>
    <comment_count>45</comment_count>
      <attachid>397087</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-21 09:20:45 -0700</bug_when>
    <thetext>Created attachment 397087
Patch: using fake paint</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643895</commentid>
    <comment_count>46</comment_count>
      <attachid>397088</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-21 09:21:41 -0700</bug_when>
    <thetext>Created attachment 397088
Patch: using fake paint</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644714</commentid>
    <comment_count>47</comment_count>
      <attachid>397330</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-23 01:48:03 -0700</bug_when>
    <thetext>Created attachment 397330
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646133</commentid>
    <comment_count>48</comment_count>
      <attachid>397716</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-27 12:26:45 -0700</bug_when>
    <thetext>Created attachment 397716
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646180</commentid>
    <comment_count>49</comment_count>
      <attachid>397730</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-27 13:47:33 -0700</bug_when>
    <thetext>Created attachment 397730
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646385</commentid>
    <comment_count>50</comment_count>
      <attachid>397802</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-27 21:45:28 -0700</bug_when>
    <thetext>Created attachment 397802
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646391</commentid>
    <comment_count>51</comment_count>
      <attachid>397808</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-27 22:27:02 -0700</bug_when>
    <thetext>Created attachment 397808
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646614</commentid>
    <comment_count>52</comment_count>
      <attachid>397808</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-28 12:31:35 -0700</bug_when>
    <thetext>Comment on attachment 397808
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=397808&amp;action=review

&gt; Source/WebCore/dom/Document.cpp:3155
&gt; +void Document::reportPaintTimingIfNeeded()

I&apos;d prefer this not be called &quot;report&quot;. It doesn&apos;t synchronously call out to JS (which is good); it enqueues a perf entry, which is dispatched via the task queue (a zero-delay timer).

&gt; Source/WebCore/dom/Document.h:2050
&gt; +    bool m_didReportFirstContentfulPaint { false };

didEnqueue?

&gt; Source/WebCore/page/Page.cpp:1399
&gt; +        document.reportPaintTimingIfNeeded();

This is where &quot;report&quot; terminology is bad. It should be clear that this function does not trigger script synchronously.

&gt; Source/WebCore/platform/graphics/GraphicsContext.h:519
&gt; +    void setContentfulPaintDetected() { m_contenfulPaintDetected = true; }
&gt; +    bool contenfulPaintDetected() const { return m_contenfulPaintDetected; }

We should probably change PaintInvalidationReasons to be less about invalidation, and more general. Then this could just be a value of PaintInvalidationReasons. Same for event region painting.

Not necessary for this patch though.

&gt; Source/WebCore/rendering/TextPainter.cpp:111
&gt; +        if (!textRun.text().toStringWithoutCopying().isAllSpecialCharacters&lt;isHTMLSpace&gt;())

Not sure you need the toStringWithoutCopying() there.

&gt; Source/WebKit/Shared/WebPreferences.yaml:833
&gt; +PaintTimingEnabled:
&gt; +  type: bool
&gt; +  defaultValue: false
&gt; +  humanReadableName: &quot;Paint Timing&quot;
&gt; +  humanReadableDescription: &quot;Enable PaintTiming API&quot;
&gt; +  webcoreBinding: RuntimeEnabledFeatures

This should be &quot;category: experimental&quot; right?

&gt; Tools/WebKitTestRunner/TestController.cpp:939
&gt; +    WKPreferencesSetPaintTimingEnabled(preferences, true);

WTR turns on all experimental features by default. Don&apos;t think you need this.

&gt; LayoutTests/platform/mac-wk1/TestExpectations:567
&gt; +imported/w3c/web-platform-tests/paint-timing  [ Skip ]
&gt; +performance-api/paint-timing-apis.html [ Skip ]
&gt; +performance-api/paint-timing-frames.html [ Skip ]
&gt; +performance-api/paint-timing-with-worker.html [ Skip ]
&gt; +http/tests/performance/performance-paint-timing-fcp-after-visually-non-empty-for-num-chars.html [ Skip ]
&gt; +http/tests/performance/performance-paint-timing-fcp-after-visually-non-empty-for-style.html [ Skip ]
&gt; +performance-api/performance-observer-first-contentful-paint.html [ Skip ]

Please sort.

Can we make performance-api/paint-timing/ and just skip the whole dir?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646620</commentid>
    <comment_count>53</comment_count>
      <attachid>397808</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-28 12:37:41 -0700</bug_when>
    <thetext>Comment on attachment 397808
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=397808&amp;action=review

&gt;&gt; Source/WebCore/dom/Document.cpp:3155
&gt;&gt; +void Document::reportPaintTimingIfNeeded()
&gt; 
&gt; I&apos;d prefer this not be called &quot;report&quot;. It doesn&apos;t synchronously call out to JS (which is good); it enqueues a perf entry, which is dispatched via the task queue (a zero-delay timer).

enqueuePerformanceTimingEntryIfNeeded()?

&gt;&gt; Source/WebCore/page/Page.cpp:1399
&gt;&gt; +        document.reportPaintTimingIfNeeded();
&gt; 
&gt; This is where &quot;report&quot; terminology is bad. It should be clear that this function does not trigger script synchronously.

Got it. changing to enqueuePaintTimingEntryIfNeeded()

&gt;&gt; Source/WebCore/platform/graphics/GraphicsContext.h:519
&gt;&gt; +    bool contenfulPaintDetected() const { return m_contenfulPaintDetected; }
&gt; 
&gt; We should probably change PaintInvalidationReasons to be less about invalidation, and more general. Then this could just be a value of PaintInvalidationReasons. Same for event region painting.
&gt; 
&gt; Not necessary for this patch though.

Yea, I found the &quot;invalidation&quot; terminology a bit misleading. will see if I can do a followup about it

&gt;&gt; Source/WebCore/rendering/TextPainter.cpp:111
&gt;&gt; +        if (!textRun.text().toStringWithoutCopying().isAllSpecialCharacters&lt;isHTMLSpace&gt;())
&gt; 
&gt; Not sure you need the toStringWithoutCopying() there.

Regular toString() is ok here then?

&gt;&gt; Source/WebKit/Shared/WebPreferences.yaml:833
&gt;&gt; +  webcoreBinding: RuntimeEnabledFeatures
&gt; 
&gt; This should be &quot;category: experimental&quot; right?

right.

&gt;&gt; Tools/WebKitTestRunner/TestController.cpp:939
&gt;&gt; +    WKPreferencesSetPaintTimingEnabled(preferences, true);
&gt; 
&gt; WTR turns on all experimental features by default. Don&apos;t think you need this.

ok

&gt;&gt; LayoutTests/platform/mac-wk1/TestExpectations:567
&gt;&gt; +performance-api/performance-observer-first-contentful-paint.html [ Skip ]
&gt; 
&gt; Please sort.
&gt; 
&gt; Can we make performance-api/paint-timing/ and just skip the whole dir?

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646663</commentid>
    <comment_count>54</comment_count>
      <attachid>397880</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-28 13:48:01 -0700</bug_when>
    <thetext>Created attachment 397880
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646673</commentid>
    <comment_count>55</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-28 14:17:48 -0700</bug_when>
    <thetext>&gt; 
&gt; &gt;&gt; Source/WebCore/rendering/TextPainter.cpp:111
&gt; &gt;&gt; +        if (!textRun.text().toStringWithoutCopying().isAllSpecialCharacters&lt;isHTMLSpace&gt;())
&gt; &gt; 
&gt; &gt; Not sure you need the toStringWithoutCopying() there.
&gt; 
&gt; Regular toString() is ok here then?

In other places we just do textRun.text().isAllSpecialCharacters()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646677</commentid>
    <comment_count>56</comment_count>
      <attachid>397886</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-28 14:29:58 -0700</bug_when>
    <thetext>Created attachment 397886
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646702</commentid>
    <comment_count>57</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-28 15:34:57 -0700</bug_when>
    <thetext>Committed r260851: &lt;https://trac.webkit.org/changeset/260851&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 397886.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646703</commentid>
    <comment_count>58</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-28 15:35:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/62551526&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647115</commentid>
    <comment_count>59</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2020-04-29 12:54:06 -0700</bug_when>
    <thetext>The new test http/tests/performance/paint-timing/performance-paint-timing-fcp-after-visually-non-empty-for-num-chars.html

Added in https://trac.webkit.org/changeset/260851/webkit

is a flaky failure on Mac

History:
https://results.webkit.org/?suite=layout-tests&amp;test=http%2Ftests%2Fperformance%2Fpaint-timing%2Fperformance-paint-timing-fcp-after-visually-non-empty-for-num-chars.html

Diff:
--- /Volumes/Data/slave/catalina-release-tests-wk2/build/layout-test-results/http/tests/performance/paint-timing/performance-paint-timing-fcp-after-visually-non-empty-for-num-chars-expected.txt
+++ /Volumes/Data/slave/catalina-release-tests-wk2/build/layout-test-results/http/tests/performance/paint-timing/performance-paint-timing-fcp-after-visually-non-empty-for-num-chars-actual.txt
@@ -1,3 +1,3 @@
-PASS paintEntry.startTime &gt; timestamps[expectedIterations] is true
+FAIL paintEntry.startTime &gt; timestamps[expectedIterations] should be true. Was false.
 PASS paintEntry.startTime &lt; timestamps[expectedIterations + 2] is true</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647127</commentid>
    <comment_count>60</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-29 13:16:53 -0700</bug_when>
    <thetext>(In reply to Truitt Savell from comment #59)
&gt; The new test
&gt; http/tests/performance/paint-timing/performance-paint-timing-fcp-after-
&gt; visually-non-empty-for-num-chars.html
&gt; 
&gt; Added in https://trac.webkit.org/changeset/260851/webkit
&gt; 
&gt; is a flaky failure on Mac
&gt; 
&gt; History:
&gt; https://results.webkit.org/?suite=layout-
&gt; tests&amp;test=http%2Ftests%2Fperformance%2Fpaint-timing%2Fperformance-paint-
&gt; timing-fcp-after-visually-non-empty-for-num-chars.html
&gt; 
&gt; Diff:
&gt; ---
&gt; /Volumes/Data/slave/catalina-release-tests-wk2/build/layout-test-results/
&gt; http/tests/performance/paint-timing/performance-paint-timing-fcp-after-
&gt; visually-non-empty-for-num-chars-expected.txt
&gt; +++
&gt; /Volumes/Data/slave/catalina-release-tests-wk2/build/layout-test-results/
&gt; http/tests/performance/paint-timing/performance-paint-timing-fcp-after-
&gt; visually-non-empty-for-num-chars-actual.txt
&gt; @@ -1,3 +1,3 @@
&gt; -PASS paintEntry.startTime &gt; timestamps[expectedIterations] is true
&gt; +FAIL paintEntry.startTime &gt; timestamps[expectedIterations] should be true.
&gt; Was false.
&gt;  PASS paintEntry.startTime &lt; timestamps[expectedIterations + 2] is true

It&apos;s OK to mark it as flaky for now, and I&apos;ll work on finding a solution for it. VNE tests are a bit difficult... I can prepare a TextExpectations patch tomorrow if someone doesn&apos;t beat me to it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394078</attachid>
            <date>2020-03-20 06:17:01 -0700</date>
            <delta_ts>2020-03-23 11:32:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200320151658.patch</filename>
            <type>text/plain</type>
            <size>133108</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzQyODQ0OGNlMDM2ZDRi
MmJhMDFiOTZiMzVhYjY5YmE1NzY2OGM5ZS4uZWRiYjc2YWRiYTg3N2ViMmFhMjBjODkwMjhkOTYy
YTZmNzBjNzQwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwNyBAQAorMjAyMC0wMy0xOSAgTm9h
bSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAo
Zmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL3BhaW50LXRpbWluZy8jZmlyc3QtY29udGVudGZ1bC1wYWludC4KKyAgICAgICAgQ3Vy
cmVudGx5IG11dHVhbGx5IGV4Y2x1c2l2ZSB0byB2aXN1YWxseS1ub24tZW1wdHkgaGV1cmlzdGlj
cy4KKworICAgICAgICBXaGVuIHRoZSBmcmFtZSBwYWludHMgb3IgZmx1c2hlcyB0aGUgY29tcG9z
aXRpbmcgc3RhdGUsIGl0IG1hcmtzIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgYXMgYSBmaXJz
dC1jb250ZW50ZnVsLXBhaW50IHBlcmZvcm1hbmNlIGVudHJ5LgorCisgICAgICAgIFRlc3RzOiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
YmFja2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Y2FudmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAg
ICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUu
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdmVyZmxvdy5odG1sCisg
ICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LW9wYWNpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXN2Zy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFj
ZS5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1w
YWludC1mcmFtZXMuc3ViLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9wYWlu
dC10aW1pbmctYXBpcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvcGVyZm9y
bWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCisKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5
Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oOiAKKyAgICAgICAgKiBwYWdl
L1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsOgorICAgICAgICAgICAgICAgIEFkZCBuZXcgUGVy
Zm9ybWFuY2VQYWludFRpbWluZyBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBwYWdlL1J1bnRpbWVF
bmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpwYWludFRpbWluZ0VuYWJsZWQgY29uc3QpOgorICAgICAgICAgICAgICAg
IEFkZCBQYWludFRpbWluZ0VuYWJsZWQgcnVudGltZSBmZWF0dXJlIGZsYWcuCisKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpn
ZXRFbnRyaWVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpnZXRFbnRy
aWVzQnlUeXBlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpnZXRFbnRy
aWVzQnlOYW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpyZXBvcnRG
aXJzdENvbnRlbnRmdWxQYWludCk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5oOgorICAg
ICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyk6CisgICAgICAgICogcGFnZS9QZXJm
b3JtYW5jZUVudHJ5Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc1Bh
aW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6
CisgICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIHBhaW50
IGVudHJpZXMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aXNDb250ZW50ZnVsIGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRWxlbWVudDo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVySFRNTENhbnZhczo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6Omhhc093blBhaW50YWJs
ZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck9iamVjdDo6Y29udGFpbnNQYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVmlkZW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlkZW86Omhh
c093blBhaW50YWJsZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJW
aWRlby5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSBjb25zdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aGFz
UGFpbnRhYmxlQmFja2dyb3VuZEltYWdlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVs
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR01vZGVsT2JqZWN0OjpoYXNP
d25QYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR01vZGVsT2JqZWN0Lmg6CisgICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciBjb21wdXRp
bmcgd2hldGhlciBlbGVtZW50cyBhcmUgY29udGVudGZ1bCAmIHBhaW50YWJsZS4KKworICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CitgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzRnJh
bWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpkaWRQYWludENvbnRlbnRzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bWFya1BhaW50VGltaW5nSWZOZWVkZWQpOgorICAg
ICAgICAgICAgICAgIE1hcmsgZmlyc3QtY29udGVudGZ1bC1wYWludCBvbmNlIHdoZW4gY29tcG9z
aXRpbmcvcGFpbnRpbmcuCisKIDIwMjAtMDMtMTUgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFw
cGxlLmNvbT4KIAogICAgICAgICBTaG91bGQgbm90IHVzZSB2YXJpYWJsZS1sZW5ndGgtYXJyYXkg
KFZMQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggNGUyYjNlNjViNWNiZGY1ZTIzMGY3MmZkNDlmOTYyNDAwYTI4MTI1
Ny4uNTgyMjE3NjdkM2NkODQ1MzI1MWY5Y2JjMDlkYTYxNzRlODc2ZTc2NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMCBAQAorMjAyMC0wMy0xNiAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHJ1bnRp
bWUgZmxhZyBmb3IgcGFpbnQtdGltaW5nIChwYWludFRpbWluZ0VuYWJsZWQpLgorCisgICAgICAg
ICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5n
RW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0UGFpbnRUaW1pbmdFbmFibGVkKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24u
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6dXBk
YXRlUHJlZmVyZW5jZXNTdG9yZSk6CisKIDIwMjAtMDMtMTUgIFl1c3VrZSBTdXp1a2kgIDx5c3V6
dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBTaG91bGQgbm90IHVzZSB2YXJpYWJsZS1sZW5ndGgt
YXJyYXkgKFZMQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBmODAyNjdhNTkwZjNk
YjAxM2U1YjRlZjliNTUxNTg5ZGI3NzNlYmUxLi45ODhiNzMwNzM5MDU4MDkwY2MyOWNlYjEyODky
OTNlNGExM2YyZWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMjAtMDMtMTYgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAg
ICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBwcmVmZXJlbmNlIGtleSBm
b3IgcGFpbnQgdGltaW5nLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAo
K1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2Vz
IHBhaW50VGltaW5nRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRQYWlu
dFRpbWluZ0VuYWJsZWQ6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZh
dGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisKIDIwMjAtMDMtMTUgIFl1c3Vr
ZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBTaG91bGQgbm90IHVzZSB2
YXJpYWJsZS1sZW5ndGgtYXJyYXkgKFZMQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRl
eCBmOTg5ODA2MmVmMGQxMjA3NTg3NDU1ZGNhYmFkYmUxMTY3YWI1YzQwLi43N2JiMjkwM2NlMGQ3
OTQ5NmYxNWNiMmM3NGQzYTVjNWViNWZmYTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMDMtMTYgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJr
aXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgcHJl
ZmVyZW5jZSBrZXkgZm9yIHBhaW50LXRpbWluZy4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdl
YlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6CisgICAgICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmg6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBXZWJWaWV3LmNw
cDoKKyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisKIDIwMjAt
MDMtMTIgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2Ug
c3VyZSBhIHByZWZsaWdodCBmYWlscyBpZiByZXNwb25zZSBoZWFkZXJzIGFyZSBpbnZhbGlkCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA0ZDllZGFmMWE2NmI2ZGFkOTU3MTUwYWJj
NjQ5ZDNlZWQyMWY3NjQxLi41M2IyYWU2N2Y0OGY1M2UwZmY2MzFmMzJkNzZiYWE1ZmQxZTUwMzRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTg5NCw2ICs4OTQsNyBAQCBKU19C
SU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIu
aWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRs
IFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwgXAogICAg
ICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDc3ODI2M2U0
YTBiMzE3MzFlM2I1ZjY0ODEwODljMWQwZTMxODU0ODAuLjU2YmNiYmM4YjI2ODkwNTU0MzNjM2Y2
ZmUxYTc5YWJmMzQyMzZiN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0zMTY5LDYgKzMxNjksNyBAQCBK
U1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKIEpT
UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmNwcAogSlNQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0LmNwcAorSlNQZXJmb3JtYW5jZVBhaW50VGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5jcHAKIEpTUGVyZm9y
bWFuY2VUaW1pbmcuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggNzNmM2E5ZjhiNjVlM2QxN2Q5OGNkYTJmZGZkMjAyNmY1ZTIw
OTExNC4uYWU0MDczYjJjMGIwZDEzODhlYzJjMTEzMmY2ZjBlNTA4OGY2NDk3ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTM3
NDgsNiArMTM3NDgsOSBAQAogCQlDQTA5MUQ4NjIzQ0Y5MDc4MDBBRDQzNDYgLyogU3R5bGVJbWFn
ZVNldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUltYWdlU2V0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EwOTFEODkyM0NGOTA4ODAwQUQ0MzQ2IC8qIFN0eWxlSW1h
Z2VTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVJbWFnZVNldC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDQTE2MzVEQzIwNzJFNzY5MDBFN0QyQ0UgLyogUmVmZXJyZXJQb2xpY3ku
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmZXJyZXJQb2xpY3ku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNENDI0MDdDRjZGMDA3MTI0
MUEgLyogUGVyZm9ybWFuY2VQYWludEVudHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNl
UGFpbnRFbnRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNENTI0MDdE
NjQwMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
ZXJmb3JtYW5jZVBhaW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNB
MTkzM0Q4MjQwN0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFu
aW1hdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFu
aW1hdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJB
RTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNjcm9sbEFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNB
NTJCQUU1MjNEMEFGMTYwMERFMEI4NCAvKiBTdHlsZUN1cnNvckltYWdlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFN0eWxlQ3Vyc29ySW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjA4MDgsNiArMjA4MTEsOSBAQAogCQkJCUE1QTk5MzNBMUUzN0ZBRkQwMDVCNUU0RCAv
KiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCAqLywKIAkJCQlBNUE5OTMzQjFFMzdG
QUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oICovLAogCQkJCUE1
QTk5MzNDMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0Lmlk
bCAqLywKKwkJCQlDQTE5MzNENDI0MDdDRjZGMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludEVu
dHJ5LmggKi8sCisJCQkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcuaCAqLywKKwkJCQlDQTE5MzNEODI0MDdFRENGMDA3MTI0MUEgLyogUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5pZGwgKi8sCiAJCQkJODY1MTJFREIxNTRBMkFFRTAwQTkwNDI2IC8qIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICovLAogCQkJCTg2NTEyRURDMTU0QTJBRUYwMEE5
MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8sCiAJCQkJODY1MTJFREQxNTRB
MkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsICovLApAQCAtMzM0
NTEsNiArMzM0NTcsNyBAQAogCQkJCUExMUU4QzA3MUIxRTI4RkUwMDAzQTdDNyAvKiBub3J0aEVh
c3RTb3V0aFdlc3RSZXNpemVDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQlBMTFFOEMw
ODFCMUUyOTAyMDAwM0E3QzcgLyogbm9ydGhTb3V0aFJlc2l6ZUN1cnNvci5wbmcgaW4gUmVzb3Vy
Y2VzICovLAogCQkJCUExMUU4QzA5MUIxRTI5MDcwMDAzQTdDNyAvKiBub3J0aFdlc3RTb3V0aEVh
c3RSZXNpemVDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKKwkJCQlDQTE5MzNEOTI0MDdFRENG
MDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwgaW4gUmVzb3VyY2VzICovLAog
CQkJCTkzMTUzQkRDMTQxOTU5QkMwMEZDRjVCRSAvKiB0ZXh0QXJlYVJlc2l6ZUNvcm5lci5wbmcg
aW4gUmVzb3VyY2VzICovLAogCQkJCTkzNzA5MThEMTQxNkQ4NkIwMDQ3NzMzMyAvKiB0ZXh0QXJl
YVJlc2l6ZUNvcm5lckAyeC5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3Bw
CmluZGV4IDMxNzhhMWZkMDYyYWM0YzljZjNlZDcwNmViYjYyNzg2YzRiNzhiNjUuLmJiZjgxMTE0
MmRhYjllNmE5MmNiNWM2Y2ZhYjA2YjI0NThiYTcxNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcApAQCAtMzUs
OSArMzUsMTEgQEAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU1BlcmZv
cm1hbmNlTWFyay5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNZWFzdXJlLmgiCisjaW5jbHVk
ZSAiSlNQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VNZWFzdXJlLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5o
IgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKIAogCkBAIC00Niw2ICs0
OCw5IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIEpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChK
U0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxQZXJm
b3JtYW5jZUVudHJ5PiYmIGVudHJ5KQogeworICAgIGlmIChpczxQZXJmb3JtYW5jZVBhaW50VGlt
aW5nPihlbnRyeSkpCisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFBlcmZvcm1hbmNlUGFp
bnRUaW1pbmc+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShlbnRyeSkpOworCiAgICAgaWYgKGlzPFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+KGVudHJ5KSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdy
YXBwZXI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVu
dHJ5KSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGlu
TmFtZXMuaAppbmRleCA0NGQ1MGIyMDdjNTM4YTE5NzkyYjRmMzIyNmFmZTY1Mjg3Nzg3MjA5Li4z
MWRkOWUzYzA1ZmRiMGMwZjIyZDA4ZDZlNDI2N2IzNDhjNzMxY2Y5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0xNzksNiArMTc5
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3VyZSkg
XAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNybyhQZXJmb3JtYW5j
ZU9ic2VydmVyRW50cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWluZykg
XAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQZXJm
b3JtYW5jZVNlcnZlclRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCmluZGV4IDJiZTdlNGNmZGU2YTExZWU1M2Y1YjE1NTA1NTc2ZmRjM2VjZGNl
NjMuLjAzMDg1NDNiZjhhNzQxODYzYjI0OWE5YjVhZmMzZWYzNDc1YjQ4NmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAKQEAgLTE2MTAsOSArMTYxMCw4IEBAIE9wdGlvbmFsPHN0ZDo6cGFpcjxSZW5k
ZXJPYmplY3QqLCBGbG9hdFJlY3Q+PiBFbGVtZW50Ojpib3VuZGluZ0Fic29sdXRlUmVjdFdpdGhv
CiAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKHJlbmRlcmVyLCByZXN1bHQpOwogfQogCi1GbG9h
dFJlY3QgRWxlbWVudDo6Ym91bmRpbmdDbGllbnRSZWN0KCkKK0Zsb2F0UmVjdCBFbGVtZW50Ojpi
b3VuZGluZ0NsaWVudFJlY3RXaXRob3V0TGF5b3V0KCkKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0
ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogICAgIGF1dG8gcGFpciA9IGJvdW5k
aW5nQWJzb2x1dGVSZWN0V2l0aG91dExheW91dCgpOwogICAgIGlmICghcGFpcikKICAgICAgICAg
cmV0dXJuIHsgfTsKQEAgLTE2MjIsNiArMTYyMSwxMiBAQCBGbG9hdFJlY3QgRWxlbWVudDo6Ym91
bmRpbmdDbGllbnRSZWN0KCkKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitGbG9hdFJlY3QgRWxl
bWVudDo6Ym91bmRpbmdDbGllbnRSZWN0KCkKK3sKKyAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91
dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIHJldHVybiBib3VuZGluZ0NsaWVudFJl
Y3RXaXRob3V0TGF5b3V0KCk7Cit9CisKIFJlZjxET01SZWN0PiBFbGVtZW50OjpnZXRCb3VuZGlu
Z0NsaWVudFJlY3QoKQogewogICAgIHJldHVybiBET01SZWN0OjpjcmVhdGUoYm91bmRpbmdDbGll
bnRSZWN0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggMmE1OThkMjFmMDJhZTAwOTAxNjQzNGU3
YTNjNjMzMzRmYzhiMjQwOC4uNDcwZjJiMmU0MTQ4OGE5NTk4MWUwY2E5NDY1ODA4MjJjMTQ4YWFl
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC0xOTIsNiArMTkyLDcgQEAgcHVibGljOgogICAgIE9w
dGlvbmFsPHN0ZDo6cGFpcjxSZW5kZXJPYmplY3QqLCBGbG9hdFJlY3Q+PiBib3VuZGluZ0Fic29s
dXRlUmVjdFdpdGhvdXRMYXlvdXQoKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIEZsb2F0UmVjdCBi
b3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICBGbG9hdFJlY3QgYm91bmRpbmdDbGllbnRSZWN0V2l0
aG91dExheW91dCgpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgUmVmPERPTVJlY3RMaXN0PiBnZXRD
bGllbnRSZWN0cygpOwogICAgIFJlZjxET01SZWN0PiBnZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA1YzBkYWI4NGUwMGIzNzg2ZTA1NDc0Yzk4
OWM1ODM5ZGExNWFhMWViLi42ZjFlMjU1ODE3ODFhMDgxZTk5NTEzOGIxMjE3M2MzZmJkM2FiZjk4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC03MSw2ICs3MSw3IEBACiAjaW5jbHVk
ZSAiT3ZlcmZsb3dFdmVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlT3Zl
cmxheUNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgogI2luY2x1ZGUgIlBy
b2dyZXNzVHJhY2tlci5oIgogI2luY2x1ZGUgIlJlbmRlckVtYmVkZGVkT2JqZWN0LmgiCiAjaW5j
bHVkZSAiUmVuZGVyRnVsbFNjcmVlbi5oIgpAQCAtOTgxLDYgKzk4Miw3IEBAIGJvb2wgRnJhbWVW
aWV3OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzRnJhbWUoY29uc3QgRnJhbWUmIHJvb3RG
cmFtZUZvckZsdXNoCiAjZW5kaWYKIAogICAgIHJlbmRlclZpZXctPmNvbXBvc2l0b3IoKS5mbHVz
aFBlbmRpbmdMYXllckNoYW5nZXMoJnJvb3RGcmFtZUZvckZsdXNoID09IG1fZnJhbWUucHRyKCkp
OworICAgIG1hcmtQYWludFRpbWluZ0lmTmVlZGVkKCk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0K
QEAgLTQwOTEsNiArNDA5MywzMyBAQCB2b2lkIEZyYW1lVmlldzo6d2lsbFBhaW50Q29udGVudHMo
R3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiwgUGFpbgogICAgIG1faXNQ
YWludGluZyA9IHRydWU7CiB9CiAKK3ZvaWQgRnJhbWVWaWV3OjptYXJrUGFpbnRUaW1pbmdJZk5l
ZWRlZCgpCit7CisgICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnBhaW50VGltaW5nRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9k
aWRNYXJrRmlyc3RDb250ZW50ZnVsUGFpbnQpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChu
ZWVkc0xheW91dCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBjb25zdCBhdXRvKiBkb2N1bWVu
dCA9IGZyYW1lKCkuZG9jdW1lbnQoKTsKKyAgICBjb25zdCBhdXRvKiB3aW5kb3cgPSBkb2N1bWVu
dC0+ZG9tV2luZG93KCk7CisgICAgaWYgKCF3aW5kb3cpCisgICAgICAgIHJldHVybjsKKworICAg
IC8vIE9ubHkgYWxsb3dpbmcgbWFpbiBvciBzYW1lLW9yaWdpbiBmcmFtZXMgdG8gbWFyayBwYWlu
dCB0aW1pbmcsIG90aGVyd2lzZSBtYWluLWZyYW1lIGluZm9ybWF0aW9uIG1heSBsZWFrIHRvIGNy
b3NzLW9yaWdpbiBmcmFtZXMuCisgICAgaWYgKCFmcmFtZSgpLmlzTWFpbkZyYW1lKCkgJiYgIWRv
Y3VtZW50LT5zZWN1cml0eU9yaWdpbigpLmNhbkFjY2VzcyhmcmFtZSgpLm1haW5GcmFtZSgpLmRv
Y3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAo
IXJlbmRlclZpZXcoKS0+Y29udGFpbnNQYWludGFibGVDb250ZW50KCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIG1fZGlkTWFya0ZpcnN0Q29udGVudGZ1bFBhaW50ID0gdHJ1ZTsKKyAgICB3aW5k
b3ctPnBlcmZvcm1hbmNlKCkucmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKK30KKwogdm9p
ZCBGcmFtZVZpZXc6OmRpZFBhaW50Q29udGVudHMoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBj
b25zdCBJbnRSZWN0JiBkaXJ0eVJlY3QsIFBhaW50aW5nU3RhdGUmIHBhaW50aW5nU3RhdGUpCiB7
CiAgICAgbV9pc1BhaW50aW5nID0gZmFsc2U7CkBAIC00MTA1LDYgKzQxMzQsOCBAQCB2b2lkIEZy
YW1lVmlldzo6ZGlkUGFpbnRDb250ZW50cyhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0
IEludFJlY3QmIGRpcnR5UgogICAgICAgICBzQ3VycmVudFBhaW50VGltZVN0YW1wID0gTW9ub3Rv
bmljVGltZSgpOwogCiAgICAgaWYgKCFjb250ZXh0LnBhaW50aW5nRGlzYWJsZWQoKSkgeworICAg
ICAgICBpZiAocGFpbnRpbmdTdGF0ZS5pc1RvcExldmVsUGFpbnRlcikKKyAgICAgICAgICAgIG1h
cmtQYWludFRpbWluZ0lmTmVlZGVkKCk7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkUGFpbnQoKnJlbmRlclZpZXcoKSwgZGlydHlSZWN0KTsKICAgICAgICAgLy8gRklYTUU6
IHNob3VsZCBwcm9iYWJseSBub3QgZmlyZSBtaWxlc3RvbmVzIGZvciBzbmFwc2hvdCBwYWludGlu
Zy4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzYyMwogICAgICAg
ICBmaXJlUGFpbnRSZWxhdGVkTWlsZXN0b25lc0lmTmVlZGVkKCk7CkBAIC01MTIyLDYgKzUxNTMs
NyBAQCB2b2lkIEZyYW1lVmlldzo6ZmlyZUxheW91dFJlbGF0ZWRNaWxlc3RvbmVzSWZOZWVkZWQo
KQogICAgIGlmIChtaWxlc3RvbmVzQWNoaWV2ZWQgJiYgZnJhbWUoKS5pc01haW5GcmFtZSgpKSB7
CiAgICAgICAgIGlmIChtaWxlc3RvbmVzQWNoaWV2ZWQuY29udGFpbnMoRGlkRmlyc3RWaXN1YWxs
eU5vbkVtcHR5TGF5b3V0KSkKICAgICAgICAgICAgIEZSQU1FVklFV19SRUxFQVNFX0xPR19JRl9B
TExPV0VEKExheW91dCwgImZpcmVMYXlvdXRSZWxhdGVkTWlsZXN0b25lc0lmTmVlZGVkOiBGaXJp
bmcgZmlyc3QgdmlzdWFsbHkgbm9uLWVtcHR5IGxheW91dCBtaWxlc3RvbmUgb24gdGhlIG1haW4g
ZnJhbWUiKTsKKwogICAgICAgICBmcmFtZSgpLmxvYWRlcigpLmRpZFJlYWNoTGF5b3V0TWlsZXN0
b25lKG1pbGVzdG9uZXNBY2hpZXZlZCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgK
aW5kZXggZGE2MWExODE4ZWMwNTk1ZmRiM2ExZWNiNDljZTk5NTJiMzU4NTFlMS4uNTA1ZmM2Y2Vi
NWI3MTcxMzUxODZlY2IzZDdkZmQ5ZDhlYWU1YzUyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5o
CkBAIC04MTcsNiArODE3LDkgQEAgcHJpdmF0ZToKICAgICB9OwogICAgIHZvaWQgb3ZlcnJpZGVW
aWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKE92ZXJyaWRlVmlld3BvcnRTaXplKTsKIAor
ICAgIHZvaWQgbWFya1BhaW50VGltaW5nSWZOZWVkZWQoKTsKKyAgICBib29sIG1fZGlkTWFya0Zp
cnN0Q29udGVudGZ1bFBhaW50IHsgZmFsc2UgfTsKKwogICAgIHN0YXRpYyBNb25vdG9uaWNUaW1l
IHNDdXJyZW50UGFpbnRUaW1lU3RhbXA7IC8vIHVzZWQgZm9yIGRldGVjdGluZyBkZWNvZGVkIHJl
c291cmNlIHRocmFzaCBpbiB0aGUgY2FjaGUKIAogICAgIGNvbnN0IFJlZjxGcmFtZT4gbV9mcmFt
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKaW5kZXggY2JiYWMyMWQ0MDA1YjFiMGUx
MTgwMjJmN2FhMTRhOGJjZmVkODUyNC4uOGE4Yzg3MTI0ODUwMjVkNGNmMTU1YWFhODQxMmZiOTll
MWM2NjFmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKQEAgLTQyLDYgKzQyLDcg
QEAKICNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNlcnZlci5oIgorI2luY2x1ZGUg
IlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJm
b3JtYW5jZVVzZXJUaW1pbmcuaCIKQEAgLTEyNCw2ICsxMjUsOSBAQCBWZWN0b3I8UmVmUHRyPFBl
cmZvcm1hbmNlRW50cnk+PiBQZXJmb3JtYW5jZTo6Z2V0RW50cmllcygpIGNvbnN0CiAgICAgICAg
IGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWVhc3VyZXMoKSk7CiAgICAg
fQogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpCisgICAgICAgIGVudHJpZXMuYXBw
ZW5kKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworCiAgICAgc3RkOjpzb3J0KGVudHJpZXMuYmVn
aW4oKSwgZW50cmllcy5lbmQoKSwgUGVyZm9ybWFuY2VFbnRyeTo6c3RhcnRUaW1lQ29tcGFyZUxl
c3NUaGFuKTsKICAgICByZXR1cm4gZW50cmllczsKIH0KQEAgLTEzNSw2ICsxMzksOSBAQCBWZWN0
b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlw
ZShjb25zdCBTdHJpbmcmIGVudAogICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2Fz
ZShlbnRyeVR5cGUsICJyZXNvdXJjZSIpKQogICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3Rvciht
X3Jlc291cmNlVGltaW5nQnVmZmVyKTsKIAorICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FT
Q0lJQ2FzZShlbnRyeVR5cGUsICJwYWludCIpICYmIG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpCisg
ICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworCiAgICAgaWYg
KG1fdXNlclRpbWluZykgewogICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNh
c2UoZW50cnlUeXBlLCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3Io
bV91c2VyVGltaW5nLT5nZXRNYXJrcygpKTsKQEAgLTE1Nyw2ICsxNjQsOSBAQCBWZWN0b3I8UmVm
UHRyPFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZShjb25z
dCBTdHJpbmcmIG5hbQogICAgICAgICB9CiAgICAgfQogCisgICAgaWYgKChlbnRyeVR5cGUuaXNO
dWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQi
KSkgJiYgbmFtZSA9PSAiZmlyc3QtY29udGVudGZ1bC1wYWludCIgJiYgbV9maXJzdENvbnRlbnRm
dWxQYWludCkKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7
CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlbnRyeVR5cGUuaXNOdWxs
KCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAibWFyayIpKQog
ICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNYXJrcyhu
YW1lKSk7CkBAIC0xODAsNiArMTkwLDEyIEBAIHZvaWQgUGVyZm9ybWFuY2U6OnNldFJlc291cmNl
VGltaW5nQnVmZmVyU2l6ZSh1bnNpZ25lZCBzaXplKQogICAgIG1fcmVzb3VyY2VUaW1pbmdCdWZm
ZXJGdWxsRmxhZyA9IGZhbHNlOwogfQogCit2b2lkIFBlcmZvcm1hbmNlOjpyZXBvcnRGaXJzdENv
bnRlbnRmdWxQYWludCgpCit7CisgICAgbV9maXJzdENvbnRlbnRmdWxQYWludCA9IFBlcmZvcm1h
bmNlUGFpbnRUaW1pbmc6OmNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KG5vdygpKTsKKyAgICBx
dWV1ZUVudHJ5KCptX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKK30KKwogdm9pZCBQZXJmb3JtYW5j
ZTo6YWRkUmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRpbWluZykKIHsK
ICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2UuaAppbmRleCBkNWIxMWMyMWY3ZTY5NzJmMjEyMDdjYmE3NTc2Mzg5MWE3Y2I1MWYzLi5i
NDcwZjg3YjIyMTJlMThjZGNkNmZhYWZiMjAyNmE2Y2UyZWY3OTE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZS5oCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIK
ICNpbmNsdWRlICJHZW5lcmljVGFza1F1ZXVlLmgiCiAjaW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0
Lmg+CisjaW5jbHVkZSA8d3RmL09wdGlvblNldC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTQ1LDYgKzQ2LDcgQEAgY2xhc3MgTG9hZFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNlRW50
cnk7CiBjbGFzcyBQZXJmb3JtYW5jZU5hdmlnYXRpb247CiBjbGFzcyBQZXJmb3JtYW5jZU9ic2Vy
dmVyOworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNlVGlt
aW5nOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291cmNlVGltaW5nOwpAQCAt
NzcsNiArNzksOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZFJlc291cmNlVGltaW5nKFJlc291
cmNlVGltaW5nJiYpOwogCisgICAgdm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOwor
CiAgICAgdm9pZCByZW1vdmVBbGxPYnNlcnZlcnMoKTsKICAgICB2b2lkIHJlZ2lzdGVyUGVyZm9y
bWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CiAgICAgdm9pZCB1bnJlZ2lzdGVy
UGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CkBAIC0xMjEsNiArMTI1
LDcgQEAgcHJpdmF0ZToKIAogICAgIE1vbm90b25pY1RpbWUgbV90aW1lT3JpZ2luOwogCisgICAg
UmVmUHRyPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IG1fZmlyc3RDb250ZW50ZnVsUGFpbnQ7CiAg
ICAgc3RkOjp1bmlxdWVfcHRyPFVzZXJUaW1pbmc+IG1fdXNlclRpbWluZzsKIAogICAgIEdlbmVy
aWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV9wZXJmb3JtYW5jZVRpbWVsaW5l
VGFza1F1ZXVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKaW5kZXgg
OTRjM2VjYTZjM2E0YmMxZDA4ZTdhYWVjYzYyZGQ5MmVhYzk4NTJkZC4uNDJjMDUxZTg1ZTIyYzEy
ZjdmY2IzMzU0YmQ5OTExOThiZjI3Mzc4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlRW50cnkuY3BwCkBAIC02NCw2ICs2NCwxMSBAQCBPcHRpb25hbDxQZXJmb3JtYW5jZUVudHJ5
OjpUeXBlPiBQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyhjb25zdCBTdAog
ICAgICAgICAgICAgcmV0dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6OlJlc291cmNlKTsKICAgICB9
CiAKKyAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5wYWlu
dFRpbWluZ0VuYWJsZWQoKSkgeworICAgICAgICBpZiAoZW50cnlUeXBlID09ICJwYWludCIpCisg
ICAgICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlwZTo6UGFpbnQpOworICAgIH0KKwog
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5LmgKaW5kZXggOWI0ZjFlNTUzODc4M2JlN2IyZDM1NGI3YTNlOGFlMTk3MWE4NDc4MC4u
MzVjOWQ4ODdhNThlZTQ5OWIwNTk0ZjliMmFmM2EyNjM0MjgzNGNjMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgICAg
ICBNYXJrID0gMSA8PCAxLAogICAgICAgICBNZWFzdXJlID0gMSA8PCAyLAogICAgICAgICBSZXNv
dXJjZSA9IDEgPDwgMywKKyAgICAgICAgUGFpbnQgPSAxIDw8IDQKICAgICB9OwogCiAgICAgdmly
dHVhbCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC02Miw2ICs2Myw3IEBAIHB1YmxpYzoKICAg
ICBib29sIGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UmVzb3Vy
Y2U7IH0KICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpN
YXJrOyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlw
ZTo6TWVhc3VyZTsgfQorICAgIGJvb2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9
PSBUeXBlOjpQYWludDsgfQogCiAgICAgc3RhdGljIGJvb2wgc3RhcnRUaW1lQ29tcGFyZUxlc3NU
aGFuKGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYSwgY29uc3QgUmVmUHRyPFBlcmZv
cm1hbmNlRW50cnk+JiBiKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuY3BwCmluZGV4IDkyNDM1MDQwMmJjMjYxYmQwYWU5ZTc0NmE3NTAzZjQwNGNhZjgz
N2EuLjZjMWRjMmYwMjRiM2ExODk3YTJhYzM0ZmU5OWI4OGQ4YWVjNjI4NTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcApAQCAtMTIwLDYgKzEyMCw3IEBA
IFZlY3RvcjxTdHJpbmc+IFBlcmZvcm1hbmNlT2JzZXJ2ZXI6OnN1cHBvcnRlZEVudHJ5VHlwZXMo
KQogICAgICAgICAvLyAibmF2aWdhdGlvbiJfcywKICAgICAgICAgIm1hcmsiX3MsCiAgICAgICAg
ICJtZWFzdXJlIl9zLAorICAgICAgICAicGFpbnQiX3MsCiAgICAgICAgICJyZXNvdXJjZSJfcwog
ICAgIH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFp
bnRUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmNhZWFhZDgwNWFhM2Y2NmE1NTg5YjJkNGQ4ZDJlNTVhMDAwZDM0MTQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1p
bmcuaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRp
YSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVyZm9ybWFu
Y2VFbnRyeS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgZmluYWwgOiBwdWJsaWMg
UGVyZm9ybWFuY2VFbnRyeSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZVBh
aW50VGltaW5nPiBjcmVhdGVGaXJzdENvbnRlbnRmdWxQYWludChkb3VibGUgdGltZVN0YW1wKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VQYWludFRpbWlu
ZygiZmlyc3QtY29udGVudGZ1bC1wYWludCJfcywgdGltZVN0YW1wKSk7CisgICAgfQorCitwcml2
YXRlOgorICAgIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoY29uc3QgU3RyaW5nJiBuYW1lLCBkb3Vi
bGUgdGltZVN0YW1wKQorICAgICAgICA6IFBlcmZvcm1hbmNlRW50cnkobmFtZSwgdGltZVN0YW1w
LCB0aW1lU3RhbXApCisgICAgeworICAgIH0KKworICAgIEFTQ0lJTGl0ZXJhbCBlbnRyeVR5cGUo
KSBjb25zdCBmaW5hbCB7IHJldHVybiAicGFpbnQiX3M7IH0KKyAgICBUeXBlIHR5cGUoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBUeXBlOjpQYWludDsgfQorCisgICAgflBlcmZvcm1hbmNlUGFpbnRU
aW1pbmcoKSA9IGRlZmF1bHQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6UGVyZm9ybWFuY2VQYWludFRpbWluZykK
KyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeSYg
ZW50cnkpIHsgcmV0dXJuIGVudHJ5LmlzUGFpbnQoKTsgfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlU
U19FTkQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50
VGltaW5nLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZWQzNDY0MTEyMDc1NjcwYTAxMDZiNjNkMzVhZmYwZTQ1NDc1ZDE0ZQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRp
bWluZy5pZGwKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBXaWtp
TWVkaWEgRm91bmRhdGlvbi4gQWxsIFJpZ2h0cyBSZXNlcnZlLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5p
by9wYWludC10aW1pbmcvCisKK3R5cGVkZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1lU3RhbXA7CisK
K1sKKyAgICBFbmFibGVkQXRSdW50aW1lPVBhaW50VGltaW5nLAorICAgIEV4cG9zZWQ9KFdpbmRv
dyksCitdIGludGVyZmFjZSBQZXJmb3JtYW5jZVBhaW50VGltaW5nIDogUGVyZm9ybWFuY2VFbnRy
eSB7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApp
bmRleCA1ZDFhZmRiZWQ1NWUzNmZlYjEwZjRlMzUwMzcxMDI2OWYzN2VlOWFlLi5lNWE3NTVlNWY2
OTMwZTI2Y2IwMTI3OWIzNmUxN2MyODI1Njc2NzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtNjIsNiArNjIsOSBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRVc2VyVGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzVXNlclRpbWlu
Z0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHVzZXJUaW1pbmdFbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9pc1VzZXJUaW1pbmdFbmFibGVkOyB9CiAKKyAgICB2b2lkIHNldFBhaW50
VGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzUGFpbnRUaW1pbmdFbmFibGVkID0g
aXNFbmFibGVkOyB9CisgICAgYm9vbCBwYWludFRpbWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVy
biBtX2lzUGFpbnRUaW1pbmdFbmFibGVkOyB9CisKICAgICBib29sIHBlcmZvcm1hbmNlVGltZWxp
bmVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gcmVzb3VyY2VUaW1pbmdFbmFibGVkKCkgfHwgdXNl
clRpbWluZ0VuYWJsZWQoKTsgfQogCiAgICAgdm9pZCBzZXRTaGFkb3dET01FbmFibGVkKGJvb2wg
aXNFbmFibGVkKSB7IG1faXNTaGFkb3dET01FbmFibGVkID0gaXNFbmFibGVkOyB9CkBAIC00MTks
NiArNDIyLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNMaW5rUHJlbG9hZEVuYWJsZWQgeyB0
cnVlIH07CiAgICAgYm9vbCBtX2lzTGlua1ByZWZldGNoRW5hYmxlZCB7IGZhbHNlIH07CiAgICAg
Ym9vbCBtX2lzTWVkaWFQcmVsb2FkaW5nRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lz
UGFpbnRUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNSZXNvdXJjZVRpbWlu
Z0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1VzZXJUaW1pbmdFbmFibGVkIHsgZmFs
c2UgfTsKICAgICBib29sIG1faXNJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCB7IGZh
bHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKaW5kZXgg
ODc3ZjQ4MDZhN2M3NmJiMmFmZTg0M2NhNDhjYzZmMjE1YjJhZmQ0Yi4uYzdkZTNkOWVmMjk3NGIy
YzMyYTA5NmQ5YjBlZjU1MDI3ZjU2MDRhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcApAQCAtMzI5LDYgKzMyOSw1MCBAQCBTdHlsZURpZmZlcmVuY2UgUmVu
ZGVyRWxlbWVudDo6YWRqdXN0U3R5bGVEaWZmZXJlbmNlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBP
cHRpbwogICAgIHJldHVybiBkaWZmOwogfQogCitib29sIFJlbmRlckVsZW1lbnQ6OmNvbnRhaW5z
UGFpbnRhYmxlQ29udGVudCgpIGNvbnN0Cit7CisgICAgaWYgKCFvcGFjaXR5KCkgfHwgaXNTVkdI
aWRkZW5Db250YWluZXIoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byBoYXNQ
b3RlbnRpYWxseVZpc2libGVSZWdpb25zID0gWyZdKCkgeworICAgICAgICBpZiAoc3R5bGUoKS52
aXNpYmlsaXR5KCkgIT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgICAgICBhdXRvIGRvY3VtZW50UmVjdCA9IHZpZXcoKS5kb2N1bWVudFJlY3Qo
KTsKKworICAgICAgICBpZiAoYXV0byogY3VycmVudCA9IGVsZW1lbnQoKSkKKyAgICAgICAgICAg
IHJldHVybiBjdXJyZW50LT5ib3VuZGluZ0NsaWVudFJlY3RXaXRob3V0TGF5b3V0KCkuaW50ZXJz
ZWN0cyhkb2N1bWVudFJlY3QpOworCisgICAgICAgIHJldHVybiBpc1Zpc2libGVJbkRvY3VtZW50
UmVjdChkb2N1bWVudFJlY3QpOworICAgIH07CisKKyAgICBpZiAoaXNDb250ZW50ZnVsKCkgJiYg
aGFzUG90ZW50aWFsbHlWaXNpYmxlUmVnaW9ucygpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgIGZvciAoY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJPYmplY3QgPSBmaXJzdENoaWxkKCk7
IHJlbmRlck9iamVjdDsgcmVuZGVyT2JqZWN0ID0gcmVuZGVyT2JqZWN0LT5uZXh0U2libGluZygp
KSB7CisgICAgICAgIGlmIChyZW5kZXJPYmplY3QtPmNvbnRhaW5zUGFpbnRhYmxlQ29udGVudCgp
KQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOwor
fQorCitib29sIFJlbmRlckVsZW1lbnQ6OmlzQ29udGVudGZ1bCgpIGNvbnN0Cit7CisgICAgaWYg
KGhhc093blBhaW50YWJsZUNvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBp
ZiAoc3R5bGUoKS5oYXNQYWludGFibGVCYWNrZ3JvdW5kSW1hZ2UoKSkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8UmVuZGVyT2Jq
ZWN0PigqdGhpcykpIHsKKyAgICAgICAgaWYgKGlzPFJlbmRlclRleHQ+KGNoaWxkKSAmJiAhZG93
bmNhc3Q8UmVuZGVyVGV4dD4oY2hpbGQpLmlzQWxsQ29sbGFwc2libGVXaGl0ZXNwYWNlKCkpCisg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
IGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6Omhhc0ltbWVkaWF0ZU5vbldoaXRlc3BhY2VUZXh0
Q2hpbGRPckJvcmRlck9yT3V0bGluZSgpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvJiBjaGlsZCA6
IGNoaWxkcmVuT2ZUeXBlPFJlbmRlck9iamVjdD4oKnRoaXMpKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCA1NzJhNWE0MzdlNjllMjBlNTIxNjQ0ODdmYjZm
YmNhMzdiZjcxMGVkLi5kY2FiYTFlMGVlYTI5ZmNhZGU3YTQwOWM5ZjRkNTM2MWMxOTE3Nzc3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTEwMCw2ICsxMDAs
OCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlydHlMaW5lc0Zyb21DaGFuZ2VkQ2hp
bGQoUmVuZGVyT2JqZWN0JikgeyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgaGFzT3duUGFpbnRhYmxl
Q29udGVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisKICAgICBib29sIGFuY2VzdG9yTGlu
ZUJveERpcnR5KCkgY29uc3QgeyByZXR1cm4gbV9hbmNlc3RvckxpbmVCb3hEaXJ0eTsgfQogICAg
IHZvaWQgc2V0QW5jZXN0b3JMaW5lQm94RGlydHkoYm9vbCBmID0gdHJ1ZSk7CiAKQEAgLTEzOSw2
ICsxNDEsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1RyYW5zcGFyZW50KCkgY29uc3QgeyByZXR1
cm4gc3R5bGUoKS5vcGFjaXR5KCkgPCAxLjBmOyB9CiAgICAgZmxvYXQgb3BhY2l0eSgpIGNvbnN0
IHsgcmV0dXJuIHN0eWxlKCkub3BhY2l0eSgpOyB9CiAKKyAgICBib29sIGNvbnRhaW5zUGFpbnRh
YmxlQ29udGVudCgpIGNvbnN0IGZpbmFsOworCiAgICAgYm9vbCB2aXNpYmxlVG9IaXRUZXN0aW5n
KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS52aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6Vmlz
aWJsZSAmJiBzdHlsZSgpLnBvaW50ZXJFdmVudHMoKSAhPSBQb2ludGVyRXZlbnRzOjpOb25lOyB9
CiAKICAgICBib29sIGhhc0JhY2tncm91bmQoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLmhhc0Jh
Y2tncm91bmQoKTsgfQpAQCAtMzE2LDYgKzMyMCw4IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlx
dWVfcHRyPFJlbmRlclN0eWxlPiBjb21wdXRlRmlyc3RMaW5lU3R5bGUoKSBjb25zdDsKICAgICB2
b2lkIGludmFsaWRhdGVDYWNoZWRGaXJzdExpbmVTdHlsZSgpOwogCisgICAgYm9vbCBpc0NvbnRl
bnRmdWwoKSBjb25zdDsKKwogICAgIGJvb2wgY2FuRGVzdHJveURlY29kZWREYXRhKCkgZmluYWwg
eyByZXR1cm4gIWlzVmlzaWJsZUluVmlld3BvcnQoKTsgfQogICAgIFZpc2libGVJblZpZXdwb3J0
U3RhdGUgaW1hZ2VGcmFtZUF2YWlsYWJsZShDYWNoZWRJbWFnZSYsIEltYWdlQW5pbWF0aW5nU3Rh
dGUsIGNvbnN0IEludFJlY3QqIGNoYW5nZVJlY3QpIGZpbmFsOwogICAgIHZvaWQgZGlkUmVtb3Zl
Q2FjaGVkSW1hZ2VDbGllbnQoQ2FjaGVkSW1hZ2UmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmNwcAppbmRleCBkMTkyYzczMTNhNDE1MjVkMmNh
MjU1ZjZlMjNlZmJhOTQ0ODVkZGQxLi5iNjAyZmI0OWI5NzEyM2NiZmUyZDc3ZTMxYTg3Mzg3ZDVi
NGJjNzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENh
bnZhcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMu
Y3BwCkBAIC01MCw2ICs1MCwxMSBAQCBSZW5kZXJIVE1MQ2FudmFzOjpSZW5kZXJIVE1MQ2FudmFz
KEhUTUxDYW52YXNFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eQogewogfQogCiti
b29sIFJlbmRlckhUTUxDYW52YXM6Omhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdAorewor
ICAgIHJldHVybiAhIWNhbnZhc0VsZW1lbnQoKS5yZW5kZXJpbmdDb250ZXh0KCk7Cit9CisKIEhU
TUxDYW52YXNFbGVtZW50JiBSZW5kZXJIVE1MQ2FudmFzOjpjYW52YXNFbGVtZW50KCkgY29uc3QK
IHsKICAgICByZXR1cm4gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KG5vZGVGb3JOb25Bbm9u
eW1vdXMoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRN
TENhbnZhcy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaApp
bmRleCBmZjM1NjNjNzgzNzZlMjUwYzNmN2Q5MjJlMWNmMTE5MmY0NDYwYzUxLi45YzRjNzQ3YTk2
NmY5YWJlOWYwNmRiOWNhYzRhNzQyOWJlMzk3MDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJIVE1MQ2FudmFzLmgKQEAgLTQ0LDYgKzQ0LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGVsZW1lbnQoKSBjb25zdCA9IGRlbGV0ZTsKICAgICBib29sIHJlcXVpcmVzTGF5ZXIoKSBj
b25zdCBvdmVycmlkZTsKICAgICBib29sIGlzQ2FudmFzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gdHJ1ZTsgfQorICAgIGJvb2wgaGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IG92ZXJy
aWRlOwogICAgIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biAiUmVuZGVySFRNTENhbnZhcyI7IH0KICAgICB2b2lkIHBhaW50UmVwbGFjZWQoUGFpbnRJbmZv
JiwgY29uc3QgTGF5b3V0UG9pbnQmKSBvdmVycmlkZTsKICAgICB2b2lkIGludHJpbnNpY1NpemVD
aGFuZ2VkKCkgb3ZlcnJpZGUgeyBjYW52YXNTaXplQ2hhbmdlZCgpOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCAzNWRiMDAwMGYxNzYxNTdiN2E0OWUzYzU1
Nzk5ZTRiMTEyZmZiOGYzLi40YmY3Nzg2YjRhN2YxM2U5MTJkZDM2ZmJkNjVjOTVmM2NhMjhlN2Yz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTMzOSw2ICsz
MzksMTEgQEAgdm9pZCBSZW5kZXJJbWFnZTo6dXBkYXRlSW50cmluc2ljU2l6ZUlmTmVlZGVkKGNv
bnN0IExheW91dFNpemUmIG5ld1NpemUpCiAgICAgc2V0SW50cmluc2ljU2l6ZShuZXdTaXplKTsK
IH0KIAorYm9vbCBSZW5kZXJJbWFnZTo6aGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1faW1hZ2VSZXNvdXJjZS0+Y2FjaGVkSW1hZ2UoKSAmJiAhbV9pbWFnZVJl
c291cmNlLT5pbWFnZVNpemUoMSkuaXNFbXB0eSgpOworfQorCiB2b2lkIFJlbmRlckltYWdlOjp1
cGRhdGVJbm5lckNvbnRlbnRSZWN0KCkKIHsKICAgICAvLyBQcm9wYWdhdGUgY29udGFpbmVyIHNp
emUgdG8gaW1hZ2UgcmVzb3VyY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5o
CmluZGV4IDFkZDY2NWM5M2Q4YjQ0YzdjMjU1ZDcxZGE1N2Q4MmEzMzhhNjAyOTcuLmQ0NjE0NDY1
OTVhNzIzZmExMDg0NzEwYTU2OGY1ZDA4OTVlMjhhZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbWFnZS5oCkBAIC03Niw2ICs3Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwg
Ym9vbCBzaG91bGREaXNwbGF5QnJva2VuSW1hZ2VJY29uKCkgY29uc3Q7CiAKKyAgICBib29sIGhh
c093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGhhc05vbkJp
dG1hcEltYWdlKCkgY29uc3Q7CiAKICAgICBib29sIGlzRWRpdGFibGVJbWFnZSgpIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDgxM2IzMWZmMWNhMDg3
ZjcyMzZkZTQ1ODMzYTBiMGI5MDY3N2I4NTAuLmUyMzlhNzdlMzZhODdkMDFjYmZhZjk3OWJhZTJk
MTU5NTg5Y2E4ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAg
LTI3OCw2ICsyNzgsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJTY3Jv
bGxiYXJQYXJ0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIHZpcnR1YWwgYm9vbCBj
b250YWluc1BhaW50YWJsZUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCiAgICAg
Ym9vbCBpc0RvY3VtZW50RWxlbWVudFJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gZG9jdW1lbnQo
KS5kb2N1bWVudEVsZW1lbnQoKSA9PSAmbV9ub2RlOyB9CiAgICAgYm9vbCBpc0JvZHkoKSBjb25z
dCB7IHJldHVybiBub2RlKCkgJiYgbm9kZSgpLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6Ym9keVRh
Zyk7IH0KICAgICBib29sIGlzSFIoKSBjb25zdCB7IHJldHVybiBub2RlKCkgJiYgbm9kZSgpLT5o
YXNUYWdOYW1lKEhUTUxOYW1lczo6aHJUYWcpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZGVvLmNwcAppbmRleCBmODBjMjAzM2RjNjc1ZjMyZGNjMjJhNTE2YTA3MTJmMjNhNDU1
Mjg2Li41NmM5MjZiNTljMTMzNWI2ZGYyZmI3NjIzZWM4ZThiYzBhZmUyM2M2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKQEAgLTkyLDYgKzkyLDE0IEBAIHZvaWQg
UmVuZGVyVmlkZW86OmludHJpbnNpY1NpemVDaGFuZ2VkKCkKICAgICB1cGRhdGVJbnRyaW5zaWNT
aXplKCk7IAogfQogCitib29sIFJlbmRlclZpZGVvOjpoYXNPd25QYWludGFibGVDb250ZW50KCkg
Y29uc3QKK3sKKyAgICBpZiAodmlkZW9FbGVtZW50KCkuc2hvdWxkRGlzcGxheVBvc3RlckltYWdl
KCkpCisgICAgICAgIHJldHVybiBSZW5kZXJJbWFnZTo6aGFzT3duUGFpbnRhYmxlQ29udGVudCgp
OworCisgICAgcmV0dXJuIHZpZGVvRWxlbWVudCgpLnJlYWR5U3RhdGUoKSA+IEhUTUxNZWRpYUVs
ZW1lbnRFbnVtczo6SEFWRV9NRVRBREFUQTsKK30KKwogYm9vbCBSZW5kZXJWaWRlbzo6dXBkYXRl
SW50cmluc2ljU2l6ZSgpCiB7CiAgICAgTGF5b3V0U2l6ZSBzaXplID0gY2FsY3VsYXRlSW50cmlu
c2ljU2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZGVvLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uaAppbmRleCA4ZTI1
YzY4YTUzZjg5YjRhMTcwZmI5NjUxYjE4N2ZmYjhhYzBmYWMzLi4zMTViOGJmMzIzODg2OTRhOTdm
NzJlMTBlZWZhMjUwYjQ4MjU3MmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlkZW8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlk
ZW8uaApAQCAtNjcsNiArNjcsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCByZXF1aXJlc0xheWVy
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wgaXNWaWRlbygpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKyAgICBib29sIGhhc093blBhaW50YWJsZUNvbnRlbnQo
KSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQgcGFpbnRSZXBsYWNlZChQYWludEluZm8mLCBj
b25zdCBMYXlvdXRQb2ludCYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9GaWxsTGF5ZXIuY3BwCmluZGV4IGZlNWMwMTI2YzAxOWZmZTQ2MWU3OTJiM2E5MWI3Njk5
YjEzYzMwMGYuLmU4M2E2NmU3ZjU1NmMwZDNiMThlZGI4MDIxMGZhODkyYTJkZDk1ZDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwCkBAIC0zNDAsNiAr
MzQwLDE1IEBAIGJvb2wgRmlsbExheWVyOjpjb250YWluc0ltYWdlKFN0eWxlSW1hZ2UmIGltYWdl
KSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBGaWxsTGF5ZXI6Omhhc0xvYWRl
ZENhY2hlZEltYWdlKCkgY29uc3QKK3sKKyAgICBmb3IgKGF1dG8qIGxheWVyID0gdGhpczsgbGF5
ZXI7IGxheWVyID0gbGF5ZXItPm1fbmV4dC5nZXQoKSkgeworICAgICAgICBpZiAobGF5ZXItPm1f
aW1hZ2UgJiYgbGF5ZXItPm1faW1hZ2UtPmlzTG9hZGVkKCkgJiYgbGF5ZXItPm1faW1hZ2UtPmhh
c0NhY2hlZEltYWdlKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0
dXJuIGZhbHNlOworfQorCiBib29sIEZpbGxMYXllcjo6aW1hZ2VzQXJlTG9hZGVkKCkgY29uc3QK
IHsKICAgICBmb3IgKGF1dG8qIGxheWVyID0gdGhpczsgbGF5ZXI7IGxheWVyID0gbGF5ZXItPm1f
bmV4dC5nZXQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L0ZpbGxMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5o
CmluZGV4IDQzMTc0MmJlYmMyYTViYTk3YmY2ZGE4YWZjNTAzODQ3YzU1YTc3NDYuLjJjYjI1NTFm
NmRmOWY5YjdkYzc1YmNmNjA0OGM3ODhiMTE2OGI2NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvRmlsbExheWVyLmgKQEAgLTE0NSw2ICsxNDUsNyBAQCBwdWJsaWM6CiAKICAg
ICBib29sIGNvbnRhaW5zSW1hZ2UoU3R5bGVJbWFnZSYpIGNvbnN0OwogICAgIGJvb2wgaW1hZ2Vz
QXJlTG9hZGVkKCkgY29uc3Q7CisgICAgYm9vbCBoYXNMb2FkZWRDYWNoZWRJbWFnZSgpIGNvbnN0
OwogICAgIGJvb2wgaGFzSW1hZ2UoKSBjb25zdCB7IHJldHVybiBtX25leHQgPyBoYXNJbWFnZUlu
QW55TGF5ZXIoKSA6IG1faW1hZ2U7IH0KICAgICBib29sIGhhc0ZpeGVkSW1hZ2UoKSBjb25zdDsK
ICAgICBib29sIGhhc09wYXF1ZUltYWdlKGNvbnN0IFJlbmRlckVsZW1lbnQmKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IGU1
YjM2NmQwNTg0MDdlOGYyMWJmMWMzNjY1MmQ2NGVmMjFlNjBkNWEuLmZlNGU1MjRjMDIxZmY4YmY1
MDk5ODQxN2Q0NDIwY2FiYWRkMGQwZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmNwcApAQCAtNTgwLDYgKzU4MCwyMSBAQCBib29sIFJlbmRlclN0
eWxlOjppc0lkZW1wb3RlbnRUZXh0QXV0b3NpemluZ0NhbmRpZGF0ZShPcHRpb25hbDxBdXRvc2l6
ZVN0YXR1cz4gbwogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIFJlbmRlclN0eWxlOjpoYXNQ
YWludGFibGVCYWNrZ3JvdW5kSW1hZ2UoKSBjb25zdAoreworICAgIGlmICghaGFzQmFja2dyb3Vu
ZEltYWdlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNvbnN0IEZpbGxMYXllciYg
YmFja2dyb3VuZCA9IGJhY2tncm91bmRMYXllcnMoKTsKKyAgICBpZiAoIWJhY2tncm91bmQuaGFz
TG9hZGVkQ2FjaGVkSW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGJh
Y2tncm91bmRTaXplTGVuZ3RoKCkuaXNFbXB0eSgpICYmIGJhY2tncm91bmRTaXplVHlwZSgpID09
IEZpbGxTaXplVHlwZTo6U2l6ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJu
IHRydWU7Cit9CisKIEF1dG9zaXplU3RhdHVzIFJlbmRlclN0eWxlOjphdXRvc2l6ZVN0YXR1cygp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIE9wdGlvblNldDxBdXRvc2l6ZVN0YXR1czo6RmllbGRzPjo6
ZnJvbVJhdyhtX2luaGVyaXRlZEZsYWdzLmF1dG9zaXplU3RhdHVzKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggNTZmMDM2MWU5Y2Q1MTRmMTk5
NGYwYjJhNWVkMzgwYTY5MTg0NjM2ZS4uMTQwNmJkNzZkMDc2YTM1OGU1NGM3ZTc4MzM5NjNiM2Y4
OTM2ZjAxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmgKQEAgLTQxNSw2ICs0MTUsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgTGVuZ3RoU2l6ZSYgYmFj
a2dyb3VuZFNpemVMZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2JhY2tncm91bmREYXRhLT5iYWNr
Z3JvdW5kLnNpemVMZW5ndGgoKTsgfQogICAgIEZpbGxMYXllciYgZW5zdXJlQmFja2dyb3VuZExh
eWVycygpIHsgcmV0dXJuIG1fYmFja2dyb3VuZERhdGEuYWNjZXNzKCkuYmFja2dyb3VuZDsgfQog
ICAgIGNvbnN0IEZpbGxMYXllciYgYmFja2dyb3VuZExheWVycygpIGNvbnN0IHsgcmV0dXJuIG1f
YmFja2dyb3VuZERhdGEtPmJhY2tncm91bmQ7IH0KKyAgICBib29sIGhhc1BhaW50YWJsZUJhY2tn
cm91bmRJbWFnZSgpIGNvbnN0OwogCiAgICAgU3R5bGVJbWFnZSogbWFza0ltYWdlKCkgY29uc3Qg
eyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bWFzay5pbWFnZSgpOyB9CiAgICAgRmls
bFJlcGVhdCBtYXNrUmVwZWF0WCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEZpbGxSZXBl
YXQ+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPm1hc2sucmVwZWF0WCgpKTsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmNwcApp
bmRleCA2NDA2OWM0NzlkMjU0ZmM0M2FlYWVmYzZiMDVhMTgzMGNkZWY4ZDQ4Li4zMjEwYzkxMmY0
MGI5MTNkZGYxMDJiMzMwYTAyMTQyZGFiNjlhZThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmNwcApAQCAtMTU4LDYgKzE1
OCwxMSBAQCBzdGF0aWMgYm9vbCBpc0dyYXBoaWNzRWxlbWVudChjb25zdCBSZW5kZXJFbGVtZW50
JiByZW5kZXJlcikKICAgICByZXR1cm4gcmVuZGVyZXIuaXNTVkdTaGFwZSgpIHx8IHJlbmRlcmVy
LmlzU1ZHVGV4dCgpIHx8IHJlbmRlcmVyLmlzU1ZHSW1hZ2UoKSB8fCByZW5kZXJlci5lbGVtZW50
KCktPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnVzZVRhZyk7CiB9CiAKK2Jvb2wgUmVuZGVyU1ZHTW9k
ZWxPYmplY3Q6Omhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiBp
c0dyYXBoaWNzRWxlbWVudCgqdGhpcyk7Cit9CisKIC8vIFRoZSBTVkcgYWRkRm9jdXNSaW5nUmVj
dHMoKSBtZXRob2QgYWRkcyByZWN0cyBpbiBsb2NhbCBjb29yZGluYXRlcyBzbyB0aGUgZGVmYXVs
dCBhYnNvbHV0ZUZvY3VzUmluZ1F1YWRzCiAvLyByZXR1cm5zIGluY29ycmVjdCB2YWx1ZXMgZm9y
IFNWRyBvYmplY3RzLiBPdmVycmlkaW5nIHRoaXMgbWV0aG9kIHByb3ZpZGVzIGFjY2VzcyB0byB0
aGUgYWJzb2x1dGUgYm91bmRzLgogdm9pZCBSZW5kZXJTVkdNb2RlbE9iamVjdDo6YWJzb2x1dGVG
b2N1c1JpbmdRdWFkcyhWZWN0b3I8RmxvYXRRdWFkPiYgcXVhZHMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmgKaW5kZXggNGQ0ZjQ1
M2UzMTdlM2E1NzlkNzllMDUzYzAxY2Y3NTRhMGVkNjE5MS4uNmIwM2RiNGZjYjY5ZDIzYmM1NTE5
NjNhYmUyZDlhMDRlNjhkNmE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuaApAQCAtNjksNiArNjksNyBAQCBwcm90ZWN0ZWQ6
CiAKIHByaXZhdGU6CiAgICAgYm9vbCBpc1JlbmRlclNWR01vZGVsT2JqZWN0KCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIGJvb2wgaGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNv
bnN0IGZpbmFsOwogCiAgICAgLy8gVGhpcyBtZXRob2Qgc2hvdWxkIG5ldmVyIGJlIGNhbGxlZCwg
U1ZHIHVzZXMgYSBkaWZmZXJlbnQgbm9kZUF0UG9pbnQgbWV0aG9kCiAgICAgYm9vbCBub2RlQXRQ
b2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBIaXRUZXN0
TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVs
YXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCAwYjNjZTk0M2FjMzA1MDhlMDRjZGIwYzcxMTAyMWZj
NWY3NDdiNGY4Li5hNjIxYzFjYjcxN2IzYjJkNGQzYzczYTIzZjIyYmRkODkzOTRhZGI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTgzOSw2ICs4MzksMTMg
QEAgVXNlclRpbWluZ0VuYWJsZWQ6CiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJs
ZSBVc2VyVGltaW5nIEFQSSIKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMKIAorUGFpbnRUaW1pbmdFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTog
dHJ1ZQorICBodW1hblJlYWRhYmxlTmFtZTogIlBhaW50IFRpbWluZyIKKyAgaHVtYW5SZWFkYWJs
ZURlc2NyaXB0aW9uOiAiRW5hYmxlIFBhaW50IFRpbWluZyBBUEkiCisgIHdlYmNvcmVCaW5kaW5n
OiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisKIEJlYWNvbkFQSUVuYWJsZWQ6CiAgIHR5cGU6IGJv
b2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IGRlMzM4MjNjN2YyOTBjODIyM2FhMTVkN2ZlZGM3
YzQyMWYyOTk4ZTYuLmMzNTNkNmE1ZTYxZjEwMmEzNGNmMDllMGFjOTZhOGM4MjM4MDlhNzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCkBA
IC0xODE5LDYgKzE4MTksMTYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0VXNlclRpbWluZ0VuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKICAgICByZXR1cm4gdG9JbXBsKHBy
ZWZlcmVuY2VzUmVmKS0+dXNlclRpbWluZ0VuYWJsZWQoKTsKIH0KIAordm9pZCBXS1ByZWZlcmVu
Y2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYs
IGJvb2wgZmxhZykKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRQYWludFRpbWlu
Z0VuYWJsZWQoZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5nRW5h
YmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0lt
cGwocHJlZmVyZW5jZXNSZWYpLT5wYWludFRpbWluZ0VuYWJsZWQoKTsKK30KKwogdm9pZCBXS1By
ZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRS
ZXNvdXJjZVRpbWluZ0VuYWJsZWQoZmxhZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAppbmRleCBkOWNhYjlkYzBl
NzQ5MzliYjUwZjg5NjcwMTZiZDYzYmFlNjQ0ZmEzLi5hZmQ5OTBlNmIwZDRmNGM1ZTlkODM5MWYy
ODMwNDVjNTI0ZGZmODVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKQEAgLTQ5OSw2ICs0OTksMTAgQEAgV0tf
RVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFdlYlNoYXJlRW5hYmxlZChXS1ByZWZlcmVuY2Vz
UmVmKTsKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRVc2VyVGltaW5nRW5hYmxlZChX
S1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNl
c0dldFVzZXJUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCisvLyBEZWZhdWx0cyB0
byBmYWxzZQorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5nRW5hYmxl
ZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOworV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJl
bmNlc0dldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKKwogLy8gRGVmYXVs
dHMgdG8gZmFsc2UKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRSZXNvdXJjZVRpbWlu
Z0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9SVCBib29sIFdL
UHJlZmVyZW5jZXNHZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKaW5kZXggOWMwYjU2OTZjMTE1NmY1ZDg4
YjZjNTkxNmU3MGU0NzQ3ZTNlMmZmMC4uYWJkYWZiZDJjYmJlYjk4YzZjYjI5ZTY2MTUzNzNmZWQw
OGIyMzQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcApAQCAtMTIyLDYg
KzEyMiw3IEBAIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGF0ZVByZWZl
cmVuY2VzU3RvcmUoY29uc3QgV2ViUHJlZmVyZW5jZXNTCiAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRDYWNoZUFQSUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpjYWNoZUFQSUVuYWJsZWRLZXkoKSkpOwogICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElFbmFi
bGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6ZmV0Y2hBUElF
bmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldFVzZXJUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVm
ZXJlbmNlc0tleTo6dXNlclRpbWluZ0VuYWJsZWRLZXkoKSkpOworICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1pbmdFbmFibGVkKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFpbnRUaW1pbmdFbmFibGVkS2V5
KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFJl
c291cmNlVGltaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5j
ZXNLZXk6OnJlc291cmNlVGltaW5nRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQoc3Rv
cmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpmZXRjaEFQSUtlZXBBbGl2
ZUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0UmVzdHJpY3RlZEhUVFBSZXNwb25zZUFjY2VzcyhzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3NLZXko
KSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggNzdiMzk4OTUwMjAyNWU2MWQ3Mjc2OTBjNWU5
ZWM4MWIyZGRhZTNiYi4uZDIzMDJjODllMjY1OGE4MWRlZGVjZDFiOTJmMzk5NmY5OGNlY2E0YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yNjAsNiArMjYwLDcgQEAKICNkZWZpbmUgV2ViS2l0
QXR0YWNobWVudEVsZW1lbnRFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEF0dGFjaG1lbnRF
bGVtZW50RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVk
UHJlZmVyZW5jZUtleSBAIldlYktpdEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZCIKICNkZWZp
bmUgV2ViS2l0TWVudUl0ZW1FbGVtZW50RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZW51
SXRlbUVsZW1lbnRFbmFibGVkIgorI2RlZmluZSBXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVm
ZXJlbmNlS2V5IEAiV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkIgogI2RlZmluZSBXZWJLaXRVc2Vy
VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRVc2VyVGltaW5nRW5hYmxlZCIKICNk
ZWZpbmUgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFJl
c291cmNlVGltaW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TWVkaWFDb250ZW50VHlwZXNSZXF1
aXJpbmdIYXJkd2FyZVN1cHBvcnRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFDb250ZW50VHlw
ZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCAwMjc5Mzk0MzA4MDQ2YjhhMjgzYWI2
YWEzNjA0ODI5YWIyOWZkMWI3Li4wMTE2OWRkNDhiMzI0MjQ3MGFiNjEwNDNhYWVkN2RjNGI1OGVk
NWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW0KQEAgLTY4Myw2ICs2ODMsNyBAQCArICh2b2lkKWluaXRpYWxpemUKICNpZiBFTkFC
TEUoSU5URVJTRUNUSU9OX09CU0VSVkVSKQogICAgICAgICBATk8sIFdlYktpdEludGVyc2VjdGlv
bk9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXksCiAjZW5kaWYKKyAgICAgICAgQE5PLCBXZWJL
aXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktpdFVz
ZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRSZXNvdXJj
ZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktpdE1lZGlhVXNl
ckdlc3R1cmVJbmhlcml0c0Zyb21Eb2N1bWVudCwKQEAgLTMzMDgsNiArMzMwOSwxNiBAQCAtICh2
b2lkKXNldFVzZXJUaW1pbmdFbmFibGVkOihCT09MKWZsYWcKICAgICBbc2VsZiBfc2V0Qm9vbFZh
bHVlOmZsYWcgZm9yS2V5OldlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07CiB9
CiAKKy0gKEJPT0wpcGFpbnRUaW1pbmdFbmFibGVkCit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29s
VmFsdWVGb3JLZXk6V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisK
Ky0gKHZvaWQpc2V0UGFpbnRUaW1pbmdFbmFibGVkOihCT09MKWZsYWcKK3sKKyAgICBbc2VsZiBf
c2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVu
Y2VLZXldOworfQorCiAtIChCT09MKXJlc291cmNlVGltaW5nRW5hYmxlZAogewogICAgIHJldHVy
biBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZl
cmVuY2VLZXldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggYTg0NTQ5ZDRhYmQxYzVkMjZkZGY5YmJmM2I0
ZGU3OWRkNDA3YzE4ZC4uNWExYWE3ODJjNTQwNzMzOWUyNTJiNWYyM2QxYTRhMjMxYjlmN2QzYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzUHJpdmF0ZS5oCkBAIC02NjEsNiArNjYxLDcgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQ
cmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24gV0VCS0lUX0RF
UFIKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGtleWdlbkVsZW1lbnRFbmFibGVkOwogQHBy
b3BlcnR5IChub25hdG9taWMpIEJPT0wgdXNlclRpbWluZ0VuYWJsZWQ7CiBAcHJvcGVydHkgKG5v
bmF0b21pYykgQk9PTCByZXNvdXJjZVRpbWluZ0VuYWJsZWQ7CitAcHJvcGVydHkgKG5vbmF0b21p
YykgQk9PTCBwYWludFRpbWluZ0VuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBs
aW5rUHJlbG9hZEVuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBtZWRpYVVzZXJH
ZXN0dXJlSW5oZXJpdHNGcm9tRG9jdW1lbnQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBp
c1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGJkMzY3NTUwMTE1ZDNhZjliNTEzMmJkNGYxYmZmNTM2
MzgzMGRkNDUuLjkxZDFmNGY5YmQ2YjJjMDQ1NTMxZGE0ZTA4MGQ2ZmEwYjg3ZDBkNmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTMxOTIsNiArMzE5
Miw3IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMgKilwcmVm
ZXJlbmNlcwogCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5z
ZXRVc2VyVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy51c2VyVGltaW5nRW5hYmxlZCk7CiAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXNvdXJjZVRpbWlu
Z0VuYWJsZWQocHJlZmVyZW5jZXMucmVzb3VyY2VUaW1pbmdFbmFibGVkKTsKKyAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFBhaW50VGltaW5nRW5hYmxlZChw
cmVmZXJlbmNlcy5wYWludFRpbWluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1ByZWxvYWRFbmFibGVkKHByZWZlcmVuY2VzLmxp
bmtQcmVsb2FkRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVh
dHVyZXMoKS5zZXRNZWRpYVByZWxvYWRpbmdFbmFibGVkKHByZWZlcmVuY2VzLm1lZGlhUHJlbG9h
ZGluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkuc2V0SXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZChwcmVmZXJlbmNlcy5pc1NlY3Vy
ZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCmluZGV4
IGRmZmQ5NGRkODZjMmZmZDcwNjcwOGFjNzcwNzc2Y2ViMDMwZWRiNDkuLjQzMzhjZWQ4ZDliNzg4
NTcwYTI0ODZhYWNiYjc4OTNhNDVhMGY4ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbApA
QCAtMTk3LDYgKzE5Nyw4IEBAIGludGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRlNCA6IElX
ZWJQcmVmZXJlbmNlc1ByaXZhdGUzCiAgICAgSFJFU1VMVCBzZXRVc2VyVGltaW5nRW5hYmxlZChb
aW5dIEJPT0wgZW5hYmxlZCk7CiAgICAgSFJFU1VMVCByZXNvdXJjZVRpbWluZ0VuYWJsZWQoW291
dCwgcmV0dmFsXSBCT09MKik7CiAgICAgSFJFU1VMVCBzZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQo
W2luXSBCT09MIGVuYWJsZWQpOworICAgIEhSRVNVTFQgcGFpbnRUaW1pbmdFbmFibGVkKFtvdXQs
IHJldHZhbF0gQk9PTCopOworICAgIEhSRVNVTFQgc2V0UGFpbnRUaW1pbmdFbmFibGVkKFtpbl0g
Qk9PTCBlbmFibGVkKTsKICAgICBIUkVTVUxUIGxpbmtQcmVsb2FkRW5hYmxlZChbb3V0LCByZXR2
YWxdIEJPT0wqKTsKICAgICBIUkVTVUxUIHNldExpbmtQcmVsb2FkRW5hYmxlZChbaW5dIEJPT0wg
ZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBtZWRpYVByZWxvYWRpbmdFbmFibGVkKFtvdXQsIHJldHZh
bF0gQk9PTCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaAppbmRleCAxN2JjZjliZTE4ZWJhODIzNDMyM2Q0YmQyY2E5MjUxZmI3YjBm
ZjIyLi4yYWYxNDBlNTVhOGI1Nzk2Njg1MGY4NTc1MDk2YjkwN2E0ZjBhNTY1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAt
MTk3LDYgKzE5Nyw4IEBACiAKICNkZWZpbmUgV2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJl
bmNlS2V5ICJXZWJLaXRVc2VyVGltaW5nRW5hYmxlZCIKIAorI2RlZmluZSBXZWJLaXRQYWludFRp
bWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRQYWludFRpbWluZ0VuYWJsZWQiCisKICNk
ZWZpbmUgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0UmVz
b3VyY2VUaW1pbmdFbmFibGVkIgogCiAjZGVmaW5lIFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFBy
ZWZlcmVuY2VLZXkgIldlYktpdExpbmtQcmVsb2FkRW5hYmxlZCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IGEzMWJhMDNhODI1NDcwZDgxMzM0Y2RmNjQzOGY1
MTdmNGFkZjA5MWYuLjMxOTQyMGMyZWUxMGRmMzVhZmQyMzhiNmUzNzZhOGM1OTdlNWNhM2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaApAQCAtMjUxLDYgKzI1MSw4
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0VXNl
clRpbWluZ0VuYWJsZWQoQk9PTCk7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExU
WVBFIHJlc291cmNlVGltaW5nRW5hYmxlZChfT3V0XyBCT09MKik7CiAgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIHNldFJlc291cmNlVGltaW5nRW5hYmxlZChCT09MKTsKKyAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcGFpbnRUaW1pbmdFbmFibGVkKF9P
dXRfIEJPT0wqKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0UGFp
bnRUaW1pbmdFbmFibGVkKEJPT0wpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSBsaW5rUHJlbG9hZEVuYWJsZWQoX091dF8gQk9PTCopOwogICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSBzZXRMaW5rUHJlbG9hZEVuYWJsZWQoQk9PTCk7CiAgICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIG1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoX091
dF8gQk9PTCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5j
cHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAppbmRleCBkNzA1M2VjMzIw
NGNhYWVlMGU0OWE4MWUxNWJlMTEyODM0OThjZGM0Li40Y2E3YzZhZTQwZTkzN2NkNzdmMzJhNzE2
ZjNlN2JhMjNkOGM5ZGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcApAQCAtNTI4
Myw2ICs1MjgzLDExIEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2Vk
KElXZWJOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKICAgICAgICAgcmV0dXJuIGhyOwogICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0Vu
YWJsZWQoISFlbmFibGVkKTsKIAorICAgIGhyID0gcHJlZnNQcml2YXRlLT5wYWludFRpbWluZ0Vu
YWJsZWQoJmVuYWJsZWQpOworICAgIGlmIChGQUlMRUQoaHIpKQorICAgICAgICByZXR1cm4gaHI7
CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRp
bWluZ0VuYWJsZWQoISFlbmFibGVkKTsKKwogICAgIGhyID0gcHJlZnNQcml2YXRlLT5yZXNvdXJj
ZVRpbWluZ0VuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQogICAgICAgICBy
ZXR1cm4gaHI7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggODMzM2NiZjJlOWE2Mzk3OWZmNzA3Mzc2NTY3MDc2ZDZlYTg5MTM0My4uYjdhNDI1Mzk2
Y2I5ZGY2M2MwZDA1ZjkwNWYwNGVjZTI1OTY5MzNkNCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTAzLTE2ICBO
b2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQ
IChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHByZWZlcmVuY2Uga2V5IGZvciBwYWludC10aW1pbmcuCisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAg
IChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAocmVzZXRXZWJQcmVm
ZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpyZXNldFBy
ZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKwogMjAyMC0wMy0xNSAgWXVzdWtlIFN1enVr
aSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFNob3VsZCBub3QgdXNlIHZhcmlhYmxl
LWxlbmd0aC1hcnJheSAoVkxBKQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJU
cmVlLm1tCmluZGV4IGI2ZmUyYTU3OTZkNmRhZDM5ZTk5NDMxZDUyY2ZlZGQ2ZWU3ZGEzYTAuLjdj
OGQ5ZjM2YmRkNzc0MzQ4ZTE3NDlhNGU1OTMxOTNhNGQ0M2E5MjIgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTEwMDQsNiArMTAwNCw3IEBAIHN0YXRp
YyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoKQogICAgIFtwcmVm
ZXJlbmNlcyBzZXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJl
bmNlcyBzZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0
VXNlclRpbWluZ0VuYWJsZWQ6WUVTXTsKKyAgICBbcHJlZmVyZW5jZXMgc2V0UGFpbnRUaW1pbmdF
bmFibGVkOllFU107CiAKICAgICBbcHJlZmVyZW5jZXMgc2V0Q2FjaGVBUElFbmFibGVkOk5PXTsK
ICAgICBwcmVmZXJlbmNlcy5tZWRpYUNhcGFiaWxpdGllc0VuYWJsZWQgPSBZRVM7CmRpZmYgLS1n
aXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCAwYjdjNmU5N2FjMzEw
YmM4MmNkMjYyMzJmOWQwNGIzNTAwMzNiYjQxLi4xZTNmZTA5ZDNiZWY2YTc4ZDExZjhlNGEwMTgz
MGI5M2M0Y2ZlMzA4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJl
bmRlclRyZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJl
ZS5jcHAKQEAgLTg5OSw2ICs4OTksNyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVuY2Vz
VG9Db25zaXN0ZW50VmFsdWVzKElXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAgICAgcHJl
ZnNQcml2YXRlLT5zZXRDdXN0b21FbGVtZW50c0VuYWJsZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2
YXRlLT5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2YXRlLT5z
ZXRVc2VyVGltaW5nRW5hYmxlZChUUlVFKTsKKyAgICBwcmVmc1ByaXZhdGUtPnNldFBhaW50VGlt
aW5nRW5hYmxlZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGUtPnNldERhdGFUcmFuc2Zlckl0ZW1z
RW5hYmxlZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGUtPmNsZWFyTmV0d29ya0xvYWRlclNlc3Np
b24oKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCA1
ZTA2ZjM2YmYwODZjYzE5YmUzZjc1ZThhYmI3YjlmOGE4NDEwNGI1Li45MTBhNzkzMjliNzNjYzIy
NDgzMjZjOGJmMGE2NjUwZGEzMGEzNWZlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcApAQCAtOTMxLDYgKzkzMSw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnJl
c2V0UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoY29uc3QgVGVzdE9wdGlvbnMmIG9wdGlv
CiAgICAgV0tQcmVmZXJlbmNlc1NldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChwcmVmZXJlbmNl
cywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChwcmVm
ZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbmdFbmFibGVkKHBy
ZWZlcmVuY2VzLCB0cnVlKTsKKyAgICBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVk
KHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQcmVsb2FkaW5n
RW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldE1lZGlhUGxh
eWJhY2tBbGxvd3NJbmxpbmUocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNT
ZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZShwcmVmZXJl
bmNlcywgZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDk0MzhmNTcyM2ZlOWIxOTE2NmY1ZGJkNmVjZDRkMGFlNWVj
NzU1ODIuLjYxMzUxZGVmYzY0MmU1Y2I1MTExYjU0YmI0Mzg1YTIyNzg3YTdlZjkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzMSBAQAorMjAyMC0wMy0xOSAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3Rz
IGZvciBzb21lIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgKEZDUCkgdXNlLWNhc2VzLgorCisgICAg
ICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgICAgICAgICBTa2lwIG92ZXJmbG93IHcz
YyB0ZXN0LCBzdGlsbCBub3Qgc3VwcG9ydGVkLgorCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBp
L3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9y
bWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZv
cm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qczogQWRkZWQuCisgICAgICAg
ICAgICAgICAgVGVzdCBleGlzdGVuY2Ugb2YgcGFpbnQgdGltaW5nIEFQSSBvbiB0aGUgd2luZG93
IG9iamVjdC4KKworICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBh
aW50LWZyYW1lcy5zdWItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5j
ZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMuc3ViLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWw6IEFkZGVk
LgorICAgICAgICAgICAgICAgIFRlc3QgdGhhdCBGQ1AgaXMgbm90IGF2YWlsYWJsZSBmb3IgY3Jv
c3Mtb3JpZ2luIGZyYW1lcy4KKworICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5j
ZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291
cmNlcy9wYWludC1hcGktdXRpbHMuanM6IEFkZGVkLgorICAgICAgICAoYXN5bmMgd2FpdEZvckZD
UCk6CisgICAgICAgICAgICAgICAgVGVzdCB0aGF0IHBlcmZvcm1hbmNlIG9ic2VydmVycyBhcmUg
Y2FsbGVkIGZvciBGQ1AuCisKIDIwMjAtMDMtMTQgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxl
LmNvbT4KIAogICAgICAgICBbTEZDXVtURkNdIEZpbGwgaW4gdGhlIGdhcHMgd2l0aCBhbm9ueW1v
dXMgdGFibGUgY2VsbCBib3hlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNzYz
MzYyZWIzZjY0MGYyMmYwNDM4ZWM1M2Y2ZWY2NGY5NDI3YWQ2My4uMzMwZjZhZDk3MjlhNGFkYjA5
N2M0YzI3YzlhMGRhNjU1NThjZGIyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNzMgQEAKKzIwMjAtMDMtMTkgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQu
b3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBvcnRlZCB0
ZXN0LXN1aXRlIGZyb20gdzNjIHRvIGNvdmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FzZXMu
CisgICAgICAgIFRoZSBmY3Atb25seSBjYXNlcyBhcmUgaW1wb3J0ZWQsIHdoaWxlIHRoZSBvdGhl
ciBvbmVzIGFyZSBub3Qgc2luY2UgV2ViS2l0IGRvZXMgbm90IHN1cHBvcnQgZmlyc3QtcGFpbnQu
CisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91
bmQtc2l6ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
Zy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
YmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNv
bnRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LTNkLXJvdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxl
LXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRl
c2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3BhY2l0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9m
LWJvdW5kcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9m
LWJvdW5kcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1vdmVyZmxvdy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1k
aXNwbGF5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LWltYWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC12aXNpYmlsaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZzogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3Vi
ZnJhbWUtcGFpbnRpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91
dGlscy5qczogQWRkZWQuCisgICAgICAgICh3YWl0VGltZSk6CisgICAgICAgIChhc3luYyBhc3Nl
cnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKGFzeW5jIGFzc2VydEZpcnN0Q29u
dGVudGZ1bFBhaW50KToKKyAgICAgICAgKHRlc3RfZmNwKToKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisK
IDIwMjAtMDMtMTQgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBTZXQg
T3JpZ2luIGhlYWRlciB2YWx1ZSB0byBudWxsIHJhdGhlciB0aGFuIG9taXR0aW5nIGl0CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA4ZDBjZTc4MmFjODc5NDYwNzIxZGQ0NmM2MzkyN2U3MmU2NDIyOGJk
Li5jZjdmZWZiNmRmM2U3NTFiMDc3M2ZmMDdlMmUwNDg2M2U5ZWQ1N2EzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTIyMTUsNiArMjIxNSw5IEBAIHdlYmtpdC5vcmcvYi8xNjQ3OTcganMvZG9tL2Rv
bWppdC1mdW5jdGlvbi1nZXQtZWxlbWVudC1ieS1pZC1jaGFuZ2VkLmh0bWwgWyBQYXNzCiAjIHRo
ZSB0ZXN0cyBtYXkgYmUgd3JvbmcuCiB3ZWJraXQub3JnL2IvMTY1MTk1IGZhc3QvY3NzL3BhcnNp
bmctY3NzLWFsbG93ZWQtc3RyaW5nLWNoYXJhY3RlcnMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAK
KyMgT3ZlcmZsb3cgaGFuZGxpbmcgaW4gRkNQIHJlcG9ydGluZyBpcyBub3QgY29tcGxldGUgeWV0
LgoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW92ZXJmbG93Lmh0bWwgWyBTa2lwIF0KKwogIyBWaXN1YWwgdmlld3BvcnRzCiB3ZWJraXQu
b3JnL2IvMTY1NDYwIGNvbXBvc2l0aW5nL3JlcGFpbnQvc2Nyb2xsLWZpeGVkLWxheWVyLW5vLWNv
bnRlbnQuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE2NTQ2MCBjb21wb3NpdGluZy9y
ZXBhaW50L3Njcm9sbC1maXhlZC1sYXllci1vdXQtb2Ytdmlldy5odG1sIFsgRmFpbHVyZSBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBl
Y3RhdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0
LWV4cGVjdGF0aW9ucy5qc29uCmluZGV4IDdlMWUzZDBlMGZjY2NlNjhjMGVjMDQ0OGRjOGYyODY5
YjlhOGY3YzcuLmZhN2QwOTI1OWEzNTExMmEzNTk4NWViNjQ2MzhkODg3ZjMzYmU2YWMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0
aW9ucy5qc29uCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0
LWV4cGVjdGF0aW9ucy5qc29uCkBAIC0zMTYsNyArMzE2LDggQEAKICAgICAid2ViLXBsYXRmb3Jt
LXRlc3RzL29yaWVudGF0aW9uLWV2ZW50IjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL29yaWVudGF0aW9uLXNlbnNvciI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy9wYWdlLXZpc2liaWxpdHkiOiAic2tpcCIsIAotICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nIjogInNraXAiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seSI6ICJpbXBvcnQiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9yZXNvdXJjZXMiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LWhhbmRsZXIiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1t
ZXRob2QtYmFzaWMtY2FyZCI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LW1ldGhvZC1pZCI6ICJza2lwIiwgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dy
b3VuZC1zaXplLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU3NzM1MmZlZDg1ZTBjNGIxY2FlOTcwMzYwMTI4YTllYmYx
NWU5OGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemUuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmFja2dyb3VuZC1zaXplLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOGNjODM3MDJjMWZiOGM0MTE4MTNiYTIzNTk0YzZhZDM5ZGUwOWJkNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbApAQCAt
MCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNl
IFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tncm91bmQgc2l6ZTwvdGl0bGU+Cis8
c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAg
IHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3Vu
ZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIGJhY2tncm91
bmQtc2l6ZTogMCAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5l
ZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAg
IGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0i
bWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemUuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzU5YTZkMDNjMDEyMzE3OTkzMWI3N2Q5MGVmZmM3ZDhlN2Q5MDgwMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQg
aW1hZ2UgaW4gaW1hZ2Utc2V0LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdl
LXNldC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBj
YzUyZDAyNjNlMDIzOTgxNmFiMDc1YWUxZWQ5MGIyZmQ5YTI2YzYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDog
RkNQIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldDwvdGl0bGU+Cis8c3R5bGU+
CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3Rf
ZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgYmFja2dyb3Vu
ZC1pbWFnZTogLXdlYmtpdC1pbWFnZS1zZXQodXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZykg
MXgpOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS1zZXQodXJsKC4uL3Jlc291cmNl
cy9jaXJjbGVzLnBuZykgMXgpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9k
aXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldC4iKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMmI3ZTNhZDA4YTM2NWZlNTI3MDM2Y2FjYzM0YmIwYWI3Yjg3Yjkw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyBmb3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZS4gCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
Zy1pbWFnZS10d28tc3RlcHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZGM5YWY5ZGE4NGZkYjBkZWE2ZDM5
Y2Y4ZGQ1MDYxMWRlODdjNzA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWlt
YWdlLXR3by1zdGVwcy5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhl
YWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgZmly
ZSBmb3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+
CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBhbmQgcHJlRkNQIGNsYXNzZXMgYXJlIGRl
ZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLnByZUZDUCB7CisgICAgICAg
IHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVsLCAgI21h
aW4ucHJlRkNQIHsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9j
aXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHZp
c2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rp
dj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
Zm9yIGJhY2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGUuIik7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKworPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDhmYmU1MTU4M2YzNmViNmViMTdlYmVjOGExZTZkYjEwMTJmNTg0ZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ2FudmFzIHNob3VsZCBjb3VudCBhcyBjb250ZW50ZnVs
IHdoZW4gY29udGV4dCBpcyBjcmVhdGVkIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjE4ZWIwN2JmZGVhMTFhYTFjNWVlZjllNzdiNWFlY2NkMWIwYzMzMzIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbApAQCAtMCwwICsxLDIz
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRp
bWluZyBUZXN0OiBGQ1Agd2hlbiBjYW52YXMgY29udGV4dCBpcyBjcmVhdGVkPC90aXRsZT4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8c2Ny
aXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlv
bih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBw
b3J0ZWQuIik7CisgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcignbG9hZCcsIHIpKTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50
KCk7CisgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhbnZhcycp
OworICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICBjb250
ZXh0LmZpbGxSZWN0KDAsIDAsIDEwMCwgMTAwKTsKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRl
bnRmdWxQYWludCgpOworICB9LCAnQ2FudmFzIHNob3VsZCBjb3VudCBhcyBjb250ZW50ZnVsIHdo
ZW4gY29udGV4dCBpcyBjcmVhdGVkJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTdhNjhiZWM0OTU4ZjQ1NGVm
MzVmODgwZWJlN2VhOTk2MjMxYTI3NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1n
cmFkaWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgR3JhZGllbnRzIHNo
b3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWdyYWRpZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
YTM1NmYzZGQxYWJmMGYzNWMyNDhmZWNlM2M4NzcyMTAxNjI1NTBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IHNob3VsZCBub3QgZmlyZSB3aXRoIGdyYWRpZW50LW9ubHkgYmFja2dyb3VuZHM8L3RpdGxlPgor
PHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8g
Ym90dG9tLCBvcmFuZ2UsIGJsdWUpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+
PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3Nl
cnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGlt
aW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGNvbnN0IG1haW4gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnbWFpbicpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RD
b250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgICdHcmFkaWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBj
b250ZW50ZnVsJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yNWMzMjUyYzI3YjA2Nzc0YTViMzU2NDI5OWM4MDIzODU3Yjg0MDcyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2Vu
ZGFudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90YXRpbmcg
aW50byB2aWV3LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3Rh
dGUtZGVzY2VuZGFudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVz
Y2VuZGFudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2ZDQ1OWQwZjQwZmNhYTQ2ZTk1NjFlNzZjOTliNGQ0
YTE3ZjE1N2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJv
dGF0ZS1kZXNjZW5kYW50Lmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byAz
ZCByZXZlYWxpbmcgb2YgZGVzY2VuZGFudHM8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsK
KyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBs
ZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOwor
ICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVkZWcpOworICAgICAgICB0cmFuc2Zvcm0tc3R5
bGU6IHByZXNlcnZlLTNkOworICAgIH0KKworICAgIC8qCisgICAgICAgVGhpcyB0ZXN0cyB0aGF0
IGdpdmVuIG11bHRpcGxpY2F0aW9uIGVmZmVjdCBvZiAzZCB0cmFuc2Zvcm1zIG9uIGJvdW5kaW5n
IHJlY3QsCisgICAgICAgQW4gZWxlbWVudCBjb3VudHMgYXMgY29udGVudGZ1bC9wYWludGFibGUg
b25seSB3aGVuIGl0cyBib3VuZGluZyByZWN0IGlzIHRydWx5IG5vbi1lbXB0eSAqLworICAgICNj
aGlsZCB7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCg0NWRlZyk7CisgICAgfQorCisgICAg
LyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAg
ICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwv
c2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0iY2hpbGQiPlRleHQ8L2Rpdj4K
KzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90YXRpbmcgaW50byB2aWV3LiIpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNk
LXJvdGF0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDQxM2QzODIyMjUxY2FmZjFiYWE0MThk
ZDFkNGY4MDE4NzllNmU1OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXcu
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYjdmYzMy
NWM1ZDIwMGI4NDg5ZDVkMDRiYTI2Zjg2ZTYyZjM1ZmFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbApAQCAtMCwwICsxLDI5IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0
OiBGQ1AgZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldzwvdGl0bGU+Cis8c3R5bGU+CisgICAg
I21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDkwZGVnKTsKKyAg
ICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAg
LyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAg
ICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwv
c2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+VGV4dDwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2Zj
cCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gM2Qgcm90YXRpb24gaW50byB2
aWV3LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS1zY2FsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2M1YTY4ZTg0MmFkOTA4YmUwZGUwNDBm
ZGM1YmY3N2VhYWM4YWVmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtc2NhbGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzYzM2VjZDcyZmJmNDQ0MDEzOWUxYmE0M2ZhZWY2ZjhjYmU4Y2NmOQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgRmlyc3QgY29udGVu
dGZ1bCBwYWludCBmaXJlcyB3aGVuIHJldmVhbGVkIGR1cmluZyB0cmFuc2l0aW9uLiAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
MGFjODVjZWIyNThhMjc0YWUyZTQ4YjFmMGZmM2QxNDhlMjQ4ZTI3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwKQEAgLTAsMCAr
MSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWlu
dCBUaW1pbmcgVGVzdDogRkNQIGluIHRyYW5zaXRpb248L3RpdGxlPgorPHN0eWxlPgorICAgICNt
YWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CisgICAgICAgIHRy
YW5zaXRpb246IHRyYW5zZm9ybSAxMHM7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAg
ICAgICAgdG9wOiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5l
ZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAg
IHRyYW5zZm9ybTogc2NhbGUoMSk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj5U
RVhUPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIHdoZW4gcmV2ZWFsZWQgZHVyaW5nIHRyYW5zaXRpb24uIik7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Mzg5
ZThhODQ2YmY2YzI4NDRkZDYxZmUzYTRlMGNiOTM0NGI0ZmZlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6
IEZDUCBkdWUgdG8gc2NhbGUgY2hhbmdlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7Cisg
ICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVm
dDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAgICAgICBwb3NpdGlvbjog
cmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJs
KC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBj
bGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50
ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBp
ZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byBzY2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4iKQorPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRl
eHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mNmE4MjdiODYyMzhiN2Y4Y2U3YzJlNDVlMzE2NzMwODU0Y2ZlN2QxCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDQgQEAKK0lOVklTSUJMRQorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1p
bnZpc2libGUtdGV4dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUxYjM4NzEyYTYzZGIxOTJmNjgzMDEzNmZj
NmEzOGFhNmU1YTQ0ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXRleHQuaHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRp
dGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIHN0aWxsIGZpcmUg
Zm9yIGludmlzaWJsZSB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAg
IHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgICAgIGNvbG9yOiBy
Z2JhKDAsIDAsIDAsIDApOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVm
aW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAg
ICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWlu
Ij4KKyAgICBJTlZJU0lCTEUKKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlz
aWJsZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFj
aXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjZDA3NjlhZDU2NDQzODJj
NjYxMDczZDlmZjMzMzZmZDViNGFiOGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1RleHQKKwor
UEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0
dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNp
dHktZGVzY2VuZGFudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjhhZGE0OWI3NjdmMDExODQ4ZGUzYjU0OWQ5M2M3NTczZGQ0YjQ3MWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5j
ZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBhbmNlc3RvciBvcGFjaXR5PC90aXRsZT4K
KzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRp
dmU7CisgICAgICAgIHRvcDogMDsKKyAgICB9CisKKyAgICAjY2hpbGQgeworICAgICAgICBvcGFj
aXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgYW5kIGludGVybWVkaWF0ZSBjbGFz
c2VzIGFyZSBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50
ZnVsICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorCisgICAgI21haW4uaW50
ZXJtZWRpYXRlICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorCisgICAgI21h
aW4uaW50ZXJtZWRpYXRlIHsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAjbWFp
bi5jb250ZW50ZnVsIHsKKyAgICAgICAgb3BhY2l0eTogMC41OworICAgIH0KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0Pgor
PGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0iY2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2Pgor
PHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4iKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFj
N2NhZWU4NzMwZGFjNmVlMWU2NjZkYmRjNzljZWI0ODVjOWFjZjkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gb3BhY2l0eS1yZXZlYWxlZCBl
bGVtZW50LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1vcGFjaXR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODNhZmRkZTE5NWI3M2ViN2EzNDgyNTVk
YTA1NTk0YjFhMmJjNDVhMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5
Lmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Q
ZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBvcGFjaXR5PC90aXRsZT4K
KzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRp
dmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jl
c291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAg
LyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAg
ICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgb3BhY2l0eTogMC4xOworICAgIH0KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2Ny
aXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVsZW1lbnQu
Iik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNThjMGU2ZjdiY2FmODhiM2I5YjYyYWE1ODU4ZGEy
ODZhOTBiN2M5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiAKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjY0OWQ5MGY4YzU4NTg2NzczNGU4NTViYTg2ZTA3MTY5YjcyNzM4NQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gdHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZTc5NzVlZWM0
NTI2N2Q1YjI5NTk0YmE1YWRmMGRmMDNkMmEwMmU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVz
dDogRkNQIGR1ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQ8
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9y
bTogdHJhbnNsYXRlKC0xMDAwcHgpOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAg
ICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9j
aXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVk
IGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAg
dHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIikKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1i
b3VuZHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzU1Mzc3MmQ0ZmM2YjY4Yzk3Njk0NDIxMjk3MjNhNTdlMDdhZWExNgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVz
dDogRkNQIGR1ZSB0byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudDwvdGl0bGU+Cis8c3R5bGU+
CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgIGxlZnQ6IC0xMDAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3Vy
Y2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRl
ZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAg
ICAgICBsZWZ0OiAwcHg7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4K
KzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVl
IHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdmVyZmxvdy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW92ZXJmbG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDdjYzM0NjYzYjdmODQ2MDU1ZmY1YTZjYTFk
MDdmYzFiNDY3NzQ2NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdmVyZmxvdy5o
dG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVy
Zm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCB3aXRoIGVsZW1lbnQgY2xpcHBlZCB3aXRo
IG92ZXJmbG93PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAx
MDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsK
KyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNz
IGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwg
eworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9CisKKyAgICAjdGV4dCB7CisgICAgICAg
IHRvcDogMTAwMDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgIH0KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2Ny
aXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0idGV4dCI+SEVMTE88L2Rpdj4KKzwv
ZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBldmVuIHdoZW4gZWxlbWVudCBpcyBoaWRkZW4gZHVlIHRvIG92ZXJmbG93LiIpCis8L3Njcmlw
dD4KKzwvYm9keT4KKworPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LWRpc3BsYXktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1NWIyYjhkOTJjOGU2ZWU5NDcwNDQw
MDljZjdjMTBlZmRiZDY2MjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4gCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUwZmQ2
MjZlODk5OTQwYmEyZDZkMTkzNDRkZjQxMTExZmVhZmQ2ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCkBAIC0wLDAgKzEsMzIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5n
IFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAx
MDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7
CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9
CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0
LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBkaXNwbGF5OiBibG9j
azsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0Pgor
ICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8t
ZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlZDcy
Y2IwZDFmOWE3M2FiMDU2MTRiNWM0MjdmMGU5YmU0YWIzMjgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1l
bGVtZW50IGltYWdlLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LWltYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iYTM4ZWRiNjhjYmVkZjMxNTczNDRjYjk0NzdjMmU0OGZiMWRhZWE4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwKQEAgLTAs
MCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQ
YWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZTwvdGl0bGU+
Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAv
KiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAg
ICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBjb250ZW50OiB1cmwoLi4vcmVzb3Vy
Y2VzL2NpcmNsZXMucG5nKTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9k
aXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43MzU3OTBmZGU4ZjA3ZmM3NjNiZTI0MGJhYWEwM2ExOTdhYTlhYWY1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4g
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIy
MDk4NjRkNWQ2ZTNjODM0ZWQwOTgzMjE5NmVjZTA3Y2Q2OTI4ODYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCkBAIC0wLDAgKzEsMzIg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGlt
aW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0dGluZyBwb3NpdGl2ZSBvcGFj
aXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxh
dGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
IH0KKworICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiOworICAgICAg
ICBvcGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5l
ZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7Cisg
ICAgICAgIG9wYWNpdHk6IDAuNTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgor
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIikKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LXRleHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1NWIyYjhkOTJjOGU2ZWU5NDcwNDQwMDlj
ZjdjMTBlZmRiZDY2MjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtdGV4dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4gCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhMjEwNWU0NTMwMGMyNDc3
Zjk1MzZlNzc2ZTU4YzMxNTYxZDk1ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1s
PgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUg
dG8gcHNldWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAg
ICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmlu
ZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgewor
ICAgICAgICBjb250ZW50OiAiVEVYVCIKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4i
PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4KKzwvYm9keT4K
KworPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2li
aWxpdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxp
dHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1ZWNlZWU4Nzc5OGI1NzhjYmI2YWZjNGVjZjYy
YTI4MmY4ZTQ5MDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlz
aWJsZS4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmls
aXR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmM5MDNjNDcyMTg1MWVmZjM2MTM1ZWYxZWVlYWZmZDljYzVhOWM0NmMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1s
CkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21p
bmcgdmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsK
KyAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwg
Y2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVu
dGZ1bDphZnRlciB7CisgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcg
dmlzaWJsZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU5MjY1OWI3Njg1Yjg0ODUwMWUxNjY4Zjc4YWViNGU0MGM4NTFkNzQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gU1ZHIGJlY29t
ZXMgY29udGVudGZ1bC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1zdmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iY2QyMzcyY2ZjM2I3Mzc0ZWNiYTdlNGVl
MWNkMDc3YjNlNTFmNzk4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1s
CkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCB3aXRoIFNWRzwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgIH0K
KworICAgICNjaXJjbGUgeworICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBj
b250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNt
YWluLmNvbnRlbnRmdWwgI2NpcmNsZSB7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgIDxzdmcgdmlld0JveD0iMCAwIDEwIDEwIiB4
bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCisgICAgIHhtbG5zOnhsaW5rPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKyAgICA8ZGVmcz4KKyAgICAgIDxjaXJjbGUgaWQ9
Im15Q2lyY2xlIiBjeD0iNSIgY3k9IjUiIHI9IjQiIHN0cm9rZT0iYmx1ZSIvPgorICAgIDwvZGVm
cz4KKyAgICA8dXNlIGlkPSJjaXJjbGUiIGhyZWY9IiNteUNpcmNsZSIgZmlsbD0iZ3JlZW4iIC8+
CisgIDwvc3ZnPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIHdoZW4gU1ZHIGJlY29tZXMgY29udGVudGZ1bC4iKQorPC9zY3JpcHQ+
Cis8L2JvZHk+CisKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFt
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjA5ZjdjYmFhNWI3YmU5ODAyNTI3MWZkMjcyODg1Y2RhZmU5OGViZWUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNCBAQAorCisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4g
Zmlyc3QgZnJhbWUgaXMgbG9hZGVkIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8t
ZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZm
ZjM4Y2QyYzgxMTkzN2NhYzM4YzYwNWU5NDQwMmVhYjFlNGU5NzcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbApAQCAtMCwwICsxLDI0IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBG
Q1AgZHVlIHRvIGxvYWRlZCB2aWRlbyBmcmFtZTwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHZpZGVvIGlkPSJ2aWRlbyIg
YXV0b3BsYXk+PC92aWRlbz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsK
KyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcs
ICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21p
c2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0
IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICAgIGNvbnN0IHZpZGVvID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpZGVvJyk7CisgICAgICB2aWRlby5zZXRBdHRyaWJ1dGUo
J3NyYycsICcvbWVkaWEvdGVzdC5tcDQnKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29s
dmUgPT4geworICAgICAgICB2aWRlby5vbmNhbnBsYXkgPSByZXNvbHZlOworICAgICAgfSk7Cisg
ICAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAnVmlkZW8gc2hv
dWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gZmlyc3QgZnJhbWUgaXMgbG9hZGVkJyk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1w
b3N0ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODgzYWVjNTJlZTQ1ZTQwODllNTQyZDVjZTIzOTRhY2ZlMjE0N2YzNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVs
IHdoZW4gcG9zdGVyIGlzIGxvYWRlZCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVv
LXBvc3Rlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmVkOWNhYmNhZWViOGM2MjY4N2FlZTdlYzQwMzM2NTBlZWVhMzI5NWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVz
dDogRkNQIGR1ZSB0byBsb2FkZWQgdmlkZW8gcG9zdGVyPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8dmlkZW8gaWQ9InZp
ZGVvIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvdmlkZW8+Cis8c2NyaXB0PgorICBwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9y
bWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAg
YXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIp
KTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgY29uc3Qg
dmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmlkZW8nKTsKKyAgICBjb25zdCBzcmMg
PSAnLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nJzsKKyAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFn
ZSgpOworICAgIGltYWdlLnNyYyA9IHNyYzsKKyAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3Bvc3Rl
cicsIHNyYyk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIGlt
YWdlLm9ubG9hZCA9IGFzeW5jICgpID0+IHJlc29sdmUoKTsKKyAgICB9KQorICAgIGF3YWl0IGFz
c2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdWaWRlbyBzaG91bGQgYmVjb21lIGNv
bnRlbnRmdWwgd2hlbiBwb3N0ZXIgaXMgbG9hZGVkJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNTljMmZl
YTkwZjAwNjE1OWExOTM1MjI5ZjU5OWRjZDNjNzZiZTdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorVEVYVAor
CitQQVNTIFdoaXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsLiAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0
ZXNwYWNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmUxZjQyNWRlODAyMjU5MzFhNTE3YjZjODM5ZTdiZTIz
YmYyNmY5MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwK
QEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogV2hpdGVzcGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNv
bnRlbnRmdWw8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246
IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcp
OworICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDAgMDsKKyAgICB9CisKKyAgICAjdGV4dCB7Cisg
ICAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBp
cyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICN0
ZXh0eworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9
Im1haW4iPgorICAgIDxkaXYgaWQ9IndoaXRlc3BhY2UiPiAgIDwvZGl2PgorICAgIDxkaXYgaWQ9
InRleHQiPlRFWFQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiV2hpdGVz
cGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwuIikKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYzhhOTM3OTlkZDZkZDUzMWYxYTJkYWUwNzIw
NTEyNTMzMDAxOWMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvdzNjLWltcG9ydC5sb2cK
QEAgLTAsMCArMSw0MCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0
ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRp
cmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAor
CitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQor
UHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWlt
YWdlLXR3by1zdGVwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90
YXRlLWRlc2NlbmRhbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFu
c2l0aW9uLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRh
bnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW9wYWNpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdmVy
Zmxvdy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LW9wYWNpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZp
c2liaWxpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXN2Zy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1s
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3Zn
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjZiNWZkYmU4ZTA2NTM3MjgxMjUzMzFiNTk4ZjU2Y2Q1NTQ1OGE5NGQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2ZwpAQCAtMCwwICsxLDMgQEAKKzxz
dmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiPgorICAg
PGNpcmNsZSBjeD0iMTAwIiBjeT0iNTAiIHI9IjQwIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lk
dGg9IjIiIGZpbGw9Im5vbmUiIC8+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJj
bGVzLnBuZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MDg2ODJhMjA3YjQ3
ZDg3ZjU4MmM3OWYzYTVhYjUxOWQ3ZjUyMDVkCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyNDc5
CnpjbVY7ZzJ+aFRsUCk8aDszS3xMazAwMGUxTkpMVHEwMDFOYTAwMmtgMV5AczZvO0Z2eDAwMDgr
WCt1TCROa2M7Kgp6UDt6ZihYPjRUeDBDKWp+UkxeU0BLQHxRclptR35CMndIMG52VXJkcE5tOzlD
TWJ0TF41bl5pJCthSTw/a1lxRFMKeileMFpJP2syVVJofihuWUQmOXJ5cCRHcWY5KHdSKEZHX2A0
TUpWMkBDfU49KEUlRDg2T3R6KSF6fE1hMi1aJEBrCnpaKzcxUjRSWD5uXj8oSEE0YVpXVjVvdjZF
TFRkYm8wRkkmd0t7Tz4qK3c0dngyMD8+IWBGclFzZEpsbkhSPk9QeQp6Y2R+Yl9uJG90SzJaYTRW
Ozc2TC1Eek5WdGFTQi15MCpFfXtwKCkzNzI7YndfXjZaWn1QSS05MndHUyZqIzkxUEkKektzN0RT
ZUAoYmslX1ktN2dHZX0oXj5JPUBvWSN3IypCdTlHWmYzXkY1V1A+M3JufTdVdDc0Jj9QV0JGdnlg
QSlhCnpQUDUpViFYZCY3OExkQT94USg5bWpNWUVsVmQxM2EjRCtaXzcmWXx4VT1fQy1zcldVKjZr
aVpjQyEkbncqKTkkNwp6bjZDWCtAPUFobWtUfVhAVlNzYTVOS2U7SFp1cSl+MSRgI2g2UitaVFIj
RC0zan12RiEpWk9ueis1KWRJNGpse3sKejQ0TXJ7UCFMNH5WVkpOYEshIVhURipMR3JLTz9JSzg8
VHI3YnRHIUxiWWV1WUwzPWpiSi0xUCQtOH12JUI1eztNCnp3RnJ7QExIO1ZRJHhyMlpgTzkzZSpq
RCRIdCglJjxeNThxZzwoYXR9OUBvPno8OHdgM2Uzakk4bFVHTlV0YSpDOAp6bihQYHM+e3BqRD03
S2VrI0I7RndAaHhBSyUkRiZRNnZnOUpeWGZ+NGJ5X2h1LT1BIU1KM1pucSZufnNyYkZHUHMKekgm
JmFNWFo+bk9gfGhmfGxqYz9WUGhSISR7QWJPP1c4eF8+Q1UlUEZBJkhtOEY3Y0FzT1JFZHdVflJf
O290MV91CnoocnVDWUItTFBHbiFOUWRUfFpsUnkrKGZ3Xi0rYD0lK2dlZV9rWTRGV0hnPCo0c1pJ
OCtzRkpEPG9BbF9wQ3wkXgp6WX5hWTV4QH1XJj8rfkc3ckVZVnMwdkVzMGVla3chWW9tVFJgfitB
JHN9YCtOSEo+MjcwVVVPUmRMSE8wbkE0VikKeiV7ZndzRVQ1Q1E+Qj9lSyV1dzR5UWN+OT8qSlZv
PHZ6Yis1PjJ9emUoO2FSY3AqY2VMI0hVSlNsbHJnbTV3UUtSCnpRdStDO1FyVWheOHJGZkFgZnRG
entZQWlkaS1gYUwwMTBxTlMjdG1ZM2xqaFUzbGprVm53JUhfMDB3N0NMX3QoJgp6MT9gJHFaJmdK
USQ5SnpTNW1ITkFWdUhqYks4Z2VicEB8QjkwKHx0ekNsY2A7ekpSOFlGTSNpQUxQRWxta01hb3cK
ekIhU2VfczYzakspRnp+Vypubnh7VTRRP1hJWCQ9TS1xSUhDPD5eZWE9al9oZW90ZDRULUpPfHhi
REdhMz9GdmZECnpYQDtLclElUjRnS2l3UXY1eStkRU00dG9ubkZqTldgYXxCbVV3Yis+cyQtM0lx
YlZaWTVNJj9xNl5KfE9sRnF7UQp6MWclLWhBJlBgcDwrKChNVWw/PHBfRVFyaHJeRGRhTCRIcVo8
U2BKUUJhbTIrS35UaCZaRXpge0A7O1lKSW5DUkoKenVuKX0jTHJ1N1JsbFBVQl5BRll8cno1bDxQ
flZebyk+IVVlR1NeQjxsTUVTV0FoUnhLNSNucHdyO0tuKHplNFhPCno/UylrR0FINHEje0sxc1ZR
SjlgJiV4VW4pMUFpQnh6R0JSRStLMmNxZnUyek13YmMtKVVMdmkjVEJVcik8OHh7KAp6VUF+M0Bt
JS1ubTRWcSRvdFgwPkE2Tz1URWZFU19oODctTFNAMWIhJSM/QTFTWkVZMipBeTgkdzR7Y0VEez4q
PzYKekNeczFRMUBDKCVLKGJ7TkE8YX5fKGQ4fEhncDtqRnYlPE59clN2WSVaKXU7USs9a1lOTDhs
VWBudTNnRTZFeHBSCnppbGhkKnp3PFo+bXYxTitnVE80endMQn44MG5+KWw1KFM1PHJlIXx9PlJ1
fEhrTGhya2E9fmVMLVVCYVE7O0gzeAp6VEFFVGMjekJvNihTbH5PMzhRdEZGbUthbWlmYDxvdj07
cmgzSW5uU15pNT9nIyFOWDRYZURlKHc4Z2BoVC1zRkcKekI5T05Cbjs9KE5iOExvWER5RXJCO05N
fjNVekVvJnNHMj5eOWw9PkB0WjBaPCU5b3JySmUoSWlqZCEpfF5TU3J8CnpoVFg4NlF1JmIlSCUh
SVNqMG18cz84dG89OVhpbHszITMqKz8qN0NabzY0Vkg9LVBkPHIkQDN2JXxlQzx1KGdmMwp6OEwk
dnFwOHIlQzV7UTspMD4lVGE3KjhRMkxyRVJLNCVpS0w9JC1QZFpNI1ZaVHJIQ1ozPEkqISUkKTg7
SlVCKVkKelhQZmgwTDM9YU9rblNlSUllUjl+OEctTW51ekNNN3EtUTUrTG9Sc1A+Mks4Y3I7Y0Jn
ZTZ5MnY1JWU3LSlwZW4qCno9JVFOUnAqPStOTiQ/UF8jbyNTJipwT34qVTZlJmZkY0dCR04xPlZL
akdUdmY4Z0ZFZkVQKmB7eX02c0xyVzRyRAp6ZyhqS2R2XypSKGNyNz9kXkJudmwwV3NASHlDX3Yl
X3g0RGk+cG8/OEk9QnBEdGBUPTdiWmRMdDUyO2JnUXtSNlQKelBrOH5HOFg2Xyp6MHQ7fjFAaVB7
PEBodGF7bmo/ciRSNlMkVWdHSlhEYFpuY3gtPGNFdTJoTVdUaCk9bEp+dDB8CnpJPUJxSiVrWTY2
UE1WWntgP0B2N2hhdGEyVGklNUw/QHx5bFZBUDVaYmgqaEAjYUZnb3FjYGc2IXEkUThDWm5MPgp6
ZkRYb0tRKFpCS1R0NHN8Wjg+MGFvT30qY2g2dGlMODljPTZJMHYkVjBkYnF3IVQyb0xVVTg9UXp5
a081TXhpUEIKelVTWV89RD05S0R1OTlVUTBxeVNNI18hNWAkQnNKM2tYWmgreXVgO1FwN25wfWhr
U09ZbmVucXJfY3RnbXo7Qk5DCnpWUilAYkx5fDJ7V2AhejNuTHwhQk87QkRfV2s/YGVxNnJ1ZXVA
X0gpV1FZVUQhO3ZIQXhuKThYXlc8PkkmOWsjPgp6Z0BMcVE5NWh6dmp7S25la1BfYFBAS2FjJTRX
JDZtZ051a2Q8ZkEtYmZOdVFyM147fk1afkAjWlpUWiE1XjV3OD0KemBTdjI1dkBlXlA7eXVDbUtj
VzMpKDd0V0ZqSGdBalBCI1M3NDBRVyRGYz1faURoaCtseV9BcTEyS2Z2WDJGWF92Cnp4RzgkUV9n
UUs0NFNMOWNtd1lsMjI5LXAjM2xEKXV2OSkmKjBfbF44aV9yYFBeKGsmcnByfDtpdXN2VG1QISFH
bgp6S29LTW15bX1Aa0pAdFQ9UEhVLS1oXlNleCZLN2E5QlhZVVFja0t3QlFfSXdxSUZRRXZpSzNm
WnhNZDJ2KTxXczQKek9pYTU7NWU3Q0JuKC0oQHl0YXpLd3J9USNlQkVfO1pKJXNkZyFuREtLUUd6
djUjUWczcF9iKD8jPjtObmQkUGdDCnokM3UzWWAkaHF6Vyg/cy0kSmlDfnltWEI5PHxeVUB3bkh6
e0Z9fERqb1FeU1NAbztUPHMzWj9TJUsjc1d7UDJ3MQp6Uz9wTUYyaFNwMzg4OD42QyM8fSRDbnQ4
N3VvfCNyQXhxekAlOGF+QDVRLVhmMz05U3JjIUVCWWJvaUhrdkszKT4KemhPSEwwYk5gWHw9LUt2
emMpamVCdChqaDRTJm5oZ2t7T09pbmA2YGhPQi0mJHpUOCM0R1QlMUcqeGJzc087eG92CnokTE99
UntuTT5YZXBIKWQrK0l0KVUpbWdGdVFzLTt3PmllYEd9RllwcXRXSVZufGk2K1pIfT9sI2E/UHtq
PE1FTwp6bmA1a1hGfVQoPmJlbSlCKkdgKmI/QUorK1g+KkxWRjElS1M7JSR5RyZKO199RFVhMHFY
T3VSX05RIXNoQURZQDYKdFdCO0d4e0NCUzxMakc1cFc3SjxXTSkkWUR7e2ROVTRMSn0pWlpga2Aw
MDJvdlBESExrVjFmZTIjcDNffgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFp
bnRpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZmI1ZTI4ZDhhNGFiZjNlNWUwN2Q5YjA2YjM2Njk0Y2Fj
MjQwMmMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0
bWwKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KKzxkaXYgaWQ9Imlt
YWdlIj48L2Rpdj4KKzxzY3JpcHQ+CisgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ0lNRycpOworICBpbWcuc3JjID0gJ2NpcmNsZXMucG5nJzsKKyAgaW1nLm9ubG9hZCA9IGZ1
bmN0aW9uKCkgeworICAgIGZ1bmN0aW9uIHNlbmRQYWludEVudHJpZXMoKSB7CisgICAgICBjb25z
dCBwYWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdwYWludCcpOwor
ICAgICAgaWYgKHBhaW50RW50cmllcy5sZW5ndGggPCAyKSB7CisgICAgICAgIHNldFRpbWVvdXQo
c2VuZFBhaW50RW50cmllcywgMjApOworICAgICAgICByZXR1cm47CisgICAgICB9CisgICAgICBs
ZXQgZW50cnlDb250ZW50cyA9IHBhaW50RW50cmllcy5sZW5ndGggKyAnJzsKKyAgICAgIGZvciAo
bGV0IGkgPSAwOyBpIDwgcGFpbnRFbnRyaWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIGNvbnN0
IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAgICAgICBlbnRyeUNvbnRlbnRzICs9ICcgJyAr
IGVudHJ5LmVudHJ5VHlwZSArICcgJyAgKyBlbnRyeS5uYW1lOworICAgICAgfQorICAgICAgcGFy
ZW50LnBvc3RNZXNzYWdlKGVudHJ5Q29udGVudHMsICcqJyk7CisgICAgfTsKKyAgICBzZW5kUGFp
bnRFbnRyaWVzKCk7CisgIH07CisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWFnZScpLmFw
cGVuZENoaWxkKGltZyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJh
bWUtc2VuZGluZy1wYWludC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzNzJiZDZmNGY4ODQ2OGFlNjdhNGI1
MTM5MzQ2NDYxYzhkMzU2MjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUt
c2VuZGluZy1wYWludC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNj
cmlwdD4KKyAgc2VsZi5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZSkgewor
ICAgIC8vIFNlbmQgcGFpbnQtdGltaW5nIGVudHJpZXMgdXBvbiByZWNlaXZpbmcgYSBtZXNzYWdl
LgorICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUo
J3BhaW50Jyk7CisgICAgbGV0IGVudHJ5Q29udGVudHMgPSBwYWludEVudHJpZXMubGVuZ3RoICsg
Jyc7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsK
KyAgICAgIGNvbnN0IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAgICAgZW50cnlDb250ZW50
cyArPSAnICcgKyBlbnRyeS5lbnRyeVR5cGUgKyAnICcgICsgZW50cnkubmFtZTsKKyAgICB9Cisg
ICAgcGFyZW50LnBvc3RNZXNzYWdlKGVudHJ5Q29udGVudHMsICcqJyk7CisgIH0pOworPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTkwMmFjNzgxMTY5Mjc5OTYzZTI2NjMwYWE0YjE0MmViYjQ2NTBlMgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwpAQCAtMCwwICsxLDU2IEBACisvLyBO
dW1iZXIgbWlsbGlzZWNvbmRzIHRvIHdhaXQgZm9yIENTUyByZXNvdXJjZXMgdG8gbG9hZC4KK2Nv
bnN0IG51bU1pbGxpc2Vjb25kc1dhaXQgPSA1MDsKKworLy8gV2UgdXNlIHJlcXVlc3RBbmltYXRp
b25GcmFtZSgpIGNhbGxzIHRvIGZvcmNlIHRoZSB1c2VyIGFnZW50IHRvIHBhaW50IGFuZCBnaXZl
IGVub3VnaAorLy8gdGltZSBmb3IgRkNQIHRvIHNob3cgdXAgaW4gdGhlIHBlcmZvcm1hbmNlIHRp
bWVsaW5lLiBIZW5jZSwgc2V0IHxudW1GcmFtZXNXYWl0aW5nfCB0bworLy8gMyBhbmQgdXNlIHRo
YXQgY29uc3RhbnQgd2hlbmV2ZXIgdGhlIHRlc3QgbmVlZHMgdG8gd2FpdCBmb3IgdGhlIG5leHQg
cGFpbnQgdG8gb2NjdXIuCitjb25zdCBudW1GcmFtZXNXYWl0aW5nID0gMzsKKworZnVuY3Rpb24g
d2FpdFRpbWUodCkgeworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0LnN0ZXBfdGlt
ZW91dChyZXNvbHZlLCBudW1NaWxsaXNlY29uZHNXYWl0KSk7Cit9CisKK2Z1bmN0aW9uIHdhaXRG
b3JBbmltYXRpb25GcmFtZXMoY291bnQpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUg
PT4geworICAgIGlmIChjb3VudC0tIDw9IDApIHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9IGVs
c2UgeworICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgd2FpdEZv
ckFuaW1hdGlvbkZyYW1lcyhjb3VudCkudGhlbihyZXNvbHZlKTsKKyAgICAgIH0pOworICAgIH0K
KyAgfSk7Cit9CisKKy8vIEFzc2VydHMgdGhhdCB0aGVyZSBpcyBjdXJyZW50bHkgbm8gRkNQIHJl
cG9ydGVkLCBldmVuIGFmdGVyIHNvbWUgd2FpdC4KK2FzeW5jIGZ1bmN0aW9uIGFzc2VydE5vRmly
c3RDb250ZW50ZnVsUGFpbnQodCkgeworICBpZiAodCkKKyAgICBhd2FpdCB3YWl0VGltZSh0KTsK
KworICBhd2FpdCB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKG51bUZyYW1lc1dhaXRpbmcpOworICBh
c3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ2ZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQnKS5sZW5ndGgsIDAsICdGaXJzdCBjb250ZW50ZnVsIHBhaW50IG1hcmtlZCB0b28g
ZWFybHkuICcpOworfQorCisvLyBBc3NlcnRzIHRoYXQgRkNQIGlzIHJlcG9ydGVkLCBwb3NzaWJs
eSBhZnRlciBzb21lIHdhaXQuIFRoZSB3YWl0IGlzIG5lZWRlZAorLy8gYmVjYXVzZSBzb21ldGlt
ZXMgdGhlIEZDUCByZWxpZXMgb24gc29tZSBDU1MgcmVzb3VyY2VzIHRvIGZpbmlzaCBsb2FkaW5n
LgorYXN5bmMgZnVuY3Rpb24gYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQodCkgeworICBpZiAo
dCkKKyAgICBhd2FpdCB3YWl0VGltZSh0KTsKKyAgYXdhaXQgd2FpdEZvckFuaW1hdGlvbkZyYW1l
cyhudW1GcmFtZXNXYWl0aW5nKTsKKyAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRy
aWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoLCAxLCAnRXhwZWN0ZWQg
Zmlyc3QgY29udGVudGZ1bCBwYWludCBub3QgZm91bmQuICcpOworfQorCitmdW5jdGlvbiB0ZXN0
X2ZjcChsYWJlbCkgeworICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0
eWxlJyk7CisgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOworICByZXR1cm4gcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBl
cmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOwor
ICAgIGNvbnN0IG1haW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbicpOworICAgIGF3
YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7
CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIG1haW4uY2xh
c3NOYW1lID0gJ3ByZUZDUCc7CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWlu
dCgpOworICAgIG1haW4uY2xhc3NOYW1lID0gJ2NvbnRlbnRmdWwnOworICAgIGF3YWl0IGFzc2Vy
dEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sIGxhYmVsKTsKK30KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MzA4MjljNGVlNTQ3OTIzNzdiZmFiYWU2NmM5YTM3MjU0ZTI0MDI2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjEgQEAKK1RoZSB0
ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0
b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9n
aXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1v
ZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVz
OgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNs
ZS5zdmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9j
aXJjbGVzLnBuZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVzb3Vy
Y2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFp
bnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQt
ZnJhbWVzLnN1Yi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvZmly
c3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMuc3ViLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
YTY4ODA2MzBjYWMzODVhYmExZWVlMGVkMjNlM2I5ZWQyMmJkNDJlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJh
bWVzLnN1Yi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDc6IFtvYmplY3QgUGVyZm9ybWFuY2VQYWludFRpbWluZ10KK1BhaW50IEFQSSBzaG91bGQg
YmUgYXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmln
aW4vc2FuZGJveGVkIGZyYW1lcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgZGlkUmVjZWl2ZU1lc3NhZ2UgaXMgZmFsc2UKK1BBU1MgcmVjZWl2ZWRFdmVudC5zb3VyY2Ug
aXMgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNhbmRib3hlZCcpLmNvbnRlbnRXaW5kb3cK
K1BBU1MgcmVjZWl2ZWRFbnRyeS5uYW1lIGlzICdmaXJzdC1jb250ZW50ZnVsLXBhaW50JworUEFT
UyByZWNlaXZlZEVudHJ5LnN0YXJ0VGltZSAhPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKClbMF0u
c3RhcnRUaW1lIGlzIHRydWUKK1BBU1MgZGlkUmVjZWl2ZU1lc3NhZ2UgaXMgdHJ1ZQorUEFTUyBQ
ZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2FzIGZp
cmVkIGZvciBzYW1lLW9yaWdpbiBmcmFtZSBidXQgbm90IGZvciBjcm9zcy1vcmlnaW4gZnJhbWUK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCisKK1RF
WFQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50
ZnVsLXBhaW50LWZyYW1lcy5zdWIuaHRtbCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9m
aXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5zdWIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTg1ODYw
NjcxNTg3NDU4MDI4OWIyMzVjMGMzMTgzMjc2N2RiNThjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLnN1
Yi5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CisgICAgPGlmcmFtZSB3aWR0
aD0iMTAwIiBoZWlnaHQ9IjEwMCIgaWQ9Im5vblNhbmRib3hlZCIgc3JjPSIuL3Jlc291cmNlcy9m
Y3Atc3ViZnJhbWUuaHRtbCI+PC9pZnJhbWU+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2Pgor
PGlmcmFtZSBpZD0ic2FuZGJveGVkIiBzcmM9Imh0dHA6Ly97e2hvc3RzW2FsdF1bXX19Ont7cG9y
dHNbaHR0cF1bMF19fS9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1s
IiBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIj48L2lmcmFtZT4KKzxkaXYgY2xhc3M9InNwYWNlciI+
PC9kaXY+CisKKyAgICBURVhUCisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiUGFpbnQgQVBJIHNo
b3VsZCBiZSBhdmFpbGFibGUgZm9yIHNhbWUtb3JpZ2luIGZyYW1lcyBidXQgbm90IHRvIGNyb3Nz
LW9yaWdpbi9zYW5kYm94ZWQgZnJhbWVzLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
Oword2luZG93LmRpZFJlY2VpdmVNZXNzYWdlID0gZmFsc2U7CisKK3dpbmRvdy5vbmxvYWQgPSBh
c3luYyAoKSA9PiB7CisgICAgY29uc3Qgc2FuZGJveGVkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3NhbmRib3hlZCcpOworICAgIGNvbnN0IG5vblNhbmRib3hlZCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKTsKKyAgICBjb25zdCBmY3BNZXNzYWdlUHJvbWlzZSA9
IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gZXZl
bnQgPT4geworICAgICAgICAgICAgd2luZG93LnJlY2VpdmVkRXZlbnQgPSBldmVudDsKKyAgICAg
ICAgICAgIHdpbmRvdy5yZWNlaXZlZEVudHJ5ID0gSlNPTi5wYXJzZShldmVudC5kYXRhKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVNZXNzYWdlJyk7CisgICAgICAgICAg
ICBkaWRSZWNlaXZlTWVzc2FnZSA9IHRydWU7CisgICAgICAgICAgICBzaG91bGRCZSgncmVjZWl2
ZWRFdmVudC5zb3VyY2UnLCAiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNhbmRib3hlZCcp
LmNvbnRlbnRXaW5kb3ciKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdyZWNlaXZlZEVudHJ5Lm5h
bWUnLCAiJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnIik7CisgICAgICAgICAgICBzaG91bGRCZVRy
dWUoJ3JlY2VpdmVkRW50cnkuc3RhcnRUaW1lICE9IHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKVsw
XS5zdGFydFRpbWUnKTsKKyAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgfTsKKyAgICB9
KTsKKworICAgIHNhbmRib3hlZC5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCJwYWludCIsICIq
Iik7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIG5vblNhbmRib3hlZC5jb250ZW50V2lu
ZG93LnBvc3RNZXNzYWdlKCJwYWludCIsICIqIik7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOwor
ICAgIGF3YWl0IGZjcE1lc3NhZ2VQcm9taXNlOworICAgIHNob3VsZEJlVHJ1ZSgnZGlkUmVjZWl2
ZU1lc3NhZ2UnKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNv
bnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2FzIGZpcmVkIGZvciBzYW1lLW9yaWdpbiBmcmFtZSBi
dXQgbm90IGZvciBjcm9zcy1vcmlnaW4gZnJhbWUiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307
CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mOTdhODI5MGI2OGEyYmZhYTI2MTA0ZjNmYjQyZTVmMjFiOTc3ZjhkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitCYXNpYyBJbnRlcmZhY2UgdGVzdCBmb3IgcGFp
bnQtdGltaW5nIEFQSXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQZXJmb3Jt
YW5jZVBhaW50VGltaW5nCitQQVNTIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaXMgZGVmaW5lZC4K
K1BBU1MgUGVyZm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUudG9KU09OIGlzIGRlZmluZWQu
CitQQVNTIG5ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBQZXJm
b3JtYW5jZVBhaW50VGltaW5nKCknKS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
YWludC10aW1pbmctYXBpcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRkZGFkZjJkMWQxZDFlNTRmN2U0YjQ0
MDJmZjYzMjc1ZTFmNzA1ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZ
UEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9wYWludC10aW1pbmctYXBpLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1m
aXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lYWM0MDlkZWI2YzM4MWM4NDI3NGU1MTUzZjQ1Y2Q4NmFmNDA0
MDE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZv
cm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTAgQEAKK1BBU1MgZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50IGlzIHRydWUK
K1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1h
bmNlLmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGggaXMg
MQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBh
aW50IiwgInBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
VHlwZSgicGFpbnQiKS5sZW5ndGggaXMgMQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0
LWNvbnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2Fzbid0IGZpcmVkIGFnYWluIAorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitURVhUMgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0
LWNvbnRlbnRmdWwtcGFpbnQuaHRtbCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJm
b3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTkxOTYwNzE1NjYyNzgxZGM5MGVhYzY0OWYyM2FkMDRhMWI2NGNiZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJz
dC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKQEAgLTAsMCArMSw1MSBAQAorPCFET0NUWVBFIEhUTUw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJFbnN1
cmUgUGVyZm9ybWFuY2VPYnNlcnZlcnMgYXJlIG5vdGlmaWVkIG9uY2UgZm9yIGZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisgCisoYXN5bmMg
KCkgPT4geworICAgIHdpbmRvdy5kaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQgPSBmYWxz
ZTsKKyAgICB3aW5kb3cuc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAgYXdhaXQg
d2FpdEZvckZDUCgpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAg
ICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGVudHJ5TGlzdCA9PiB7
CisgICAgICAgICAgICB3aW5kb3cuZW50cnlMaXN0ID0gZW50cnlMaXN0OworICAgICAgICAgICAg
c2hvdWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzKCkubGVuZ3RoJywgIjEiKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1
bC1wYWludCIpLmxlbmd0aCcsIDEpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2VudHJ5TGlzdC5n
ZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCcsICIxIik7CisgICAgICAgICAgICB3aW5k
b3cuZmNwRW50cnkgPSBlbnRyeUxpc3QuZ2V0RW50cmllcygpWzBdOworICAgICAgICAgICAgc2hv
dWxkQmVGYWxzZSgnZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50Jyk7CisgICAgICAgICAg
ICBzaG91bGRCZSgnZmNwRW50cnkubmFtZScsICciZmlyc3QtY29udGVudGZ1bC1wYWludCInKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5lbnRyeVR5cGUnLCAnInBhaW50IicpOwor
ICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdmY3BFbnRyeS5zdGFydFRpbWUgPiB3aW5kb3cuc3Rh
cnRUaW1lJyk7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoJ2ZjcEVudHJ5LnN0YXJ0VGltZSA8
IHBlcmZvcm1hbmNlLm5vdygpJyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50cnkuZHVy
YXRpb24nLCAiMCIpOworICAgICAgICAgICAgZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50
ID0gdHJ1ZTsKKyAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAg
b2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydwYWludCddfSk7CisgICAgICAgIGRvY3Vt
ZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQnOworICAgIH0pCisgICAgZG9jdW1lbnQuYm9keS5p
bm5lclRleHQgPSAnVEVYVDInOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBzaG91bGRC
ZVRydWUoJ2RpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCcpOworICAgIHNob3VsZEJlKCdw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzKCkubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgncGVy
Zm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIpLmxlbmd0
aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImZp
cnN0LWNvbnRlbnRmdWwtcGFpbnQiLCAicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHNob3Vs
ZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCcsICIxIik7
CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBh
aW50IGNhbGxiYWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30pKCk7CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sIGIvTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jZTI5YThhMTUyNTUzYWIzYWQzMzBjZWRkNzE5YzQ1MzUzOWFjMzQwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJh
bWUuaHRtbApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0PgorICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIo
bGlzdCA9PiB7CisgICAgICAgIGxpc3QuZ2V0RW50cmllcygpLmZvckVhY2goZSA9PiB7CisgICAg
ICAgICAgICBjb25zb2xlLmxvZyhlKTsKKyAgICAgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1l
c3NhZ2UoSlNPTi5zdHJpbmdpZnkoZSksICcqJykKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAg
ICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbJ3BhaW50J119KTsKKyAgICB3aW5kb3cu
b25tZXNzYWdlID0gZSA9PiB7CisgICAgICAgIGlmIChlLmRhdGEgPT0gJ3BhaW50JykKKyAgICAg
ICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gIlBBSU5URUQiOworICAgIH0KKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyBiL0xh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjVhN2NlZWY0OTQxOGRiNjQ1NWM2YzFmMTU2NGE2NGY4MTY5NzY4M2MKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50
LWFwaS11dGlscy5qcwpAQCAtMCwwICsxLDUgQEAKK2FzeW5jIGZ1bmN0aW9uIHdhaXRGb3JGQ1Ao
KQoreworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVxdWVzdEFuaW1hdGlvbkZy
YW1lKCgpID0+IHJlc29sdmUoKSkpOworICAgIHJldHVybiB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0
RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0aCA9PSAxOworfQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcyBiL0xheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
ZjBjOGI2MGJhNGI5NTVhN2ZhOTllZGFiNGY3Y2E1MTdiY2RkZGI0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBp
LmpzCkBAIC0wLDAgKzEsMTMgQEAKK2lmIChzZWxmLmltcG9ydFNjcmlwdHMpCisgICAgaW1wb3J0
U2NyaXB0cygiLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIik7CisKK2lmIChzZWxmLndp
bmRvdykKKyAgICBkZXNjcmlwdGlvbigiQmFzaWMgSW50ZXJmYWNlIHRlc3QgZm9yIHBhaW50LXRp
bWluZyBBUElzLiIpOworCitkZWJ1ZygiUGVyZm9ybWFuY2VQYWludFRpbWluZyIpOworc2hvdWxk
QmVEZWZpbmVkKCJQZXJmb3JtYW5jZVBhaW50VGltaW5nIik7CitzaG91bGRCZURlZmluZWQoYFBl
cmZvcm1hbmNlUGFpbnRUaW1pbmcucHJvdG90eXBlLnRvSlNPTmApOworc2hvdWxkVGhyb3coYG5l
dyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKClgKTsKKworaWYgKHNlbGYuaW1wb3J0U2NyaXB0cykK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlv
bnMuanNvbiBiL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgppbmRleCBkMDgyMGYxNmUw
NmNjMTk0MmNkMzFjYmZjZmZkNmYzZDUzMzA3NWRkLi42ZjcyNDIxNGJmMjIyZTJjMmRmNGM5NmMy
ZThhM2MzOTFjZjA3ODZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpz
b24KKysrIGIvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCkBAIC0xNyw2ICsxNyw5IEBA
CiAgICAgImltcG9ydGVkL3czYy9jc3MvY3NzLXZhbHVlcy92aF9ub3RfcmVmcmVzaGluZ19vbl9j
aHJvbWUuaHRtbCI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNj
L3BhaW50LXRpbWluZy9maXJzdC1pbWFnZS1jaGlsZC5odG1sIjogWworICAgICAgICAic2xvdyIK
KyAgICBdLAogICAgICJpbXBvcnRlZC93M2Mvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2Fu
aW1hdGlvbnMvdXBkYXRpbmctdGhlLWZpbmlzaGVkLXN0YXRlLmh0bWwiOiBbCiAgICAgICAgICJz
bG93IgogICAgIF0sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394280</attachid>
            <date>2020-03-23 11:33:06 -0700</date>
            <delta_ts>2020-03-23 11:51:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200323203302.patch</filename>
            <type>text/plain</type>
            <size>143800</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEwNyBAQAorMjAyMC0wMy0yMyAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BhaW50LXRpbWluZy8jZmlyc3QtY29udGVudGZ1bC1wYWludC4KKyAgICAgICAgQ3VycmVu
dGx5IG11dHVhbGx5IGV4Y2x1c2l2ZSB0byB2aXN1YWxseS1ub24tZW1wdHkgaGV1cmlzdGljcy4K
KworICAgICAgICBXaGVuIHRoZSBmcmFtZSBwYWludHMgb3IgZmx1c2hlcyB0aGUgY29tcG9zaXRp
bmcgc3RhdGUsIGl0IG1hcmtzIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgYXMgYSBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IHBlcmZvcm1hbmNlIGVudHJ5LgorCisgICAgICAgIFRlc3RzOiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdmVyZmxvdy5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LW9wYWNpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXN2Zy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5o
dG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWlu
dC1mcmFtZXMuc3ViLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9wYWludC10
aW1pbmctYXBpcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCisKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1Bl
cmZvcm1hbmNlRW50cnlDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3Jl
YXRlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAg
ICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oOiAKKyAgICAgICAgKiBwYWdlL1Bl
cmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsOgorICAgICAgICAgICAgICAgIEFkZCBuZXcgUGVyZm9y
bWFuY2VQYWludFRpbWluZyBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpwYWludFRpbWluZ0VuYWJsZWQgY29uc3QpOgorICAgICAgICAgICAgICAgIEFk
ZCBQYWludFRpbWluZ0VuYWJsZWQgcnVudGltZSBmZWF0dXJlIGZsYWcuCisKKyAgICAgICAgKiBw
YWdlL1BlcmZvcm1hbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpnZXRF
bnRyaWVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpnZXRFbnRyaWVz
QnlUeXBlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpnZXRFbnRyaWVz
QnlOYW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpyZXBvcnRGaXJz
dENvbnRlbnRmdWxQYWludCk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5oOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyk6CisgICAgICAgICogcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc1BhaW50
IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6Cisg
ICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIHBhaW50IGVu
dHJpZXMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aXNDb250ZW50ZnVsIGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRWxlbWVudDo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
SFRNTENhbnZhczo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1h
Z2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6Omhhc093blBhaW50YWJsZUNv
bnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9i
amVjdDo6Y29udGFpbnNQYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVmlkZW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlkZW86Omhhc093
blBhaW50YWJsZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWRl
by5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aGFzUGFp
bnRhYmxlQmFja2dyb3VuZEltYWdlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR01vZGVsT2JqZWN0OjpoYXNPd25Q
YWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R01vZGVsT2JqZWN0Lmg6CisgICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciBjb21wdXRpbmcg
d2hldGhlciBlbGVtZW50cyBhcmUgY29udGVudGZ1bCAmIHBhaW50YWJsZS4KKworICAgICAgICAq
IHBhZ2UvRnJhbWVWaWV3Lmg6CitgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzRnJhbWUp
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpkaWRQYWludENvbnRlbnRzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bWFya1BhaW50VGltaW5nSWZOZWVkZWQpOgorICAgICAg
ICAgICAgICAgIE1hcmsgZmlyc3QtY29udGVudGZ1bC1wYWludCBvbmNlIHdoZW4gY29tcG9zaXRp
bmcvcGFpbnRpbmcuCisKIDIwMjAtMDMtMjMgIEFsaWNpYSBCb3lhIEdhcmPDrWEgIDxhYm95YUBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtNU0VdW0dTdHJlYW1lcl0gQ2xlYW4gYW5kIGV4cGxhaW4g
Zmlyc3Qgc2FtcGxlIFBUUyBoYWNrCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJ
KHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJ
KHdvcmtpbmcgY29weSkKQEAgLTkyNiw2ICs5MjYsNyBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAg
ICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsIFwKICAgICAkKFdlYkNv
cmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9Q
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZv
cm1hbmNlU2VydmVyVGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNl
VGltaW5nLmlkbCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMxOTcsNiArMzE5Nyw3
IEBAIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcAogSlNQZXJmb3JtYW5jZU9ic2VydmVyLmNw
cAogSlNQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QuY3BwCitKU1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuY3BwCiBKU1BlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmNwcAogSlNQ
ZXJmb3JtYW5jZVRpbWluZy5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpA
QCAtMTM4MDIsNiArMTM4MDIsOSBAQAogCQlDQTA5MUQ4NjIzQ0Y5MDc4MDBBRDQzNDYgLyogU3R5
bGVJbWFnZVNldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUltYWdlU2V0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EwOTFEODkyM0NGOTA4ODAwQUQ0MzQ2IC8qIFN0
eWxlSW1hZ2VTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVJbWFnZVNldC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDQTE2MzVEQzIwNzJFNzY5MDBFN0QyQ0UgLyogUmVmZXJyZXJQ
b2xpY3kuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmZXJyZXJQ
b2xpY3kuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNENDI0MDdDRjZG
MDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludEVudHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZv
cm1hbmNlUGFpbnRFbnRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNE
NTI0MDdENjQwMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUNBMTkzM0Q4MjQwN0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNj
cm9sbEFuaW1hdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNj
cm9sbEFuaW1hdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0Qx
MEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUNBNTJCQUU1MjNEMEFGMTYwMERFMEI4NCAvKiBTdHlsZUN1cnNvckltYWdlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFN0eWxlQ3Vyc29ySW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjA5NDgsNiArMjA5NTEsOSBAQAogCQkJCUE1QTk5MzNBMUUzN0ZBRkQwMDVC
NUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCAqLywKIAkJCQlBNUE5OTMz
QjFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oICovLAog
CQkJCUE1QTk5MzNDMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlM
aXN0LmlkbCAqLywKKwkJCQlDQTE5MzNENDI0MDdDRjZGMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQ
YWludEVudHJ5LmggKi8sCisJCQkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEyNDFBIC8qIFBlcmZvcm1h
bmNlUGFpbnRUaW1pbmcuaCAqLywKKwkJCQlDQTE5MzNEODI0MDdFRENGMDA3MTI0MUEgLyogUGVy
Zm9ybWFuY2VQYWludFRpbWluZy5pZGwgKi8sCiAJCQkJODY1MTJFREIxNTRBMkFFRTAwQTkwNDI2
IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICovLAogCQkJCTg2NTEyRURDMTU0QTJB
RUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8sCiAJCQkJODY1MTJF
REQxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsICovLApA
QCAtMzM3MzEsNiArMzM3MzcsNyBAQAogCQkJCUExMUU4QzA3MUIxRTI4RkUwMDAzQTdDNyAvKiBu
b3J0aEVhc3RTb3V0aFdlc3RSZXNpemVDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQlB
MTFFOEMwODFCMUUyOTAyMDAwM0E3QzcgLyogbm9ydGhTb3V0aFJlc2l6ZUN1cnNvci5wbmcgaW4g
UmVzb3VyY2VzICovLAogCQkJCUExMUU4QzA5MUIxRTI5MDcwMDAzQTdDNyAvKiBub3J0aFdlc3RT
b3V0aEVhc3RSZXNpemVDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKKwkJCQlDQTE5MzNEOTI0
MDdFRENGMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwgaW4gUmVzb3VyY2Vz
ICovLAogCQkJCTkzMTUzQkRDMTQxOTU5QkMwMEZDRjVCRSAvKiB0ZXh0QXJlYVJlc2l6ZUNvcm5l
ci5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJCTkzNzA5MThEMTQxNkQ4NkIwMDQ3NzMzMyAvKiB0
ZXh0QXJlYVJlc2l6ZUNvcm5lckAyeC5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVu
dHJ5Q3VzdG9tLmNwcAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUs
OSArMzUsMTEgQEAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU1BlcmZv
cm1hbmNlTWFyay5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNZWFzdXJlLmgiCisjaW5jbHVk
ZSAiSlNQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VNZWFzdXJlLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5o
IgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKIAogCkBAIC00Niw2ICs0
OCw5IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIEpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChK
U0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxQZXJm
b3JtYW5jZUVudHJ5PiYmIGVudHJ5KQogeworICAgIGlmIChpczxQZXJmb3JtYW5jZVBhaW50VGlt
aW5nPihlbnRyeSkpCisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFBlcmZvcm1hbmNlUGFp
bnRUaW1pbmc+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShlbnRyeSkpOworCiAgICAgaWYgKGlzPFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+KGVudHJ5KSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdy
YXBwZXI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVu
dHJ5KSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGlu
TmFtZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3Jl
QnVpbHRpbk5hbWVzLmgJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTc5LDYgKzE3
OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhQZXJmb3JtYW5jZU1lYXN1cmUp
IFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFu
Y2VPYnNlcnZlckVudHJ5TGlzdCkgXAorICAgIG1hY3JvKFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcp
IFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKSBcCiAgICAgbWFjcm8oUGVy
Zm9ybWFuY2VTZXJ2ZXJUaW1pbmcpIFwKICAgICBtYWNybyhQb2ludGVyRXZlbnQpIFwKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYxMCw5ICsxNjEwLDggQEAgT3B0
aW9uYWw8c3RkOjpwYWlyPFJlbmRlck9iamVjdCosIEZsb2F0UgogICAgIHJldHVybiBzdGQ6Om1h
a2VfcGFpcihyZW5kZXJlciwgcmVzdWx0KTsKIH0KIAotRmxvYXRSZWN0IEVsZW1lbnQ6OmJvdW5k
aW5nQ2xpZW50UmVjdCgpCitGbG9hdFJlY3QgRWxlbWVudDo6Ym91bmRpbmdDbGllbnRSZWN0V2l0
aG91dExheW91dCgpCiB7Ci0gICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5n
U3R5bGVzaGVldHMoKTsKICAgICBhdXRvIHBhaXIgPSBib3VuZGluZ0Fic29sdXRlUmVjdFdpdGhv
dXRMYXlvdXQoKTsKICAgICBpZiAoIXBhaXIpCiAgICAgICAgIHJldHVybiB7IH07CkBAIC0xNjIy
LDYgKzE2MjEsMTIgQEAgRmxvYXRSZWN0IEVsZW1lbnQ6OmJvdW5kaW5nQ2xpZW50UmVjdCgpCiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorRmxvYXRSZWN0IEVsZW1lbnQ6OmJvdW5kaW5nQ2xpZW50
UmVjdCgpCit7CisgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMoKTsKKyAgICByZXR1cm4gYm91bmRpbmdDbGllbnRSZWN0V2l0aG91dExheW91dCgpOwor
fQorCiBSZWY8RE9NUmVjdD4gRWxlbWVudDo6Z2V0Qm91bmRpbmdDbGllbnRSZWN0KCkKIHsKICAg
ICByZXR1cm4gRE9NUmVjdDo6Y3JlYXRlKGJvdW5kaW5nQ2xpZW50UmVjdCgpKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTkyLDYgKzE5Miw3IEBAIHB1YmxpYzoKICAgICBP
cHRpb25hbDxzdGQ6OnBhaXI8UmVuZGVyT2JqZWN0KiwgRmxvYXRSZWN0Pj4gYm91bmRpbmdBYnNv
bHV0ZVJlY3RXaXRob3V0TGF5b3V0KCk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBGbG9hdFJlY3Qg
Ym91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgRmxvYXRSZWN0IGJvdW5kaW5nQ2xpZW50UmVjdFdp
dGhvdXRMYXlvdXQoKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFJlZjxET01SZWN0TGlzdD4gZ2V0
Q2xpZW50UmVjdHMoKTsKICAgICBSZWY8RE9NUmVjdD4gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiAyNTg4NDQpCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxLDYg
KzcxLDcgQEAKICNpbmNsdWRlICJPdmVyZmxvd0V2ZW50LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgog
I2luY2x1ZGUgIlBhZ2VPdmVybGF5Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNl
LmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyLmgiCiAjaW5jbHVkZSAiUmVuZGVyRW1iZWRk
ZWRPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJGdWxsU2NyZWVuLmgiCkBAIC05ODEsNiArOTgy
LDcgQEAgYm9vbCBGcmFtZVZpZXc6OmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUZvcgogI2VuZGlmCiAK
ICAgICByZW5kZXJWaWV3LT5jb21wb3NpdG9yKCkuZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCZy
b290RnJhbWVGb3JGbHVzaCA9PSBtX2ZyYW1lLnB0cigpKTsKKyAgICBtYXJrUGFpbnRUaW1pbmdJ
Zk5lZWRlZCgpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC00MDg3LDYgKzQwODksMzYgQEAg
dm9pZCBGcmFtZVZpZXc6OndpbGxQYWludENvbnRlbnRzKEdyYXBoaQogICAgIG1faXNQYWludGlu
ZyA9IHRydWU7CiB9CiAKK3ZvaWQgRnJhbWVWaWV3OjptYXJrUGFpbnRUaW1pbmdJZk5lZWRlZCgp
Cit7CisgICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnBh
aW50VGltaW5nRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9kaWRNYXJr
Rmlyc3RDb250ZW50ZnVsUGFpbnQpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChtX2ZpcnN0
VmlzdWFsbHlOb25FbXB0eUxheW91dE1pbGVzdG9uZUlzUGVuZGluZykKKyAgICAgICAgcmV0dXJu
OworCisgICAgaWYgKG5lZWRzTGF5b3V0KCkpCisgICAgICAgIHJldHVybjsKKworICAgIGNvbnN0
IGF1dG8qIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpOworICAgIGNvbnN0IGF1dG8qIHdp
bmRvdyA9IGRvY3VtZW50LT5kb21XaW5kb3coKTsKKyAgICBpZiAoIXdpbmRvdykKKyAgICAgICAg
cmV0dXJuOworCisgICAgLy8gT25seSBhbGxvd2luZyBtYWluIG9yIHNhbWUtb3JpZ2luIGZyYW1l
cyB0byBtYXJrIHBhaW50IHRpbWluZywgb3RoZXJ3aXNlIG1haW4tZnJhbWUgaW5mb3JtYXRpb24g
bWF5IGxlYWsgdG8gY3Jvc3Mtb3JpZ2luIGZyYW1lcy4KKyAgICBpZiAoIWZyYW1lKCkuaXNNYWlu
RnJhbWUoKSAmJiAhZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkuY2FuQWNjZXNzKGZyYW1lKCku
bWFpbkZyYW1lKCkuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGlmICghcmVuZGVyVmlldygpLT5jb250YWluc1BhaW50YWJsZUNvbnRlbnQoKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgbV9kaWRNYXJrRmlyc3RDb250ZW50ZnVsUGFpbnQgPSB0
cnVlOworICAgIHdpbmRvdy0+cGVyZm9ybWFuY2UoKS5yZXBvcnRGaXJzdENvbnRlbnRmdWxQYWlu
dCgpOworfQorCiB2b2lkIEZyYW1lVmlldzo6ZGlkUGFpbnRDb250ZW50cyhHcmFwaGljc0NvbnRl
eHQmIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIGRpcnR5UmVjdCwgUGFpbnRpbmdTdGF0ZSYgcGFp
bnRpbmdTdGF0ZSkKIHsKICAgICBtX2lzUGFpbnRpbmcgPSBmYWxzZTsKQEAgLTQxMDEsNiArNDEz
Myw4IEBAIHZvaWQgRnJhbWVWaWV3OjpkaWRQYWludENvbnRlbnRzKEdyYXBoaWMKICAgICAgICAg
c0N1cnJlbnRQYWludFRpbWVTdGFtcCA9IE1vbm90b25pY1RpbWUoKTsKIAogICAgIGlmICghY29u
dGV4dC5wYWludGluZ0Rpc2FibGVkKCkpIHsKKyAgICAgICAgaWYgKHBhaW50aW5nU3RhdGUuaXNU
b3BMZXZlbFBhaW50ZXIpCisgICAgICAgICAgICBtYXJrUGFpbnRUaW1pbmdJZk5lZWRlZCgpOwog
ICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFBhaW50KCpyZW5kZXJWaWV3KCks
IGRpcnR5UmVjdCk7CiAgICAgICAgIC8vIEZJWE1FOiBzaG91bGQgcHJvYmFibHkgbm90IGZpcmUg
bWlsZXN0b25lcyBmb3Igc25hcHNob3QgcGFpbnRpbmcuIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTc2MjMKICAgICAgICAgZmlyZVBhaW50UmVsYXRlZE1pbGVzdG9u
ZXNJZk5lZWRlZCgpOwpAQCAtNTExOCw2ICs1MTUyLDcgQEAgdm9pZCBGcmFtZVZpZXc6OmZpcmVM
YXlvdXRSZWxhdGVkTWlsZXN0bwogICAgIGlmIChtaWxlc3RvbmVzQWNoaWV2ZWQgJiYgZnJhbWUo
KS5pc01haW5GcmFtZSgpKSB7CiAgICAgICAgIGlmIChtaWxlc3RvbmVzQWNoaWV2ZWQuY29udGFp
bnMoRGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0KSkKICAgICAgICAgICAgIEZSQU1FVklF
V19SRUxFQVNFX0xPR19JRl9BTExPV0VEKExheW91dCwgImZpcmVMYXlvdXRSZWxhdGVkTWlsZXN0
b25lc0lmTmVlZGVkOiBGaXJpbmcgZmlyc3QgdmlzdWFsbHkgbm9uLWVtcHR5IGxheW91dCBtaWxl
c3RvbmUgb24gdGhlIG1haW4gZnJhbWUiKTsKKwogICAgICAgICBmcmFtZSgpLmxvYWRlcigpLmRp
ZFJlYWNoTGF5b3V0TWlsZXN0b25lKG1pbGVzdG9uZXNBY2hpZXZlZCk7CiAgICAgfQogfQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC04MTUsNiArODE1LDkgQEAg
cHJpdmF0ZToKICAgICB9OwogICAgIHZvaWQgb3ZlcnJpZGVWaWV3cG9ydFNpemVGb3JDU1NWaWV3
cG9ydFVuaXRzKE92ZXJyaWRlVmlld3BvcnRTaXplKTsKIAorICAgIHZvaWQgbWFya1BhaW50VGlt
aW5nSWZOZWVkZWQoKTsKKyAgICBib29sIG1fZGlkTWFya0ZpcnN0Q29udGVudGZ1bFBhaW50IHsg
ZmFsc2UgfTsKKwogICAgIHN0YXRpYyBNb25vdG9uaWNUaW1lIHNDdXJyZW50UGFpbnRUaW1lU3Rh
bXA7IC8vIHVzZWQgZm9yIGRldGVjdGluZyBkZWNvZGVkIHJlc291cmNlIHRocmFzaCBpbiB0aGUg
Y2FjaGUKIAogICAgIGNvbnN0IFJlZjxGcmFtZT4gbV9mcmFtZTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2UuY3BwCShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQAogI2lu
Y2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU5hdmlnYXRp
b24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2VydmVyLmgiCisjaW5jbHVkZSAiUGVyZm9y
bWFuY2VQYWludFRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNl
VXNlclRpbWluZy5oIgpAQCAtMTI0LDYgKzEyNSw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFu
Y2VFbnRyeT4+IFBlcmZvcm0KICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGlt
aW5nLT5nZXRNZWFzdXJlcygpKTsKICAgICB9CiAKKyAgICBpZiAobV9maXJzdENvbnRlbnRmdWxQ
YWludCkKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisK
ICAgICBzdGQ6OnNvcnQoZW50cmllcy5iZWdpbigpLCBlbnRyaWVzLmVuZCgpLCBQZXJmb3JtYW5j
ZUVudHJ5OjpzdGFydFRpbWVDb21wYXJlTGVzc1RoYW4pOwogICAgIHJldHVybiBlbnRyaWVzOwog
fQpAQCAtMTM1LDYgKzEzOSw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBl
cmZvcm0KICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAi
cmVzb3VyY2UiKSkKICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV9yZXNvdXJjZVRpbWlu
Z0J1ZmZlcik7CiAKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlU
eXBlLCAicGFpbnQiKSAmJiBtX2ZpcnN0Q29udGVudGZ1bFBhaW50KQorICAgICAgICBlbnRyaWVz
LmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKKwogICAgIGlmIChtX3VzZXJUaW1pbmcp
IHsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwg
Im1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+
Z2V0TWFya3MoKSk7CkBAIC0xNTcsNiArMTY0LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5j
ZUVudHJ5Pj4gUGVyZm9ybQogICAgICAgICB9CiAgICAgfQogCisgICAgaWYgKChlbnRyeVR5cGUu
aXNOdWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFp
bnQiKSkgJiYgbmFtZSA9PSAiZmlyc3QtY29udGVudGZ1bC1wYWludCIgJiYgbV9maXJzdENvbnRl
bnRmdWxQYWludCkKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWlu
dCk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlbnRyeVR5cGUuaXNO
dWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAibWFyayIp
KQogICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNYXJr
cyhuYW1lKSk7CkBAIC0xODAsNiArMTkwLDEyIEBAIHZvaWQgUGVyZm9ybWFuY2U6OnNldFJlc291
cmNlVGltaW5nQnVmZmUKICAgICBtX3Jlc291cmNlVGltaW5nQnVmZmVyRnVsbEZsYWcgPSBmYWxz
ZTsKIH0KIAordm9pZCBQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKQor
eworICAgIG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nOjpj
cmVhdGVGaXJzdENvbnRlbnRmdWxQYWludChub3coKSk7CisgICAgcXVldWVFbnRyeSgqbV9maXJz
dENvbnRlbnRmdWxQYWludCk7Cit9CisKIHZvaWQgUGVyZm9ybWFuY2U6OmFkZFJlc291cmNlVGlt
aW5nKFJlc291cmNlVGltaW5nJiYgcmVzb3VyY2VUaW1pbmcpCiB7CiAgICAgQVNTRVJUKHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCShy
ZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgog
I2luY2x1ZGUgIkdlbmVyaWNUYXNrUXVldWUuaCIKICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQu
aD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uU2V0Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtNDUsNiArNDYsNyBAQCBjbGFzcyBMb2FkVGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VFbnRy
eTsKIGNsYXNzIFBlcmZvcm1hbmNlTmF2aWdhdGlvbjsKIGNsYXNzIFBlcmZvcm1hbmNlT2JzZXJ2
ZXI7CitjbGFzcyBQZXJmb3JtYW5jZVBhaW50VGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VUaW1p
bmc7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVzb3VyY2VUaW1pbmc7CkBAIC03
Nyw2ICs3OSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkUmVzb3VyY2VUaW1pbmcoUmVzb3Vy
Y2VUaW1pbmcmJik7CiAKKyAgICB2b2lkIHJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisK
ICAgICB2b2lkIHJlbW92ZUFsbE9ic2VydmVycygpOwogICAgIHZvaWQgcmVnaXN0ZXJQZXJmb3Jt
YW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKICAgICB2b2lkIHVucmVnaXN0ZXJQ
ZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKQEAgLTEyMSw2ICsxMjUs
NyBAQCBwcml2YXRlOgogCiAgICAgTW9ub3RvbmljVGltZSBtX3RpbWVPcmlnaW47CiAKKyAgICBS
ZWZQdHI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4gbV9maXJzdENvbnRlbnRmdWxQYWludDsKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8VXNlclRpbWluZz4gbV91c2VyVGltaW5nOwogCiAgICAgR2VuZXJp
Y1Rhc2tRdWV1ZTxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3BlcmZvcm1hbmNlVGltZWxpbmVU
YXNrUXVldWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAJ
KHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRy
eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDExIEBAIE9wdGlvbmFsPFBlcmZvcm1h
bmNlRW50cnk6OlR5cGU+IFBlcmZvcm0KICAgICAgICAgICAgIHJldHVybiBPcHRpb25hbDxUeXBl
PihUeXBlOjpSZXNvdXJjZSk7CiAgICAgfQogCisgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkucGFpbnRUaW1pbmdFbmFibGVkKCkpIHsKKyAgICAgICAgaWYg
KGVudHJ5VHlwZSA9PSAicGFpbnQiKQorICAgICAgICAgICAgcmV0dXJuIE9wdGlvbmFsPFR5cGU+
KFR5cGU6OlBhaW50KTsKKyAgICB9CisKICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogfQogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAkocmV2aXNpb24gMjU4ODQ0
KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgICAgICBNYXJrID0gMSA8PCAxLAogICAg
ICAgICBNZWFzdXJlID0gMSA8PCAyLAogICAgICAgICBSZXNvdXJjZSA9IDEgPDwgMywKKyAgICAg
ICAgUGFpbnQgPSAxIDw8IDQKICAgICB9OwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25z
dCA9IDA7CkBAIC02Miw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzUmVzb3VyY2UoKSBj
b25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UmVzb3VyY2U7IH0KICAgICBib29sIGlzTWFy
aygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYXJrOyB9CiAgICAgYm9vbCBpc01l
YXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWVhc3VyZTsgfQorICAgIGJv
b2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpQYWludDsgfQogCiAg
ICAgc3RhdGljIGJvb2wgc3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKGNvbnN0IFJlZlB0cjxQZXJm
b3JtYW5jZUVudHJ5PiYgYSwgY29uc3QgUmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+JiBiKQogICAg
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAko
cmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2Vy
dmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIwLDYgKzEyMCw3IEBAIFZlY3RvcjxTdHJpbmc+
IFBlcmZvcm1hbmNlT2JzZXJ2ZXI6OnN1cHAKICAgICAgICAgLy8gIm5hdmlnYXRpb24iX3MsCiAg
ICAgICAgICJtYXJrIl9zLAogICAgICAgICAibWVhc3VyZSJfcywKKyAgICAgICAgInBhaW50Il9z
LAogICAgICAgICAicmVzb3VyY2UiX3MKICAgICB9OwogfQpJbmRleDogU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmgJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBXaWtpTWVkaWEgRm91bmRh
dGlvbi4gQWxsIFJpZ2h0cyBSZXNlcnZlLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnku
aCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBQZXJmb3JtYW5jZVBhaW50VGltaW5nIGZpbmFsIDogcHVibGljIFBlcmZvcm1h
bmNlRW50cnkgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VQYWludFRpbWlu
Zz4gY3JlYXRlRmlyc3RDb250ZW50ZnVsUGFpbnQoZG91YmxlIHRpbWVTdGFtcCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoImZpcnN0
LWNvbnRlbnRmdWwtcGFpbnQiX3MsIHRpbWVTdGFtcCkpOworICAgIH0KKworcHJpdmF0ZToKKyAg
ICBQZXJmb3JtYW5jZVBhaW50VGltaW5nKGNvbnN0IFN0cmluZyYgbmFtZSwgZG91YmxlIHRpbWVT
dGFtcCkKKyAgICAgICAgOiBQZXJmb3JtYW5jZUVudHJ5KG5hbWUsIHRpbWVTdGFtcCwgdGltZVN0
YW1wKQorICAgIHsKKyAgICB9CisKKyAgICBBU0NJSUxpdGVyYWwgZW50cnlUeXBlKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gInBhaW50Il9zOyB9CisgICAgVHlwZSB0eXBlKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gVHlwZTo6UGFpbnQ7IH0KKworICAgIH5QZXJmb3JtYW5jZVBhaW50VGltaW5nKCkg
PSBkZWZhdWx0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZ
UEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcpCisgICAgc3Rh
dGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KSB7
IHJldHVybiBlbnRyeS5pc1BhaW50KCk7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkK
ClByb3BlcnR5IGNoYW5nZXMgb246IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWlu
dFRpbWluZy5oCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMK
KyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBXaWtpTWVkaWEg
Rm91bmRhdGlvbi4gQWxsIFJpZ2h0cyBSZXNlcnZlLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWlu
dC10aW1pbmcvCisKK3R5cGVkZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1lU3RhbXA7CisKK1sKKyAg
ICBFbmFibGVkQXRSdW50aW1lPVBhaW50VGltaW5nLAorICAgIEV4cG9zZWQ9KFdpbmRvdyksCitd
IGludGVyZmFjZSBQZXJmb3JtYW5jZVBhaW50VGltaW5nIDogUGVyZm9ybWFuY2VFbnRyeSB7Cit9
OwoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBh
aW50VGltaW5nLmlkbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsx
ICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCShyZXZpc2lvbiAyNTg4NDQpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkod29ya2luZyBj
b3B5KQpAQCAtNjIsNiArNjIsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVc2VyVGltaW5nRW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzVXNlclRpbWluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7
IH0KICAgICBib29sIHVzZXJUaW1pbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1VzZXJU
aW1pbmdFbmFibGVkOyB9CiAKKyAgICB2b2lkIHNldFBhaW50VGltaW5nRW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBtX2lzUGFpbnRUaW1pbmdFbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9v
bCBwYWludFRpbWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzUGFpbnRUaW1pbmdFbmFi
bGVkOyB9CisKICAgICBib29sIHBlcmZvcm1hbmNlVGltZWxpbmVFbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gcmVzb3VyY2VUaW1pbmdFbmFibGVkKCkgfHwgdXNlclRpbWluZ0VuYWJsZWQoKTsgfQog
CiAgICAgdm9pZCBzZXRTaGFkb3dET01FbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNTaGFk
b3dET01FbmFibGVkID0gaXNFbmFibGVkOyB9CkBAIC00MjQsNiArNDI3LDcgQEAgcHJpdmF0ZToK
ICAgICBib29sIG1faXNMaW5rUHJlbG9hZEVuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2lz
TGlua1ByZWZldGNoRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzTWVkaWFQcmVsb2Fk
aW5nRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzUGFpbnRUaW1pbmdFbmFibGVkIHsg
ZmFsc2UgfTsKICAgICBib29sIG1faXNSZXNvdXJjZVRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9pc1VzZXJUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNJ
bnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCB7IGZhbHNlIH07CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCShyZXZpc2lvbiAyNTg4NDQpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMyOSw2ICszMjksNTAgQEAgU3R5bGVEaWZmZXJlbmNlIFJlbmRlckVsZW1lbnQ6OmFk
anVzdFN0eQogICAgIHJldHVybiBkaWZmOwogfQogCitib29sIFJlbmRlckVsZW1lbnQ6OmNvbnRh
aW5zUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0Cit7CisgICAgaWYgKCFvcGFjaXR5KCkgfHwgaXNT
VkdIaWRkZW5Db250YWluZXIoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byBo
YXNQb3RlbnRpYWxseVZpc2libGVSZWdpb25zID0gWyZdKCkgeworICAgICAgICBpZiAoc3R5bGUo
KS52aXNpYmlsaXR5KCkgIT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgICAgICBhdXRvIGRvY3VtZW50UmVjdCA9IHZpZXcoKS5kb2N1bWVudFJl
Y3QoKTsKKworICAgICAgICBpZiAoYXV0byogY3VycmVudCA9IGVsZW1lbnQoKSkKKyAgICAgICAg
ICAgIHJldHVybiBjdXJyZW50LT5ib3VuZGluZ0NsaWVudFJlY3RXaXRob3V0TGF5b3V0KCkuaW50
ZXJzZWN0cyhkb2N1bWVudFJlY3QpOworCisgICAgICAgIHJldHVybiBpc1Zpc2libGVJbkRvY3Vt
ZW50UmVjdChkb2N1bWVudFJlY3QpOworICAgIH07CisKKyAgICBpZiAoaXNDb250ZW50ZnVsKCkg
JiYgaGFzUG90ZW50aWFsbHlWaXNpYmxlUmVnaW9ucygpKQorICAgICAgICByZXR1cm4gdHJ1ZTsK
KworICAgIGZvciAoY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJPYmplY3QgPSBmaXJzdENoaWxk
KCk7IHJlbmRlck9iamVjdDsgcmVuZGVyT2JqZWN0ID0gcmVuZGVyT2JqZWN0LT5uZXh0U2libGlu
ZygpKSB7CisgICAgICAgIGlmIChyZW5kZXJPYmplY3QtPmNvbnRhaW5zUGFpbnRhYmxlQ29udGVu
dCgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNl
OworfQorCitib29sIFJlbmRlckVsZW1lbnQ6OmlzQ29udGVudGZ1bCgpIGNvbnN0Cit7CisgICAg
aWYgKGhhc093blBhaW50YWJsZUNvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAg
ICBpZiAoc3R5bGUoKS5oYXNQYWludGFibGVCYWNrZ3JvdW5kSW1hZ2UoKSkKKyAgICAgICAgcmV0
dXJuIHRydWU7CisKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8UmVuZGVy
T2JqZWN0PigqdGhpcykpIHsKKyAgICAgICAgaWYgKGlzPFJlbmRlclRleHQ+KGNoaWxkKSAmJiAh
ZG93bmNhc3Q8UmVuZGVyVGV4dD4oY2hpbGQpLmlzQWxsQ29sbGFwc2libGVXaGl0ZXNwYWNlKCkp
CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKIGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6Omhhc0ltbWVkaWF0ZU5vbldoaXRlc3BhY2VU
ZXh0Q2hpbGRPckJvcmRlck9yT3V0bGluZSgpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvJiBjaGls
ZCA6IGNoaWxkcmVuT2ZUeXBlPFJlbmRlck9iamVjdD4oKnRoaXMpKSB7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTEwMCw2ICsxMDAsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlydHlMaW5lc0Zy
b21DaGFuZ2VkQ2hpbGQoUmVuZGVyT2JqZWN0JikgeyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgaGFz
T3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisKICAgICBib29s
IGFuY2VzdG9yTGluZUJveERpcnR5KCkgY29uc3QgeyByZXR1cm4gbV9hbmNlc3RvckxpbmVCb3hE
aXJ0eTsgfQogICAgIHZvaWQgc2V0QW5jZXN0b3JMaW5lQm94RGlydHkoYm9vbCBmID0gdHJ1ZSk7
CiAKQEAgLTEzOSw2ICsxNDEsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1RyYW5zcGFyZW50KCkg
Y29uc3QgeyByZXR1cm4gc3R5bGUoKS5vcGFjaXR5KCkgPCAxLjBmOyB9CiAgICAgZmxvYXQgb3Bh
Y2l0eSgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkub3BhY2l0eSgpOyB9CiAKKyAgICBib29sIGNv
bnRhaW5zUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IGZpbmFsOworCiAgICAgYm9vbCB2aXNpYmxl
VG9IaXRUZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS52aXNpYmlsaXR5KCkgPT0gVmlz
aWJpbGl0eTo6VmlzaWJsZSAmJiBzdHlsZSgpLnBvaW50ZXJFdmVudHMoKSAhPSBQb2ludGVyRXZl
bnRzOjpOb25lOyB9CiAKICAgICBib29sIGhhc0JhY2tncm91bmQoKSBjb25zdCB7IHJldHVybiBz
dHlsZSgpLmhhc0JhY2tncm91bmQoKTsgfQpAQCAtMzE2LDYgKzMyMCw4IEBAIHByaXZhdGU6CiAg
ICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBjb21wdXRlRmlyc3RMaW5lU3R5bGUoKSBj
b25zdDsKICAgICB2b2lkIGludmFsaWRhdGVDYWNoZWRGaXJzdExpbmVTdHlsZSgpOwogCisgICAg
Ym9vbCBpc0NvbnRlbnRmdWwoKSBjb25zdDsKKwogICAgIGJvb2wgY2FuRGVzdHJveURlY29kZWRE
YXRhKCkgZmluYWwgeyByZXR1cm4gIWlzVmlzaWJsZUluVmlld3BvcnQoKTsgfQogICAgIFZpc2li
bGVJblZpZXdwb3J0U3RhdGUgaW1hZ2VGcmFtZUF2YWlsYWJsZShDYWNoZWRJbWFnZSYsIEltYWdl
QW5pbWF0aW5nU3RhdGUsIGNvbnN0IEludFJlY3QqIGNoYW5nZVJlY3QpIGZpbmFsOwogICAgIHZv
aWQgZGlkUmVtb3ZlQ2FjaGVkSW1hZ2VDbGllbnQoQ2FjaGVkSW1hZ2UmKSBmaW5hbDsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5jcHAJKHJldmlz
aW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsMTEgQEAgUmVuZGVySFRNTENhbnZhczo6
UmVuZGVySFRNTENhbnZhcyhIVE1MQwogewogfQogCitib29sIFJlbmRlckhUTUxDYW52YXM6Omhh
c093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiAhIWNhbnZhc0VsZW1l
bnQoKS5yZW5kZXJpbmdDb250ZXh0KCk7Cit9CisKIEhUTUxDYW52YXNFbGVtZW50JiBSZW5kZXJI
VE1MQ2FudmFzOjpjYW52YXNFbGVtZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4gZG93bmNhc3Q8
SFRNTENhbnZhc0VsZW1lbnQ+KG5vZGVGb3JOb25Bbm9ueW1vdXMoKSk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmgJKHJldmlzaW9uIDI1ODg0NCkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGVsZW1lbnQoKSBjb25z
dCA9IGRlbGV0ZTsKICAgICBib29sIHJlcXVpcmVzTGF5ZXIoKSBjb25zdCBvdmVycmlkZTsKICAg
ICBib29sIGlzQ2FudmFzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIGJv
b2wgaGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGNvbnN0IGNo
YXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiUmVuZGVySFRNTENhbnZh
cyI7IH0KICAgICB2b2lkIHBhaW50UmVwbGFjZWQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9p
bnQmKSBvdmVycmlkZTsKICAgICB2b2lkIGludHJpbnNpY1NpemVDaGFuZ2VkKCkgb3ZlcnJpZGUg
eyBjYW52YXNTaXplQ2hhbmdlZCgpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbWFnZS5jcHAJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzOSw2ICszMzksMTEgQEAg
dm9pZCBSZW5kZXJJbWFnZTo6dXBkYXRlSW50cmluc2ljU2l6ZUlmTgogICAgIHNldEludHJpbnNp
Y1NpemUobmV3U2l6ZSk7CiB9CiAKK2Jvb2wgUmVuZGVySW1hZ2U6Omhhc093blBhaW50YWJsZUNv
bnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiBtX2ltYWdlUmVzb3VyY2UtPmNhY2hlZEltYWdl
KCkgJiYgIW1faW1hZ2VSZXNvdXJjZS0+aW1hZ2VTaXplKDEpLmlzRW1wdHkoKTsKK30KKwogdm9p
ZCBSZW5kZXJJbWFnZTo6dXBkYXRlSW5uZXJDb250ZW50UmVjdCgpCiB7CiAgICAgLy8gUHJvcGFn
YXRlIGNvbnRhaW5lciBzaXplIHRvIGltYWdlIHJlc291cmNlLgpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckltYWdlLmgJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC03Niw2ICs3Niw3
IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGREaXNwbGF5QnJva2VuSW1hZ2VJ
Y29uKCkgY29uc3Q7CiAKKyAgICBib29sIGhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdCBv
dmVycmlkZTsKICAgICBib29sIGhhc05vbkJpdG1hcEltYWdlKCkgY29uc3Q7CiAKICAgICBib29s
IGlzRWRpdGFibGVJbWFnZSgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuaAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzgsNiArMjc4LDggQEAgcHVi
bGljOgogCiAgICAgdmlydHVhbCBib29sIGlzUmVuZGVyU2Nyb2xsYmFyUGFydCgpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgY29udGFpbnNQYWludGFibGVDb250
ZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwogICAgIGJvb2wgaXNEb2N1bWVudEVsZW1l
bnRSZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkg
PT0gJm1fbm9kZTsgfQogICAgIGJvb2wgaXNCb2R5KCkgY29uc3QgeyByZXR1cm4gbm9kZSgpICYm
IG5vZGUoKS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmJvZHlUYWcpOyB9CiAgICAgYm9vbCBpc0hS
KCkgY29uc3QgeyByZXR1cm4gbm9kZSgpICYmIG5vZGUoKS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6
OmhyVGFnKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3Bw
CShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlk
ZW8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Miw2ICs5MiwxNCBAQCB2b2lkIFJlbmRlclZpZGVv
OjppbnRyaW5zaWNTaXplQ2hhbmdlZCgpCiAgICAgdXBkYXRlSW50cmluc2ljU2l6ZSgpOyAKIH0K
IAorYm9vbCBSZW5kZXJWaWRlbzo6aGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0Cit7Cisg
ICAgaWYgKHZpZGVvRWxlbWVudCgpLnNob3VsZERpc3BsYXlQb3N0ZXJJbWFnZSgpKQorICAgICAg
ICByZXR1cm4gUmVuZGVySW1hZ2U6Omhhc093blBhaW50YWJsZUNvbnRlbnQoKTsKKworICAgIHJl
dHVybiB2aWRlb0VsZW1lbnQoKS5yZWFkeVN0YXRlKCkgPiBIVE1MTWVkaWFFbGVtZW50RW51bXM6
OkhBVkVfTUVUQURBVEE7Cit9CisKIGJvb2wgUmVuZGVyVmlkZW86OnVwZGF0ZUludHJpbnNpY1Np
emUoKQogewogICAgIExheW91dFNpemUgc2l6ZSA9IGNhbGN1bGF0ZUludHJpbnNpY1NpemUoKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5oCShyZXZpc2lvbiAyNTg4
NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uaAkod29ya2luZyBj
b3B5KQpAQCAtNjcsNiArNjcsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCByZXF1aXJlc0xheWVy
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wgaXNWaWRlbygpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKyAgICBib29sIGhhc093blBhaW50YWJsZUNvbnRlbnQo
KSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQgcGFpbnRSZXBsYWNlZChQYWludEluZm8mLCBj
b25zdCBMYXlvdXRQb2ludCYpIGZpbmFsOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvRmlsbExheWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvRmlsbExheWVyLmNwcAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0
MCw2ICszNDAsMTUgQEAgYm9vbCBGaWxsTGF5ZXI6OmNvbnRhaW5zSW1hZ2UoU3R5bGVJbWFnZQog
ICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBGaWxsTGF5ZXI6Omhhc0xvYWRlZENhY2hlZElt
YWdlKCkgY29uc3QKK3sKKyAgICBmb3IgKGF1dG8qIGxheWVyID0gdGhpczsgbGF5ZXI7IGxheWVy
ID0gbGF5ZXItPm1fbmV4dC5nZXQoKSkgeworICAgICAgICBpZiAobGF5ZXItPm1faW1hZ2UgJiYg
bGF5ZXItPm1faW1hZ2UtPmlzTG9hZGVkKCkgJiYgbGF5ZXItPm1faW1hZ2UtPmhhc0NhY2hlZElt
YWdlKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNl
OworfQorCiBib29sIEZpbGxMYXllcjo6aW1hZ2VzQXJlTG9hZGVkKCkgY29uc3QKIHsKICAgICBm
b3IgKGF1dG8qIGxheWVyID0gdGhpczsgbGF5ZXI7IGxheWVyID0gbGF5ZXItPm1fbmV4dC5nZXQo
KSkgewpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAko
cmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxM
YXllci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDUsNiArMTQ1LDcgQEAgcHVibGljOgogCiAgICAg
Ym9vbCBjb250YWluc0ltYWdlKFN0eWxlSW1hZ2UmKSBjb25zdDsKICAgICBib29sIGltYWdlc0Fy
ZUxvYWRlZCgpIGNvbnN0OworICAgIGJvb2wgaGFzTG9hZGVkQ2FjaGVkSW1hZ2UoKSBjb25zdDsK
ICAgICBib29sIGhhc0ltYWdlKCkgY29uc3QgeyByZXR1cm4gbV9uZXh0ID8gaGFzSW1hZ2VJbkFu
eUxheWVyKCkgOiBtX2ltYWdlOyB9CiAgICAgYm9vbCBoYXNGaXhlZEltYWdlKCkgY29uc3Q7CiAg
ICAgYm9vbCBoYXNPcGFxdWVJbWFnZShjb25zdCBSZW5kZXJFbGVtZW50JikgY29uc3Q7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAJKHJl
dmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU4MCw2ICs1ODAsMjEgQEAgYm9vbCBSZW5kZXJT
dHlsZTo6aXNJZGVtcG90ZW50VGV4dEF1dG9zaQogICAgIHJldHVybiB0cnVlOwogfQogCitib29s
IFJlbmRlclN0eWxlOjpoYXNQYWludGFibGVCYWNrZ3JvdW5kSW1hZ2UoKSBjb25zdAoreworICAg
IGlmICghaGFzQmFja2dyb3VuZEltYWdlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IGNvbnN0IEZpbGxMYXllciYgYmFja2dyb3VuZCA9IGJhY2tncm91bmRMYXllcnMoKTsKKyAgICBp
ZiAoIWJhY2tncm91bmQuaGFzTG9hZGVkQ2FjaGVkSW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgaWYgKGJhY2tncm91bmRTaXplTGVuZ3RoKCkuaXNFbXB0eSgpICYmIGJhY2tn
cm91bmRTaXplVHlwZSgpID09IEZpbGxTaXplVHlwZTo6U2l6ZSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIEF1dG9zaXplU3RhdHVzIFJlbmRlclN0eWxl
OjphdXRvc2l6ZVN0YXR1cygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIE9wdGlvblNldDxBdXRvc2l6
ZVN0YXR1czo6RmllbGRzPjo6ZnJvbVJhdyhtX2luaGVyaXRlZEZsYWdzLmF1dG9zaXplU3RhdHVz
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
CShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDE1LDYgKzQxNSw3IEBAIHB1YmxpYzoKICAg
ICBjb25zdCBMZW5ndGhTaXplJiBiYWNrZ3JvdW5kU2l6ZUxlbmd0aCgpIGNvbnN0IHsgcmV0dXJu
IG1fYmFja2dyb3VuZERhdGEtPmJhY2tncm91bmQuc2l6ZUxlbmd0aCgpOyB9CiAgICAgRmlsbExh
eWVyJiBlbnN1cmVCYWNrZ3JvdW5kTGF5ZXJzKCkgeyByZXR1cm4gbV9iYWNrZ3JvdW5kRGF0YS5h
Y2Nlc3MoKS5iYWNrZ3JvdW5kOyB9CiAgICAgY29uc3QgRmlsbExheWVyJiBiYWNrZ3JvdW5kTGF5
ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9iYWNrZ3JvdW5kRGF0YS0+YmFja2dyb3VuZDsgfQorICAg
IGJvb2wgaGFzUGFpbnRhYmxlQmFja2dyb3VuZEltYWdlKCkgY29uc3Q7CiAKICAgICBTdHlsZUlt
YWdlKiBtYXNrSW1hZ2UoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5t
YXNrLmltYWdlKCk7IH0KICAgICBGaWxsUmVwZWF0IG1hc2tSZXBlYXRYKCkgY29uc3QgeyByZXR1
cm4gc3RhdGljX2Nhc3Q8RmlsbFJlcGVhdD4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bWFzay5y
ZXBlYXRYKCkpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R01vZGVsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmNwcAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE1OCw2ICsxNTgsMTEgQEAgc3RhdGljIGJvb2wgaXNHcmFwaGljc0VsZW1lbnQo
Y29uc3QgUmVuZAogICAgIHJldHVybiByZW5kZXJlci5pc1NWR1NoYXBlKCkgfHwgcmVuZGVyZXIu
aXNTVkdUZXh0KCkgfHwgcmVuZGVyZXIuaXNTVkdJbWFnZSgpIHx8IHJlbmRlcmVyLmVsZW1lbnQo
KS0+aGFzVGFnTmFtZShTVkdOYW1lczo6dXNlVGFnKTsKIH0KIAorYm9vbCBSZW5kZXJTVkdNb2Rl
bE9iamVjdDo6aGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGlz
R3JhcGhpY3NFbGVtZW50KCp0aGlzKTsKK30KKwogLy8gVGhlIFNWRyBhZGRGb2N1c1JpbmdSZWN0
cygpIG1ldGhvZCBhZGRzIHJlY3RzIGluIGxvY2FsIGNvb3JkaW5hdGVzIHNvIHRoZSBkZWZhdWx0
IGFic29sdXRlRm9jdXNSaW5nUXVhZHMKIC8vIHJldHVybnMgaW5jb3JyZWN0IHZhbHVlcyBmb3Ig
U1ZHIG9iamVjdHMuIE92ZXJyaWRpbmcgdGhpcyBtZXRob2QgcHJvdmlkZXMgYWNjZXNzIHRvIHRo
ZSBhYnNvbHV0ZSBib3VuZHMuCiB2b2lkIFJlbmRlclNWR01vZGVsT2JqZWN0OjphYnNvbHV0ZUZv
Y3VzUmluZ1F1YWRzKFZlY3RvcjxGbG9hdFF1YWQ+JiBxdWFkcykKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmgJKHJldmlz
aW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9k
ZWxPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNjksNiArNjksNyBAQCBwcm90ZWN0ZWQ6CiAK
IHByaXZhdGU6CiAgICAgYm9vbCBpc1JlbmRlclNWR01vZGVsT2JqZWN0KCkgY29uc3QgZmluYWwg
eyByZXR1cm4gdHJ1ZTsgfQorICAgIGJvb2wgaGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0
IGZpbmFsOwogCiAgICAgLy8gVGhpcyBtZXRob2Qgc2hvdWxkIG5ldmVyIGJlIGNhbGxlZCwgU1ZH
IHVzZXMgYSBkaWZmZXJlbnQgbm9kZUF0UG9pbnQgbWV0aG9kCiAgICAgYm9vbCBub2RlQXRQb2lu
dChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBIaXRUZXN0TG9j
YXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRl
ZE9mZnNldCwgSGl0VGVzdEFjdGlvbikgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24g
MjU4ODQ0KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwyMCBAQAorMjAyMC0wMy0yMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHJ1bnRpbWUg
ZmxhZyBmb3IgcGFpbnQtdGltaW5nIChwYWludFRpbWluZ0VuYWJsZWQpLgorCisgICAgICAgICog
U2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5nRW5h
YmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0UGFpbnRUaW1pbmdFbmFibGVkKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6dXBkYXRl
UHJlZmVyZW5jZXNTdG9yZSk6CisKIDIwMjAtMDMtMjMgIEphY29iIFVwaG9mZiAgPGphY29iX3Vw
aG9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNTg4MDMu
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHJldmlzaW9u
IDI1ODg0NCkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHdv
cmtpbmcgY29weSkKQEAgLTgzOSw2ICs4MzksMTMgQEAgVXNlclRpbWluZ0VuYWJsZWQ6CiAgIGh1
bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBVc2VyVGltaW5nIEFQSSIKICAgd2ViY29y
ZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAorUGFpbnRUaW1pbmdFbmFibGVkOgor
ICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogdHJ1ZQorICBodW1hblJlYWRhYmxlTmFtZTog
IlBhaW50IFRpbWluZyIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFBhaW50
IFRpbWluZyBBUEkiCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisK
IEJlYWNvbkFQSUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNw
cAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4MTksNiArMTgxOSwxNiBAQCBib29s
IFdLUHJlZmVyZW5jZXNHZXRVc2VyVGltaW5nRW5hYmxlZChXCiAgICAgcmV0dXJuIHRvSW1wbChw
cmVmZXJlbmNlc1JlZiktPnVzZXJUaW1pbmdFbmFibGVkKCk7CiB9CiAKK3ZvaWQgV0tQcmVmZXJl
bmNlc1NldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
LCBib29sIGZsYWcpCit7CisgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0UGFpbnRUaW1p
bmdFbmFibGVkKGZsYWcpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRQYWludFRpbWluZ0Vu
YWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+cGFpbnRUaW1pbmdFbmFibGVkKCk7Cit9CisKIHZvaWQgV0tQ
cmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZl
cmVuY2VzUmVmLCBib29sIGZsYWcpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0
UmVzb3VyY2VUaW1pbmdFbmFibGVkKGZsYWcpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCShyZXZpc2lv
biAyNTg4NDQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
UmVmUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MDAsNiArNTAwLDEwIEBAIFdLX0VYUE9S
VCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRVc2VyVGltaW4KIFdLX0VYUE9SVCBib29sIFdLUHJlZmVy
ZW5jZXNHZXRVc2VyVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIAogLy8gRGVmYXVs
dHMgdG8gZmFsc2UKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0Vu
YWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKK1dLX0VYUE9SVCBib29sIFdLUHJl
ZmVyZW5jZXNHZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CisKKy8vIERl
ZmF1bHRzIHRvIGZhbHNlCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VU
aW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9v
bCBXS1ByZWZlcmVuY2VzR2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYp
OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCShyZXZpc2lvbiAy
NTg4NDQpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMiw2ICsxMjIsNyBAQCB2
b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjp1cGRhCiAgICAgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRDYWNoZUFQSUVuYWJsZWQoc3RvcmUuZ2V0
Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpjYWNoZUFQSUVuYWJsZWRLZXkoKSkp
OwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hB
UElFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6ZmV0
Y2hBUElFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnNldFVzZXJUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6dXNlclRpbWluZ0VuYWJsZWRLZXkoKSkpOworICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1pbmdFbmFibGVkKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFpbnRUaW1pbmdFbmFi
bGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnNldFJlc291cmNlVGltaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OnJlc291cmNlVGltaW5nRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJs
ZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpmZXRjaEFQSUtl
ZXBBbGl2ZUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0UmVzdHJpY3RlZEhUVFBSZXNwb25zZUFjY2VzcyhzdG9yZS5nZXRCb29s
VmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nl
c3NLZXkoKSkpOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjU4
ODQ0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJr
aXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBw
cmVmZXJlbmNlIGtleSBmb3IgcGFpbnQgdGltaW5nLgorCisgICAgICAgICogV2ViVmlldy9XZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgt
W1dlYlByZWZlcmVuY2VzIHBhaW50VGltaW5nRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVm
ZXJlbmNlcyBzZXRQYWludFRpbWluZ0VuYWJsZWQ6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisKIDIw
MjAtMDMtMjAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgRW5z
dXJlIG1lZGlhIGNhY2hlIGRpcmVjdG9yeSBpcyBjcmVhdGVkIGJlZm9yZSBwYXNzaW5nIHRvIEFW
VVJMQXNzZXQuCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDI1ODg0NCkKKysr
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI2MCw2ICsyNjAsNyBAQAogI2RlZmluZSBXZWJLaXRBdHRh
Y2htZW50RWxlbWVudEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QXR0YWNobWVudEVsZW1l
bnRFbmFibGVkIgogI2RlZmluZSBXZWJLaXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWRQcmVm
ZXJlbmNlS2V5IEAiV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkIgogI2RlZmluZSBX
ZWJLaXRNZW51SXRlbUVsZW1lbnRFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdE1lbnVJdGVt
RWxlbWVudEVuYWJsZWQiCisjZGVmaW5lIFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVu
Y2VLZXkgQCJXZWJLaXRQYWludFRpbWluZ0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFVzZXJUaW1p
bmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFVzZXJUaW1pbmdFbmFibGVkIgogI2RlZmlu
ZSBXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UmVzb3Vy
Y2VUaW1pbmdFbmFibGVkIgogI2RlZmluZSBXZWJLaXRNZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmlu
Z0hhcmR3YXJlU3VwcG9ydFByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZWRpYUNvbnRlbnRUeXBlc1Jl
cXVpcmluZ0hhcmR3YXJlU3VwcG9ydCIKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkocmV2aXNpb24gMjU4ODQ0KQorKysgU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkod29ya2luZyBj
b3B5KQpAQCAtNjgzLDYgKzY4Myw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogI2lmIEVOQUJMRShJ
TlRFUlNFQ1RJT05fT0JTRVJWRVIpCiAgICAgICAgIEBOTywgV2ViS2l0SW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleSwKICNlbmRpZgorICAgICAgICBATk8sIFdlYktpdFBh
aW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0VXNlclRp
bWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktpdFJlc291cmNlVGlt
aW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0TWVkaWFVc2VyR2Vz
dHVyZUluaGVyaXRzRnJvbURvY3VtZW50LApAQCAtMzMwOCw2ICszMzA5LDE2IEBAIC0gKHZvaWQp
c2V0VXNlclRpbWluZ0VuYWJsZWQ6KEJPT0wpZmxhZwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6
ZmxhZyBmb3JLZXk6V2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAor
LSAoQk9PTClwYWludFRpbWluZ0VuYWJsZWQKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1
ZUZvcktleTpXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKworLSAo
dm9pZClzZXRQYWludFRpbWluZ0VuYWJsZWQ6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRC
b29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtl
eV07Cit9CisKIC0gKEJPT0wpcmVzb3VyY2VUaW1pbmdFbmFibGVkCiB7CiAgICAgcmV0dXJuIFtz
ZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5j
ZUtleV07CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTY2MSw2ICs2NjEsNyBAQCBAaW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzIChXZWJQ
cml2YXRlKQogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wga2V5Z2VuRWxlbWVudEVuYWJsZWQ7
CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCB1c2VyVGltaW5nRW5hYmxlZDsKIEBwcm9wZXJ0
eSAobm9uYXRvbWljKSBCT09MIHJlc291cmNlVGltaW5nRW5hYmxlZDsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljKSBCT09MIHBhaW50VGltaW5nRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBC
T09MIGxpbmtQcmVsb2FkRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIG1lZGlh
VXNlckdlc3R1cmVJbmhlcml0c0Zyb21Eb2N1bWVudDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBC
T09MIGlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAg
LTMxOTYsNiArMzE5Niw3IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVy
ZW4KIAogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNl
clRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMudXNlclRpbWluZ0VuYWJsZWQpOwogICAgIFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFi
bGVkKHByZWZlcmVuY2VzLnJlc291cmNlVGltaW5nRW5hYmxlZCk7CisgICAgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJsZWQocHJlZmVy
ZW5jZXMucGFpbnRUaW1pbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChwcmVmZXJlbmNlcy5saW5rUHJl
bG9hZEVuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkuc2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5tZWRpYVByZWxvYWRpbmdF
bmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dElzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQocHJlZmVyZW5jZXMuaXNTZWN1cmVDb250
ZXh0QXR0cmlidXRlRW5hYmxlZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0wMy0yMyAgTm9hbSBSb3NlbnRoYWwg
IDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVu
dGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBwcmVmZXJlbmNlIGtleSBmb3IgcGFpbnQtdGltaW5nLgorCisgICAgICAgICogSW50
ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAq
IFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2Vk
KToKKwogMjAyMC0wMy0xOCAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgTWFrZSBzdXJlIGEgcHJlZmxpZ2h0IGZhaWxzIGlmIHJlc3BvbnNlIGhlYWRlcnMgYXJl
IGludmFsaWQKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlz
UHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTk3
LDYgKzE5Nyw4IEBACiAKICNkZWZpbmUgV2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNl
S2V5ICJXZWJLaXRVc2VyVGltaW5nRW5hYmxlZCIKIAorI2RlZmluZSBXZWJLaXRQYWludFRpbWlu
Z0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRQYWludFRpbWluZ0VuYWJsZWQiCisKICNkZWZp
bmUgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0UmVzb3Vy
Y2VUaW1pbmdFbmFibGVkIgogCiAjZGVmaW5lIFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZl
cmVuY2VLZXkgIldlYktpdExpbmtQcmVsb2FkRW5hYmxlZCIKSW5kZXg6IFNvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjUxLDYg
KzI1MSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
c2V0VXNlclRpbWluZ0VuYWJsZWQoQk9PTCk7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIHJlc291cmNlVGltaW5nRW5hYmxlZChfT3V0XyBCT09MKik7CiAgICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFJlc291cmNlVGltaW5nRW5hYmxlZChCT09M
KTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcGFpbnRUaW1pbmdFbmFi
bGVkKF9PdXRfIEJPT0wqKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
c2V0UGFpbnRUaW1pbmdFbmFibGVkKEJPT0wpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBsaW5rUHJlbG9hZEVuYWJsZWQoX091dF8gQk9PTCopOwogICAgIHZpcnR1YWwg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRMaW5rUHJlbG9hZEVuYWJsZWQoQk9PTCk7CiAg
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIG1lZGlhUHJlbG9hZGluZ0VuYWJs
ZWQoX091dF8gQk9PTCopOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAJKHJl
dmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01MjgzLDYgKzUyODMsMTEgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3Rp
ZnlQcmVmZXJlbmNlc0NoYW5nZQogICAgICAgICByZXR1cm4gaHI7CiAgICAgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZCghIWVuYWJs
ZWQpOwogCisgICAgaHIgPSBwcmVmc1ByaXZhdGUtPnBhaW50VGltaW5nRW5hYmxlZCgmZW5hYmxl
ZCk7CisgICAgaWYgKEZBSUxFRChocikpCisgICAgICAgIHJldHVybiBocjsKKyAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFBhaW50VGltaW5nRW5hYmxlZCgh
IWVuYWJsZWQpOworCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPnJlc291cmNlVGltaW5nRW5hYmxl
ZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJp
dmF0ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNl
cy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNl
L1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMTk3LDYgKzE5Nyw4IEBAIGludGVyZmFjZSBJV2ViUHJlZmVyZW5j
ZXNQcml2YXRlNCA6IElXZWIKICAgICBIUkVTVUxUIHNldFVzZXJUaW1pbmdFbmFibGVkKFtpbl0g
Qk9PTCBlbmFibGVkKTsKICAgICBIUkVTVUxUIHJlc291cmNlVGltaW5nRW5hYmxlZChbb3V0LCBy
ZXR2YWxdIEJPT0wqKTsKICAgICBIUkVTVUxUIHNldFJlc291cmNlVGltaW5nRW5hYmxlZChbaW5d
IEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBwYWludFRpbWluZ0VuYWJsZWQoW291dCwgcmV0
dmFsXSBCT09MKik7CisgICAgSFJFU1VMVCBzZXRQYWludFRpbWluZ0VuYWJsZWQoW2luXSBCT09M
IGVuYWJsZWQpOwogICAgIEhSRVNVTFQgbGlua1ByZWxvYWRFbmFibGVkKFtvdXQsIHJldHZhbF0g
Qk9PTCopOwogICAgIEhSRVNVTFQgc2V0TGlua1ByZWxvYWRFbmFibGVkKFtpbl0gQk9PTCBlbmFi
bGVkKTsKICAgICBIUkVTVUxUIG1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoW291dCwgcmV0dmFsXSBC
T09MKik7CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyNTg4NDQpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxOSBAQAorMjAyMC0wMy0yMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBwcmVm
ZXJlbmNlIGtleSBmb3IgcGFpbnQtdGltaW5nLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29u
c2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJU
cmVlLmNwcDoKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMp
OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVl
cyk6CisKIDIwMjAtMDMtMjMgIENocmlzIExvcmQgIDxjbG9yZEBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIEFkZCBtaXNzaW5nIGNvbW1pdHRlciBzdGF0dXMgdG8gQ2hyaXMgTG9yZCBpbiBjb250cmli
dXRvcnMuanNvbgpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJl
ZS5tbQkocmV2aXNpb24gMjU4ODQ0KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDA0LDYgKzEwMDQsNyBAQCBzdGF0aWMg
dm9pZCByZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0CiAgICAgW3ByZWZlcmVuY2VzIHNldE1v
ZGVybk1lZGlhQ29udHJvbHNFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFJlc291
cmNlVGltaW5nRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRVc2VyVGltaW5nRW5h
YmxlZDpZRVNdOworICAgIFtwcmVmZXJlbmNlcyBzZXRQYWludFRpbWluZ0VuYWJsZWQ6WUVTXTsK
IAogICAgIFtwcmVmZXJlbmNlcyBzZXRDYWNoZUFQSUVuYWJsZWQ6Tk9dOwogICAgIHByZWZlcmVu
Y2VzLm1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxlZCA9IFlFUzsKSW5kZXg6IFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJl
bmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAkocmV2aXNpb24gMjU4ODQ0KQorKysgVG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtODk5LDYgKzg5OSw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNp
c3QKICAgICBwcmVmc1ByaXZhdGUtPnNldEN1c3RvbUVsZW1lbnRzRW5hYmxlZChUUlVFKTsKICAg
ICBwcmVmc1ByaXZhdGUtPnNldFJlc291cmNlVGltaW5nRW5hYmxlZChUUlVFKTsKICAgICBwcmVm
c1ByaXZhdGUtPnNldFVzZXJUaW1pbmdFbmFibGVkKFRSVUUpOworICAgIHByZWZzUHJpdmF0ZS0+
c2V0UGFpbnRUaW1pbmdFbmFibGVkKFRSVUUpOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0RGF0YVRy
YW5zZmVySXRlbXNFbmFibGVkKFRSVUUpOwogICAgIHByZWZzUHJpdmF0ZS0+Y2xlYXJOZXR3b3Jr
TG9hZGVyU2Vzc2lvbigpOwogCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmNwcAkocmV2aXNpb24gMjU4ODQ0KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzMSw2ICs5MzEsNyBAQCB2b2lk
IFRlc3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2VzVG9DCiAgICAgV0tQcmVmZXJlbmNlc1Nl
dEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVm
ZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAg
V0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKKyAg
ICBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsK
ICAgICBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZChwcmVmZXJlbmNlcywg
dHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldE1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmUocHJl
ZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRJbmxpbmVNZWRpYVBsYXliYWNr
UmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZShwcmVmZXJlbmNlcywgZmFsc2UpOwpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMjU4ODQ0KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3
ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0
OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRl
ZCB0ZXN0cyBmb3Igc29tZSBmaXJzdC1jb250ZW50ZnVsLXBhaW50IChGQ1ApIHVzZS1jYXNlcy4K
KworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICAgICAgICAgU2tpcCBvdmVy
ZmxvdyB3M2MgdGVzdCwgc3RpbGwgbm90IHN1cHBvcnRlZC4KKworICAgICAgICAqIHBlcmZvcm1h
bmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHBlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanM6IEFkZGVkLgor
ICAgICAgICAgICAgICAgIFRlc3QgZXhpc3RlbmNlIG9mIHBhaW50IHRpbWluZyBBUEkgb24gdGhl
IHdpbmRvdyBvYmplY3QuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVu
dGZ1bC1wYWludC1mcmFtZXMuc3ViLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVy
Zm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLnN1Yi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgICAgICAgICBUZXN0IHRoYXQgRkNQIGlzIG5vdCBhdmFpbGFibGUg
Zm9yIGNyb3NzLW9yaWdpbiBmcmFtZXMuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVy
Zm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJz
dC1jb250ZW50ZnVsLXBhaW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFw
aS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5jIHdh
aXRGb3JGQ1ApOgorICAgICAgICAgICAgICAgIFRlc3QgdGhhdCBwZXJmb3JtYW5jZSBvYnNlcnZl
cnMgYXJlIGNhbGxlZCBmb3IgRkNQLgorCiAyMDIwLTAzLTIzICBKYWNvYiBVcGhvZmYgIDxqYWNv
Yl91cGhvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjU4
ODAzLgpJbmRleDogTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyNTg4NDQpCisrKyBMYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC0yMjIxLDYgKzIyMjEsOSBA
QCB3ZWJraXQub3JnL2IvMTY0Nzk3IGpzL2RvbS9kb21qaXQtZnVuY3RpCiAjIHRoZSB0ZXN0cyBt
YXkgYmUgd3JvbmcuCiB3ZWJraXQub3JnL2IvMTY1MTk1IGZhc3QvY3NzL3BhcnNpbmctY3NzLWFs
bG93ZWQtc3RyaW5nLWNoYXJhY3RlcnMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKKyMgT3ZlcmZs
b3cgaGFuZGxpbmcgaW4gRkNQIHJlcG9ydGluZyBpcyBub3QgY29tcGxldGUgeWV0LgoraW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW92ZXJm
bG93Lmh0bWwgWyBTa2lwIF0KKwogIyBWaXN1YWwgdmlld3BvcnRzCiB3ZWJraXQub3JnL2IvMTY1
NDYwIGNvbXBvc2l0aW5nL3JlcGFpbnQvc2Nyb2xsLWZpeGVkLWxheWVyLW5vLWNvbnRlbnQuaHRt
bCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE2NTQ2MCBjb21wb3NpdGluZy9yZXBhaW50L3Nj
cm9sbC1maXhlZC1sYXllci1vdXQtb2Ytdmlldy5odG1sIFsgRmFpbHVyZSBdCkluZGV4OiBMYXlv
dXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvdGVz
dHMtb3B0aW9ucy5qc29uCShyZXZpc2lvbiAyNTg4NDQpCisrKyBMYXlvdXRUZXN0cy90ZXN0cy1v
cHRpb25zLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTE3LDYgKzE3LDkgQEAKICAgICAiaW1wb3J0
ZWQvdzNjL2Nzcy9jc3MtdmFsdWVzL3ZoX25vdF9yZWZyZXNoaW5nX29uX2Nocm9tZS5odG1sIjog
WwogICAgICAgICAic2xvdyIKICAgICBdLAorICAgICJpbXBvcnRlZC93M2MvcGFpbnQtdGltaW5n
L2ZpcnN0LWltYWdlLWNoaWxkLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCiAgICAg
ImltcG9ydGVkL3czYy93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy91cGRh
dGluZy10aGUtZmluaXNoZWQtc3RhdGUuaHRtbCI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkocmV2aXNpb24gMjU4ODQ0KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDczIEBACisyMDIwLTAzLTIzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wb3J0ZWQgdGVzdC1z
dWl0ZSBmcm9tIHczYyB0byBjb3ZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhc2VzLgorICAg
ICAgICBUaGUgZmNwLW9ubHkgY2FzZXMgYXJlIGltcG9ydGVkLCB3aGlsZSB0aGUgb3RoZXIgb25l
cyBhcmUgbm90IHNpbmNlIFdlYktpdCBkb2VzIG5vdCBzdXBwb3J0IGZpcnN0LXBhaW50LgorCisg
ICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNp
emUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1h
Z2Utc2V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWlt
YWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1y
b3RhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS1zY2FsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFu
c2l0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5k
YW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9w
YWNpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3Vu
ZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3Vu
ZHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3ZlcmZsb3cuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxh
eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1p
bWFnZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
dmlzaWJpbGl0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS93
M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2ZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmc6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1l
LXBhaW50aW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMu
anM6IEFkZGVkLgorICAgICAgICAod2FpdFRpbWUpOgorICAgICAgICAoYXN5bmMgYXNzZXJ0Tm9G
aXJzdENvbnRlbnRmdWxQYWludCk6CisgICAgICAgIChhc3luYyBhc3NlcnRGaXJzdENvbnRlbnRm
dWxQYWludCk6CisgICAgICAgICh0ZXN0X2ZjcCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDIw
LTAzLTIwICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQg
cm91dGluZXMgdG8gY2hlY2sgYWJvdXQ6YmxhbmsgYW5kIGFib3V0OnNyY2RvYyBVUkxzCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMu
anNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2lt
cG9ydC1leHBlY3RhdGlvbnMuanNvbgkocmV2aXNpb24gMjU4ODQ0KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24JKHdvcmtpbmcg
Y29weSkKQEAgLTMxNyw3ICszMTcsOCBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvb3JpZW50
YXRpb24tZXZlbnQiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvb3JpZW50YXRp
b24tc2Vuc29yIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BhZ2UtdmlzaWJp
bGl0eSI6ICJza2lwIiwgCi0gICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmciOiAi
c2tpcCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5Ijog
ImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNl
cyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtaGFuZGxlciI6
ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LW1ldGhvZC1iYXNpYy1j
YXJkIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtbWV0aG9kLWlk
IjogInNraXAiLCAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgc2l6ZS4gCisKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0Cl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Q
ZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemU8
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZl
OworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgICAg
ICBiYWNrZ3JvdW5kLXNpemU6IDAgMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNz
IGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwg
eworICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsKKyAgICB9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBzaXplLiIpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAs
MCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMg
QEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5k
IGltYWdlIGluIGltYWdlLXNldC4gCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRh
YmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmct
aW1hZ2Utc2V0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldDwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNw
IHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgYmFja2dyb3VuZC1p
bWFnZTogLXdlYmtpdC1pbWFnZS1zZXQodXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZykgMXgp
OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS1zZXQodXJsKC4uL3Jlc291cmNlcy9j
aXJjbGVzLnBuZykgMXgpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldC4iKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNl
dC5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWlt
YWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJn
LWltYWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dy
b3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZS4gCisKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Q
ZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBmaXJlIGZvciBiYWNrZ3Jv
dW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7
CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisK
KyAgICAvKiBjb250ZW50ZnVsIGFuZCBwcmVGQ1AgY2xhc3NlcyBhcmUgZGVmaW5lZCBpbiB0ZXN0
X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4ucHJlRkNQIHsKKyAgICAgICAgdmlzaWJpbGl0eTog
aGlkZGVuOworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwsICAjbWFpbi5wcmVGQ1Agewor
ICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsK
KyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlz
aWJsZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4K
KyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dyb3Vu
ZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0
bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBz
Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFz
LWNvbnRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMt
Y29udGV4dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZh
cy1jb250ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBDYW52YXMgc2hvdWxkIGNvdW50IGFzIGNvbnRlbnRmdWwgd2hlbiBjb250ZXh0IGlzIGNy
ZWF0ZWQgCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4
dC1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCAr
MSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtY2FudmFzLWNvbnRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFz
LWNvbnRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRl
eHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agd2hlbiBj
YW52YXMgY29udGV4dCBpcyBjcmVhdGVkPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdp
ZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQ
YWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgYXdhaXQg
bmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAg
ICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgY29uc3QgY2FudmFz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhbnZhcycpOworICAgIGNvbnN0IGNvbnRleHQg
PSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICBjb250ZXh0LmZpbGxSZWN0KDAsIDAsIDEw
MCwgMTAwKTsKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAn
Q2FudmFzIHNob3VsZCBjb3VudCBhcyBjb250ZW50ZnVsIHdoZW4gY29udGV4dCBpcyBjcmVhdGVk
Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4
ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBHcmFkaWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsIAor
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWlu
dCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBub3QgZmlyZSB3aXRoIGdyYWRpZW50LW9ubHkgYmFj
a2dyb3VuZHM8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEw
MHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBs
aW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBvcmFuZ2UsIGJsdWUpOworICAgIH0KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0
PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMg
dCA9PiB7CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50
VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGNvbnN0IG1h
aW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbicpOworICAgICAgYXdhaXQgbmV3IFBy
b21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3
YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgICdHcmFkaWVudHMgc2hv
dWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9o
dG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJv
dGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyByb3RhdGlu
ZyBpbnRvIHZpZXcuIAorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNj
ZW5kYW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1y
b3RhdGUtZGVzY2VuZGFudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRl
c3Q6IEZDUCBkdWUgdG8gM2QgcmV2ZWFsaW5nIG9mIGRlc2NlbmRhbnRzPC90aXRsZT4KKzxzdHls
ZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cisg
ICAgICAgIHRvcDogMDsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDQ1ZGVnKTsKKyAgICAg
ICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKKyAgICB9CisKKyAgICAvKgorICAgICAg
IFRoaXMgdGVzdHMgdGhhdCBnaXZlbiBtdWx0aXBsaWNhdGlvbiBlZmZlY3Qgb2YgM2QgdHJhbnNm
b3JtcyBvbiBib3VuZGluZyByZWN0LAorICAgICAgIEFuIGVsZW1lbnQgY291bnRzIGFzIGNvbnRl
bnRmdWwvcGFpbnRhYmxlIG9ubHkgd2hlbiBpdHMgYm91bmRpbmcgcmVjdCBpcyB0cnVseSBub24t
ZW1wdHkgKi8KKyAgICAjY2hpbGQgeworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVkZWcp
OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2Zj
cCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTog
bm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXYgaWQ9ImNo
aWxkIj5UZXh0PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHJvdGF0aW5n
IGludG8gdmlldy4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1s
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0z
ZC1yb3RhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8g
M2Qgcm90YXRpb24gaW50byB2aWV3LiAKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJm
b3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZp
ZXc8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5z
Zm9ybTogcm90YXRlWSg5MGRlZyk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAg
ICAgdG9wOiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBp
biB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRy
YW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRleHQ8L2Rp
dj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldy4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0
ZS5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS1zY2FsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS1zY2FsZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWlu
dmlzaWJsZS1zY2FsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBA
CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gc2NhbGUgYmVjb21p
bmcgcG9zaXRpdmUuIAorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLXNjYWxlLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQoj
IyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5z
aXRpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAor
CitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcg
dHJhbnNpdGlvbi4gCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4
ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24u
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
ZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgaW4gdHJhbnNp
dGlvbjwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7
CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJh
bnNmb3JtOiBzY2FsZSgwKTsKKyAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwczsKKyAg
ICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAg
LyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAg
ICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKKyAgICB9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRFWFQ8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVz
dF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcg
dHJhbnNpdGlvbi4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHNjYWxlIGNoYW5nZTwv
dGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3Jt
OiBzY2FsZSgwKTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7
CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcp
OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2Zj
cCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTog
bm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4K
KyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gc2NhbGUg
YmVjb21pbmcgcG9zaXRpdmUuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitJTlZJU0lCTEUKKworUEFT
UyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNv
bWluZyB2aXNpYmxlLiAKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS10ZXh0LWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQoj
IyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtdGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZD
UCBzaG91bGQgc3RpbGwgZmlyZSBmb3IgaW52aXNpYmxlIHRleHQ8L3RpdGxlPgorPHN0eWxlPgor
ICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDog
MTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIHZpc2liaWxpdHk6IGhpZGRl
bjsKKyAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CisgICAgfQorCisgICAgLyogY29u
dGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFp
bi5jb250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKKyAgICB9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIElOVklTSUJMRQorPC9kaXY+Cis8c2NyaXB0Pgor
ICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8t
ZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2Vu
ZGFudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVz
Y2VuZGFudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNp
dHktZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBA
CitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFu
Y2VzdG9yIGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4gCisKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBhbmNlc3RvciBvcGFj
aXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsK
KyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3Np
dGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICB9CisKKyAgICAjY2hpbGQgewor
ICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgYW5kIGludGVy
bWVkaWF0ZSBjbGFzc2VzIGFyZSBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAj
bWFpbi5jb250ZW50ZnVsICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorCisg
ICAgI21haW4uaW50ZXJtZWRpYXRlICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAg
fQorCisgICAgI21haW4uaW50ZXJtZWRpYXRlIHsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9
CisKKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgb3BhY2l0eTogMC41OworICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0iY2hpbGQiPlRleHQ8L2Rp
dj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWlu
dCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4iKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVj
dXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBA
CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gb3BhY2l0eS1yZXZl
YWxlZCBlbGVtZW50LiAKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNp
dHktZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAg
KzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW9wYWNpdHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJm
b3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBvcGFjaXR5PC90aXRsZT4KKzxz
dHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291
cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyog
Y29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAj
bWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgb3BhY2l0eTogMC4xOworICAgIH0KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0
PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVsZW1lbnQuIik7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1vcGFjaXR5Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMg
LTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpbnRl
cnNlY3Rpb24gd2l0aCBkb2N1bWVudC4gCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhl
Y3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFu
c2xhdGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNT
IEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBpbnRl
cnNlY3Rpb24gd2l0aCBkb2N1bWVudC4gCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
ZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHRy
YW5zZm9ybS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudDwvdGl0bGU+Cis8c3R5bGU+
CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEw
MDBweCk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAg
ICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAg
ICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2Ny
aXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7
CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91
dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAg
dGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1i
YXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10
cmFuc2xhdGUuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsx
ICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1i
b3VuZHMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhl
YWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gaW50
ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAg
ICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0
OiAtMTAwMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsK
KyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7
CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNw
IHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgbGVmdDogMHB4Owor
ICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRp
bHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRl
c3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpbnRlcnNlY3Rpb24g
d2l0aCBkb2N1bWVudC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW92ZXJmbG93Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW92ZXJmbG93Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW92ZXJmbG93Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDog
RkNQIHdpdGggZWxlbWVudCBjbGlwcGVkIHdpdGggb3ZlcmZsb3c8L3RpdGxlPgorPHN0eWxlPgor
ICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICBvdmVyZmxvdzogaGlkZGVuOworICAgICAgICBkaXNwbGF5OiBub25lOworICAg
IH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3Jp
cHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOwor
ICAgIH0KKworICAgICN0ZXh0IHsKKyAgICAgICAgdG9wOiAxMDAwMHB4OworICAgICAgICBwb3Np
dGlvbjogcmVsYXRpdmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8
ZGl2IGlkPSJ0ZXh0Ij5IRUxMTzwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNw
KCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGV2ZW4gd2hlbiBlbGVtZW50IGlzIGhpZGRl
biBkdWUgdG8gb3ZlcmZsb3cuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3ZlcmZsb3cuaHRtbApfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlz
cGxheS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVt
ZW50IHRleHQuIAorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFi
bGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZv
cm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQ8
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZl
OworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQor
CisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAiVEVYVCI7CisgICAgICAgIGRp
c3BsYXk6IG5vbmU7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVk
IGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAg
ICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4K
KzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
ZGlzcGxheS5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEg
IyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgaW1hZ2UuIAorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8t
ZWxlbWVudCBpbWFnZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3Np
dGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBj
b250ZW50OiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4iKQorPC9z
Y3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVj
dXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0
eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0dGluZyBw
b3NpdGl2ZSBvcGFjaXR5LiAKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBz
ZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
eGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVu
dCBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsK
KyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBj
b250ZW50OiAiVEVYVCI7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29u
dGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFp
bi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgb3BhY2l0eTogMC41OworICAgIH0KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2Ny
aXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZp
cnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcg
cG9zaXRpdmUgb3BhY2l0eS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LXRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC10ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNl
dWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVs
ZW1lbnQgdGV4dC4gCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJs
ZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFp
bnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8
c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAg
IHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBj
b250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNt
YWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAiVEVYVCIKKyAgICB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNw
KCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0
LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbApfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJp
bGl0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1l
bGVtZW50IGJlY29taW5nIHZpc2libGUuIAorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0
eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmls
aXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZp
c2liaWxpdHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
ZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGU8L3RpdGxlPgorPHN0eWxlPgor
ICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDog
MTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIg
eworICAgICAgICBjb250ZW50OiAiVEVYVCI7CisgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsK
KyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Ag
c2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICB2aXNpYmls
aXR5OiB2aXNpYmxlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4K
KzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVl
IHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIikKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LXZpc2liaWxpdHkuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAt
MCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmct
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgZmlyZXMgd2hlbiBTVkcgYmVjb21lcyBjb250ZW50ZnVsLiAKKwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXN2Zy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agd2l0aCBTVkc8L3Rp
dGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiBy
ZWxhdGl2ZTsKKyAgICB9CisKKyAgICAjY2lyY2xlIHsKKyAgICAgIGRpc3BsYXk6IG5vbmU7Cisg
ICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNj
cmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICNjaXJjbGUgeworICAgICAgICBkaXNwbGF5
OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICA8c3ZnIHZpZXdC
b3g9IjAgMCAxMCAxMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgorICAgICB4
bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CisgICAgPGRlZnM+Cisg
ICAgICA8Y2lyY2xlIGlkPSJteUNpcmNsZSIgY3g9IjUiIGN5PSI1IiByPSI0IiBzdHJva2U9ImJs
dWUiLz4KKyAgICA8L2RlZnM+CisgICAgPHVzZSBpZD0iY2lyY2xlIiBocmVmPSIjbXlDaXJjbGUi
IGZpbGw9ImdyZWVuIiAvPgorICA8L3N2Zz4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2Zj
cCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIFNWRyBiZWNvbWVzIGNvbnRlbnRm
dWwuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUK
IyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQgQEAKKworCitQQVNTIFZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGZpcnN0
IGZyYW1lIGlzIGxvYWRlZCAKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZp
ZGVvLWZyYW1lLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQoj
IyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12
aWRlby1mcmFtZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFt
ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8g
bG9hZGVkIHZpZGVvIGZyYW1lPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8dmlkZW8gaWQ9InZpZGVvIiBhdXRvcGxheT48
L3ZpZGVvPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNz
ZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRp
bWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9G
aXJzdENvbnRlbnRmdWxQYWludCgpOworICAgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgndmlkZW8nKTsKKyAgICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgnc3JjJywgJy9t
ZWRpYS90ZXN0Lm1wNCcpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Cisg
ICAgICAgIHZpZGVvLm9uY2FucGxheSA9IHJlc29sdmU7CisgICAgICB9KTsKKyAgICAgIGF3YWl0
IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdWaWRlbyBzaG91bGQgYmVjb21l
IGNvbnRlbnRmdWwgd2hlbiBmaXJzdCBmcmFtZSBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZy
YW1lLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIwor
KgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atdmlk
ZW8tcG9zdGVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8t
cG9zdGVyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8t
cG9zdGVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQ
QVNTIFZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIHBvc3RlciBpcyBsb2FkZWQg
CisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0
ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVv
LXBvc3Rlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBsb2FkZWQgdmlkZW8g
cG9zdGVyPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8dmlkZW8gaWQ9InZpZGVvIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAi
PjwvdmlkZW8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNz
ZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRp
bWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0
Q29udGVudGZ1bFBhaW50KCk7CisgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndmlkZW8nKTsKKyAgICBjb25zdCBzcmMgPSAnLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5n
JzsKKyAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpOworICAgIGltYWdlLnNyYyA9IHNyYzsK
KyAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3Bvc3RlcicsIHNyYyk7CisgICAgYXdhaXQgbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIGltYWdlLm9ubG9hZCA9IGFzeW5jICgpID0+IHJl
c29sdmUoKTsKKyAgICB9KQorICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7
CisgIH0sICdWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBwb3N0ZXIgaXMgbG9h
ZGVkJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhl
Y3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNCBAQAorVEVYVAorCitQQVNTIFdoaXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3VudCBhcyBj
b250ZW50ZnVsLiAKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3Bh
Y2UtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAg
KzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXdoaXRlc3BhY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFj
ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0
aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogV2hpdGVzcGFjZSBzaG91bGQgbm90
IGNvdW50IGFzIGNvbnRlbnRmdWw8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAg
ICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMv
Y2lyY2xlcy5wbmcpOworICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDAgMDsKKyAgICB9CisKKyAg
ICAjdGV4dCB7CisgICAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAgLyogY29udGVu
dGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5j
b250ZW50ZnVsICN0ZXh0eworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXYgaWQ9IndoaXRlc3BhY2UiPiAgIDwvZGl2Pgor
ICAgIDxkaXYgaWQ9InRleHQiPlRFWFQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0
X2ZjcCgiV2hpdGVzcGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwuIikKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXdoaXRlc3BhY2UuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCww
ICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L3czYy1pbXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNDAgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVk
IGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJl
Y3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQ
VCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKwor
VGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8g
cmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1By
b3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFn
ZS10d28tc3RlcHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0
ZS1kZXNjZW5kYW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNp
dGlvbi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vcGFjaXR5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3ZlcmZs
b3cuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1vcGFjaXR5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNp
YmlsaXR5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1zdmcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvdzNjLWltcG9ydC5sb2cKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2Zwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9y
ZXNvdXJjZXMvY2lyY2xlLnN2Zwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2
Zwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiPgorICAgPGNpcmNsZSBjeD0iMTAwIiBjeT0i
NTAiIHI9IjQwIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIC8+
Cis8L3N2Zz4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KKzxkaXYgaWQ9Imlt
YWdlIj48L2Rpdj4KKzxzY3JpcHQ+CisgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ0lNRycpOworICBpbWcuc3JjID0gJ2NpcmNsZXMucG5nJzsKKyAgaW1nLm9ubG9hZCA9IGZ1
bmN0aW9uKCkgeworICAgIGZ1bmN0aW9uIHNlbmRQYWludEVudHJpZXMoKSB7CisgICAgICBjb25z
dCBwYWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdwYWludCcpOwor
ICAgICAgaWYgKHBhaW50RW50cmllcy5sZW5ndGggPCAyKSB7CisgICAgICAgIHNldFRpbWVvdXQo
c2VuZFBhaW50RW50cmllcywgMjApOworICAgICAgICByZXR1cm47CisgICAgICB9CisgICAgICBs
ZXQgZW50cnlDb250ZW50cyA9IHBhaW50RW50cmllcy5sZW5ndGggKyAnJzsKKyAgICAgIGZvciAo
bGV0IGkgPSAwOyBpIDwgcGFpbnRFbnRyaWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIGNvbnN0
IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAgICAgICBlbnRyeUNvbnRlbnRzICs9ICcgJyAr
IGVudHJ5LmVudHJ5VHlwZSArICcgJyAgKyBlbnRyeS5uYW1lOworICAgICAgfQorICAgICAgcGFy
ZW50LnBvc3RNZXNzYWdlKGVudHJ5Q29udGVudHMsICcqJyk7CisgICAgfTsKKyAgICBzZW5kUGFp
bnRFbnRyaWVzKCk7CisgIH07CisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWFnZScpLmFw
cGVuZENoaWxkKGltZyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1wYWludGluZy5odG1sCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0PgorICBz
ZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbihlKSB7CisgICAgLy8gU2Vu
ZCBwYWludC10aW1pbmcgZW50cmllcyB1cG9uIHJlY2VpdmluZyBhIG1lc3NhZ2UuCisgICAgY29u
c3QgcGFpbnRFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncGFpbnQnKTsK
KyAgICBsZXQgZW50cnlDb250ZW50cyA9IHBhaW50RW50cmllcy5sZW5ndGggKyAnJzsKKyAgICBm
b3IgKGxldCBpID0gMDsgaSA8IHBhaW50RW50cmllcy5sZW5ndGg7IGkrKykgeworICAgICAgY29u
c3QgZW50cnkgPSBwYWludEVudHJpZXNbaV07CisgICAgICBlbnRyeUNvbnRlbnRzICs9ICcgJyAr
IGVudHJ5LmVudHJ5VHlwZSArICcgJyAgKyBlbnRyeS5uYW1lOworICAgIH0KKyAgICBwYXJlbnQu
cG9zdE1lc3NhZ2UoZW50cnlDb250ZW50cywgJyonKTsKKyAgfSk7Cis8L3NjcmlwdD4KClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGls
cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU2IEBACisvLyBOdW1iZXIgbWlsbGlzZWNv
bmRzIHRvIHdhaXQgZm9yIENTUyByZXNvdXJjZXMgdG8gbG9hZC4KK2NvbnN0IG51bU1pbGxpc2Vj
b25kc1dhaXQgPSA1MDsKKworLy8gV2UgdXNlIHJlcXVlc3RBbmltYXRpb25GcmFtZSgpIGNhbGxz
IHRvIGZvcmNlIHRoZSB1c2VyIGFnZW50IHRvIHBhaW50IGFuZCBnaXZlIGVub3VnaAorLy8gdGlt
ZSBmb3IgRkNQIHRvIHNob3cgdXAgaW4gdGhlIHBlcmZvcm1hbmNlIHRpbWVsaW5lLiBIZW5jZSwg
c2V0IHxudW1GcmFtZXNXYWl0aW5nfCB0bworLy8gMyBhbmQgdXNlIHRoYXQgY29uc3RhbnQgd2hl
bmV2ZXIgdGhlIHRlc3QgbmVlZHMgdG8gd2FpdCBmb3IgdGhlIG5leHQgcGFpbnQgdG8gb2NjdXIu
Citjb25zdCBudW1GcmFtZXNXYWl0aW5nID0gMzsKKworZnVuY3Rpb24gd2FpdFRpbWUodCkgewor
ICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0LnN0ZXBfdGltZW91dChyZXNvbHZlLCBu
dW1NaWxsaXNlY29uZHNXYWl0KSk7Cit9CisKK2Z1bmN0aW9uIHdhaXRGb3JBbmltYXRpb25GcmFt
ZXMoY291bnQpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGlmIChj
b3VudC0tIDw9IDApIHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9IGVsc2UgeworICAgICAgcmVx
dWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgd2FpdEZvckFuaW1hdGlvbkZyYW1l
cyhjb3VudCkudGhlbihyZXNvbHZlKTsKKyAgICAgIH0pOworICAgIH0KKyAgfSk7Cit9CisKKy8v
IEFzc2VydHMgdGhhdCB0aGVyZSBpcyBjdXJyZW50bHkgbm8gRkNQIHJlcG9ydGVkLCBldmVuIGFm
dGVyIHNvbWUgd2FpdC4KK2FzeW5jIGZ1bmN0aW9uIGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFp
bnQodCkgeworICBpZiAodCkKKyAgICBhd2FpdCB3YWl0VGltZSh0KTsKKworICBhd2FpdCB3YWl0
Rm9yQW5pbWF0aW9uRnJhbWVzKG51bUZyYW1lc1dhaXRpbmcpOworICBhc3NlcnRfZXF1YWxzKHBl
cmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5n
dGgsIDAsICdGaXJzdCBjb250ZW50ZnVsIHBhaW50IG1hcmtlZCB0b28gZWFybHkuICcpOworfQor
CisvLyBBc3NlcnRzIHRoYXQgRkNQIGlzIHJlcG9ydGVkLCBwb3NzaWJseSBhZnRlciBzb21lIHdh
aXQuIFRoZSB3YWl0IGlzIG5lZWRlZAorLy8gYmVjYXVzZSBzb21ldGltZXMgdGhlIEZDUCByZWxp
ZXMgb24gc29tZSBDU1MgcmVzb3VyY2VzIHRvIGZpbmlzaCBsb2FkaW5nLgorYXN5bmMgZnVuY3Rp
b24gYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQodCkgeworICBpZiAodCkKKyAgICBhd2FpdCB3
YWl0VGltZSh0KTsKKyAgYXdhaXQgd2FpdEZvckFuaW1hdGlvbkZyYW1lcyhudW1GcmFtZXNXYWl0
aW5nKTsKKyAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJz
dC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoLCAxLCAnRXhwZWN0ZWQgZmlyc3QgY29udGVudGZ1
bCBwYWludCBub3QgZm91bmQuICcpOworfQorCitmdW5jdGlvbiB0ZXN0X2ZjcChsYWJlbCkgewor
ICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CisgIGRvY3Vt
ZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOworICByZXR1cm4gcHJvbWlzZV90ZXN0KGFzeW5j
IHQgPT4geworICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRU
aW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgIGNvbnN0IG1haW4g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbicpOworICAgIGF3YWl0IG5ldyBQcm9taXNl
KHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgYXdhaXQgYXNz
ZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIG1haW4uY2xhc3NOYW1lID0gJ3ByZUZD
UCc7CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIG1haW4u
Y2xhc3NOYW1lID0gJ2NvbnRlbnRmdWwnOworICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1
bFBhaW50KCk7CisgIH0sIGxhYmVsKTsKK30KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNl
cy91dGlscy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMj
CisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2Mt
aW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMjEgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZy
b20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3Rs
eSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBn
aXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3Bl
cnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1p
bmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQt
dGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9w
YWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBh
aW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNl
cy91dGlscy5qcwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9n
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLnN1Yi1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFp
bnQtZnJhbWVzLnN1Yi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLnN1Yi1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOCBAQAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDc6IFtvYmplY3QgUGVyZm9ybWFuY2VQYWludFRpbWluZ10KK1BhaW50IEFQSSBzaG91bGQg
YmUgYXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmln
aW4vc2FuZGJveGVkIGZyYW1lcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgZGlkUmVjZWl2ZU1lc3NhZ2UgaXMgZmFsc2UKK1BBU1MgcmVjZWl2ZWRFdmVudC5zb3VyY2Ug
aXMgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNhbmRib3hlZCcpLmNvbnRlbnRXaW5kb3cK
K1BBU1MgcmVjZWl2ZWRFbnRyeS5uYW1lIGlzICdmaXJzdC1jb250ZW50ZnVsLXBhaW50JworUEFT
UyByZWNlaXZlZEVudHJ5LnN0YXJ0VGltZSAhPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKClbMF0u
c3RhcnRUaW1lIGlzIHRydWUKK1BBU1MgZGlkUmVjZWl2ZU1lc3NhZ2UgaXMgdHJ1ZQorUEFTUyBQ
ZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2FzIGZp
cmVkIGZvciBzYW1lLW9yaWdpbiBmcmFtZSBidXQgbm90IGZvciBjcm9zcy1vcmlnaW4gZnJhbWUK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCisKK1RF
WFQKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9maXJz
dC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5zdWItZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQtZnJhbWVzLnN1Yi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5zdWIuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1
bC1wYWludC1mcmFtZXMuc3ViLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MSBAQAor
PCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcGFp
bnQtYXBpLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBjbGFzcz0i
c3BhY2VyIj48L2Rpdj4KKyAgICA8aWZyYW1lIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBpZD0i
bm9uU2FuZGJveGVkIiBzcmM9Ii4vcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sIj48L2lmcmFt
ZT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+Cis8aWZyYW1lIGlkPSJzYW5kYm94ZWQiIHNy
Yz0iaHR0cDovL3t7aG9zdHNbYWx0XVtdfX06e3twb3J0c1todHRwXVswXX19L3BlcmZvcm1hbmNl
LWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwiIHNhbmRib3g9ImFsbG93LXNjcmlwdHMi
PjwvaWZyYW1lPgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKworICAgIFRFWFQKKworPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCJQYWludCBBUEkgc2hvdWxkIGJlIGF2YWlsYWJsZSBmb3Igc2Ft
ZS1vcmlnaW4gZnJhbWVzIGJ1dCBub3QgdG8gY3Jvc3Mtb3JpZ2luL3NhbmRib3hlZCBmcmFtZXMu
Iik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit3aW5kb3cuZGlkUmVjZWl2ZU1lc3Nh
Z2UgPSBmYWxzZTsKKword2luZG93Lm9ubG9hZCA9IGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBz
YW5kYm94ZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2FuZGJveGVkJyk7CisgICAgY29u
c3Qgbm9uU2FuZGJveGVkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNhbmRib3hlZCcp
OworICAgIGNvbnN0IGZjcE1lc3NhZ2VQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7
CisgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBldmVudCA9PiB7CisgICAgICAgICAgICB3aW5k
b3cucmVjZWl2ZWRFdmVudCA9IGV2ZW50OworICAgICAgICAgICAgd2luZG93LnJlY2VpdmVkRW50
cnkgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpOworICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgn
ZGlkUmVjZWl2ZU1lc3NhZ2UnKTsKKyAgICAgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlID0gdHJ1
ZTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdyZWNlaXZlZEV2ZW50LnNvdXJjZScsICJkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJykuY29udGVudFdpbmRvdyIpOworICAgICAg
ICAgICAgc2hvdWxkQmUoJ3JlY2VpdmVkRW50cnkubmFtZScsICInZmlyc3QtY29udGVudGZ1bC1w
YWludCciKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgncmVjZWl2ZWRFbnRyeS5zdGFydFRp
bWUgIT0gcGVyZm9ybWFuY2UuZ2V0RW50cmllcygpWzBdLnN0YXJ0VGltZScpOworICAgICAgICAg
ICAgcmVzb2x2ZSgpOworICAgICAgICB9OworICAgIH0pOworCisgICAgc2FuZGJveGVkLmNvbnRl
bnRXaW5kb3cucG9zdE1lc3NhZ2UoInBhaW50IiwgIioiKTsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQ
KCk7CisgICAgbm9uU2FuZGJveGVkLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoInBhaW50Iiwg
IioiKTsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgYXdhaXQgZmNwTWVzc2FnZVByb21p
c2U7CisgICAgc2hvdWxkQmVUcnVlKCdkaWRSZWNlaXZlTWVzc2FnZScpOworICAgIHRlc3RQYXNz
ZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3
YXMgZmlyZWQgZm9yIHNhbWUtb3JpZ2luIGZyYW1lIGJ1dCBub3QgZm9yIGNyb3NzLW9yaWdpbiBm
cmFtZSIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9m
aXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5zdWIuaHRtbApfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBp
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKK0Jhc2ljIEludGVyZmFjZSB0ZXN0IGZvciBwYWlu
dC10aW1pbmcgQVBJcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BlcmZvcm1h
bmNlUGFpbnRUaW1pbmcKK1BBU1MgUGVyZm9ybWFuY2VQYWludFRpbWluZyBpcyBkZWZpbmVkLgor
UEFTUyBQZXJmb3JtYW5jZVBhaW50VGltaW5nLnByb3RvdHlwZS50b0pTT04gaXMgZGVmaW5lZC4K
K1BBU1MgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IFBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcoKScpLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5n
LWFwaXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFp
bnQtdGltaW5nLWFwaXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDEwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFw
aS9wYWludC10aW1pbmctYXBpcy5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxl
CiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNv
bnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAorUEFTUyBkaWRSZWNlaXZlRmlyc3RD
b250ZW50ZnVsUGFpbnQgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKCkubGVu
Z3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVu
dGZ1bC1wYWludCIpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5h
bWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiLCAicGFpbnQiKS5sZW5ndGggaXMgMQorUEFTUyBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCBpcyAxCitQQVNTIFBl
cmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXNuJ3Qg
ZmlyZWQgYWdhaW4gCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKK1RFWFQyCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3Rl
ZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1v
YnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZ
UEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGkt
dXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oIkVuc3VyZSBQZXJmb3JtYW5jZU9ic2VydmVycyBhcmUgbm90aWZpZWQgb25jZSBmb3IgZmly
c3QtY29udGVudGZ1bC1wYWludC4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAK
Kyhhc3luYyAoKSA9PiB7CisgICAgd2luZG93LmRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWlu
dCA9IGZhbHNlOworICAgIHdpbmRvdy5zdGFydFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAg
ICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7
CisgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZW50cnlM
aXN0ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5lbnRyeUxpc3QgPSBlbnRyeUxpc3Q7CisgICAg
ICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0LmdldEVudHJpZXMoKS5sZW5ndGgnLCAiMSIpOwor
ICAgICAgICAgICAgc2hvdWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1j
b250ZW50ZnVsLXBhaW50IikubGVuZ3RoJywgMSk7CisgICAgICAgICAgICBzaG91bGRCZSgnZW50
cnlMaXN0LmdldEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICAgICAg
ICAgIHdpbmRvdy5mY3BFbnRyeSA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzKClbMF07CisgICAgICAg
ICAgICBzaG91bGRCZUZhbHNlKCdkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQnKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5uYW1lJywgJyJmaXJzdC1jb250ZW50ZnVsLXBh
aW50IicpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5LmVudHJ5VHlwZScsICcicGFp
bnQiJyk7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoJ2ZjcEVudHJ5LnN0YXJ0VGltZSA+IHdp
bmRvdy5zdGFydFRpbWUnKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgnZmNwRW50cnkuc3Rh
cnRUaW1lIDwgcGVyZm9ybWFuY2Uubm93KCknKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdmY3BF
bnRyeS5kdXJhdGlvbicsICIwIik7CisgICAgICAgICAgICBkaWRSZWNlaXZlRmlyc3RDb250ZW50
ZnVsUGFpbnQgPSB0cnVlOworICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9KTsKKwor
ICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbJ3BhaW50J119KTsKKyAgICAg
ICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAnVEVYVCc7CisgICAgfSkKKyAgICBkb2N1bWVu
dC5ib2R5LmlubmVyVGV4dCA9ICdURVhUMic7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAg
IHNob3VsZEJlVHJ1ZSgnZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50Jyk7CisgICAgc2hv
dWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXMoKS5sZW5ndGgnLCAiMSIpOworICAgIHNob3Vs
ZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50
IikubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIsICJwYWludCIpLmxlbmd0aCcsICIxIik7Cisg
ICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3Ro
JywgIjEiKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQgY2FsbGJhY2sgd2Fzbid0IGZpcmVkIGFnYWluICIpOworICAgIGZpbmlzaEpT
VGVzdCgpOworfSkoKTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZl
ci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1
dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMv
ZmNwLXN1YmZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDIxIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAg
IGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7CisgICAg
ICAgIGxpc3QuZ2V0RW50cmllcygpLmZvckVhY2goZSA9PiB7CisgICAgICAgICAgICBjb25zb2xl
LmxvZyhlKTsKKyAgICAgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJp
bmdpZnkoZSksICcqJykKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICBvYnNlcnZlci5vYnNl
cnZlKHtlbnRyeVR5cGVzOiBbJ3BhaW50J119KTsKKyAgICB3aW5kb3cub25tZXNzYWdlID0gZSA9
PiB7CisgICAgICAgIGlmIChlLmRhdGEgPT0gJ3BhaW50JykKKyAgICAgICAgICAgIGRvY3VtZW50
LmJvZHkuaW5uZXJUZXh0ID0gIlBBSU5URUQiOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNl
cy9wYWludC1hcGktdXRpbHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw1IEBACithc3luYyBmdW5jdGlvbiB3YWl0Rm9yRkNQKCkK
K3sKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlcXVlc3RBbmltYXRpb25GcmFt
ZSgoKSA9PiByZXNvbHZlKCkpKTsKKyAgICByZXR1cm4gd2luZG93LnBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeU5hbWUoJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5ndGggPT0gMTsKK30KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJj
ZXMvcGFpbnQtdGltaW5nLWFwaS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanMJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKK2lmIChzZWxmLmltcG9ydFNjcmlwdHMp
CisgICAgaW1wb3J0U2NyaXB0cygiLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIik7CisK
K2lmIChzZWxmLndpbmRvdykKKyAgICBkZXNjcmlwdGlvbigiQmFzaWMgSW50ZXJmYWNlIHRlc3Qg
Zm9yIHBhaW50LXRpbWluZyBBUElzLiIpOworCitkZWJ1ZygiUGVyZm9ybWFuY2VQYWludFRpbWlu
ZyIpOworc2hvdWxkQmVEZWZpbmVkKCJQZXJmb3JtYW5jZVBhaW50VGltaW5nIik7CitzaG91bGRC
ZURlZmluZWQoYFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcucHJvdG90eXBlLnRvSlNPTmApOworc2hv
dWxkVGhyb3coYG5ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKClgKTsKKworaWYgKHNlbGYuaW1w
b3J0U2NyaXB0cykKKyAgICBmaW5pc2hKU1Rlc3QoKTsKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46
bWltZS10eXBlID0gaW1hZ2UvcG5nCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2ly
Y2xlcy5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIwor
KgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBzdm46bWltZS10eXBlCiMj
IC0wLDAgKzEgIyMKK2ltYWdlL3BuZwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cgpp
VkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ1FBQUFCSUNBWUFBQUNlTmxlNUFBQUM3bWxEUTFCSlEw
TWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9S
Rmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZwRktO
NnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVK
cQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAx
QTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVB
MUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFH
Y1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FW
dHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUrTHFI
QlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNH
UEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFDSkw4
UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhS
NWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdqRTMz
NTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlL
VEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2
VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUz
SHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1O
T1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2
ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQUEKQ1hCSVdY
TUFBQXNUQUFBTEV3RUFtcHdZQUFBR1owbEVRVlJvQmUyYVVXOVZSUkRIZDY4dEVWSkxXMktDeENZ
K2lnUURvWWtLZmdKOAo5TWtuRXZFZHZvQ21rUytBNzJwQ1FzS1RqL0lKQkNTQjFOU29QSnFVMUNh
a2dOaUFhZU5kZi8rWk9UMjM1OTdTRnU3bDZVeXk1K3pPCjJaMlpuWjNkblpsN2M1clBKZTBLU3Nw
cGhwNzdVMG1QcUQvZEhGVVJ5SnVZUko4RDlKa0c4NHo2UTk2OVgzczZOcXBqalhhaktTTGQKRUdR
ZjlSV0lPK21TenNMMUJLMVp5aUdLaEZqbHVVU0hYeGh6bmZaVEV5T253K0RYUTdDTzllUXhFSjRq
a0ZpUFFWREVsbTF3S1oveQpQcGRLT2MzYmhiQVB6UWREVGJoOGsvZVZsUE1QMWlPbkk3UWZVTitn
RE5aWTdsOHkxMHBLa3d3Wlp5Q3pMbWNSNG12YXA0eHdTYjlDCjd5YnRoVlR5SDd6L0R2ekJsTXRS
bUo1a3pHbnd4d04vRjZHK1lzeDEyb2Y0TG9HZVVQcTExUkNvWGlLdHUxcWxmTWZqYzJvc1hiNkcK
QUpmQjM2RU5tbUo5ckZYWGhST1VOSWVBRjZIeEdTMlk1KytoY1Q3R3pmQ1diVzBWcWlGUVpiZ1Bi
VkRxL3N5QUR5ZzNHUGNGNzNzbQpRTEpsRkNITlZMYlI1UzJCaEpPdFNiUEN1YzJsOUM3TmIybWZv
ZHlHMW9kQnB4S3Ftb0tNWkJNMDMwbUtwQWE2di9NNENwZHZLQmVECndDek10VHdyNmdIVWhOUVNC
WWVxcG1VL0NPcGVLcDJQNlhDWmNzRnBkOTRETDE3aXFlVnpXcHBTTk1aQmpSdlJnbWF5Q2FOMWx6
QnYKMDJlS2IreWd0QmI5dHdvRHNnZjBUV1V0eGt3NURXZ2xiRW0weGNPWFhOcFUyU0tRdHZhYklG
ZFpjMnlHWlNxbW1VdmczMkhnWDVUSApNYWlhUGMwZHdWbHFyR2lJVnNxWG5EWThuQmM4alhlMTdQ
TzUrQUdHM2JDYlV2bVJEamRNeGRLTUNMazk3TWg5RngwNjBINExtdmRUCjd2N0VHNXZLbjJEbzJu
MnlwMGV5UXMxQ2hnaXd0WTI1R2JBUVdwNy9WQmtTaUpab0FzWURyUmhQSVNSRFNSMi9EdGdOZHVp
ZDhxMXQKdTBrR1hDMlRCZ3dEc3RITW5PNUZQRGhHRW1lYjgxNUJlelBTa080bXdUbDdKczRaZ2Ur
bXNIbi9NcVJuSjJoRExualo2Vy9VOTZlTwpYNVI4czVOMUVmUWRKTlYxb2Ezb29scmZvVDFFODBu
d0VLL0Y0QzF1MkpCdWJWMlVSVWQ2dmhWc1I2R1o1b3ljaDNnYWIyU1FMSUU5CkViMjVtNnltRTlq
UGhTYVo0YlJGZXlONExUaEo4eHo4SWdFeDYwaTdLRlZkOS9aSW4rcytaWGc2dUF4anJoRjNKWFJy
ZTlzUHFWSEsKVTk5L0ZVOTVBWnNhR2lYcnZkSEdxQVh5OUdUbCtETzgvZFkyMU1nZTRpRmU0dW1n
SzJSVFE3bzBBWE91VkltVFc5V1J3VDQzRDNnNgp1QXkreS9DQkhVNmFsSDc3dWpYRmh5Ry9SRnZl
aFFEdlVoQXlZTlNLRG5TNXlWWEZWN1plb3pmcTZzTFdnZXdtbzZEZ2dBN0dhVk5kCk1ZZGNQdkFj
YlRsZ2NweDhEbFNHQ0tJNUdUekU2emdIc29JQmNadld3ZmdzMkY1eHB2akFBdmYwUnFFcCtWNWh5
TUVyS1RJeHJwSmwKSGdIdDd1TEc3OHA1eDQ0Nng1Qlkvck84eE1jbW52Vi82WWQ4ZHFlWjhiTkw5
emNvTHNCdmp2ZGhlSzFJUTVJdFRtYUZLa0taUTA0MQpUVkJlVTJWSUlGcWlDUmdQc1JkUGdXU0lB
OGZEa1NQbXVXVkNGZlBrY01qTnM3TnJoWUcwWGh3MFZ1ZU8vS0Q3a0JMdE0vQlRXS1FOCnBRRFNn
NHVJT3VTalBHQ0Fidnp6RERpR1MzQUIzQ3B0K2RWeTh1V3dhL24ySXB5MEw1dVo0ajNCK0QraC9X
WFF2bTI4aktkRnMwNDMKQk5JTWRQdHVNQmdnYmlvS2c4eTlsSkFlQnZrTUZRYkpWeEs0S1hxOTkx
bHA4dzE2eUlDWGZESVJCcFZFdEFzUGdVZXh0WGNSQXVtVAppSXZSREFYMUtXNVNvS2c0cXJBOVh6
aFFGTTMrUUJFa0VMeDZKaVk5OVlDV1RtdXBqb2lvV2JET0ZuR3lJM0s1eW5mdENKMVR5OVNWCk9K
REcvb21pbTF1NFpRcTcxa0xwcTB4TXUwa1JCallUbXZFb1E3eTJpc0MyYithSGZOMTFlRzJmYkZp
RStDMitQeS9aOEJIZjM0ZWgKbHVVdXhzdHUybnV5d2NiSFEzYWcrMFlCcEdZTTRVakgyQlh6dkhT
TTllWXE0Z1MyUXkvU01iNmI5cHlPTVdyeGNHMTVxQ1FQUU1zQQpINHI4OEl6YldleFljQWZQSWw4
Wk1CZWxKNnk4cnljbmRwZXdHckJrSVV2ZnE4cU12STRRaWhwMERBd0dGM2lDUHBOMCtKZCtzaFZo
CmQ0YXRGclZ6LzVIMzZObjJnM2k5N0pLdG1WNWVXWTV4MEpJWmprZWJZOVFDU3h0dXdMN2NWYjB5
M3piSDJOekt0VTFWdFRiSDZMYXoKL2RPdFRINVVtMlBjWGt1OVg5b2NZNjgydHF1M09jYnROTlBF
dTZQUjVoaWJlcW5iYlk2eDFzVmVhbTJPc2RaV20yT3NkVEc0MWpWMAptMlBzMTA2YlkrelhTWTFw
YzR5MUxyeFdoZUp0ampIT0ZFdlBLWS9VKzJlVU5zZElpbmZnSDVyYUhHUC9uK0w4ZDY4bFF2NVht
bVBVClh6Tkc5N2ZCL3dGWmJnMDVFRU51TndBQUFBQkpSVTVFcmtKZ2dnPT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394284</attachid>
            <date>2020-03-23 11:51:28 -0700</date>
            <delta_ts>2020-03-24 09:23:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200323205125.patch</filename>
            <type>text/plain</type>
            <size>144324</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEwNyBAQAorMjAyMC0wMy0yMyAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BhaW50LXRpbWluZy8jZmlyc3QtY29udGVudGZ1bC1wYWludC4KKyAgICAgICAgQ3VycmVu
dGx5IG11dHVhbGx5IGV4Y2x1c2l2ZSB0byB2aXN1YWxseS1ub24tZW1wdHkgaGV1cmlzdGljcy4K
KworICAgICAgICBXaGVuIHRoZSBmcmFtZSBwYWludHMgb3IgZmx1c2hlcyB0aGUgY29tcG9zaXRp
bmcgc3RhdGUsIGl0IG1hcmtzIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgYXMgYSBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IHBlcmZvcm1hbmNlIGVudHJ5LgorCisgICAgICAgIFRlc3RzOiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdmVyZmxvdy5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LW9wYWNpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXN2Zy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5o
dG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWlu
dC1mcmFtZXMuc3ViLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9wYWludC10
aW1pbmctYXBpcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCisKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1Bl
cmZvcm1hbmNlRW50cnlDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3Jl
YXRlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAg
ICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oOiAKKyAgICAgICAgKiBwYWdlL1Bl
cmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsOgorICAgICAgICAgICAgICAgIEFkZCBuZXcgUGVyZm9y
bWFuY2VQYWludFRpbWluZyBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpwYWludFRpbWluZ0VuYWJsZWQgY29uc3QpOgorICAgICAgICAgICAgICAgIEFk
ZCBQYWludFRpbWluZ0VuYWJsZWQgcnVudGltZSBmZWF0dXJlIGZsYWcuCisKKyAgICAgICAgKiBw
YWdlL1BlcmZvcm1hbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpnZXRF
bnRyaWVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpnZXRFbnRyaWVz
QnlUeXBlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpnZXRFbnRyaWVz
QnlOYW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpyZXBvcnRGaXJz
dENvbnRlbnRmdWxQYWludCk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5oOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyk6CisgICAgICAgICogcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc1BhaW50
IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6Cisg
ICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIHBhaW50IGVu
dHJpZXMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aXNDb250ZW50ZnVsIGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRWxlbWVudDo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
SFRNTENhbnZhczo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1h
Z2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6Omhhc093blBhaW50YWJsZUNv
bnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9i
amVjdDo6Y29udGFpbnNQYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVmlkZW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlkZW86Omhhc093
blBhaW50YWJsZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWRl
by5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aGFzUGFp
bnRhYmxlQmFja2dyb3VuZEltYWdlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR01vZGVsT2JqZWN0OjpoYXNPd25Q
YWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R01vZGVsT2JqZWN0Lmg6CisgICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciBjb21wdXRpbmcg
d2hldGhlciBlbGVtZW50cyBhcmUgY29udGVudGZ1bCAmIHBhaW50YWJsZS4KKworICAgICAgICAq
IHBhZ2UvRnJhbWVWaWV3Lmg6CitgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzRnJhbWUp
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpkaWRQYWludENvbnRlbnRzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bWFya1BhaW50VGltaW5nSWZOZWVkZWQpOgorICAgICAg
ICAgICAgICAgIE1hcmsgZmlyc3QtY29udGVudGZ1bC1wYWludCBvbmNlIHdoZW4gY29tcG9zaXRp
bmcvcGFpbnRpbmcuCisKIDIwMjAtMDMtMjMgIEFsaWNpYSBCb3lhIEdhcmPDrWEgIDxhYm95YUBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtNU0VdW0dTdHJlYW1lcl0gQ2xlYW4gYW5kIGV4cGxhaW4g
Zmlyc3Qgc2FtcGxlIFBUUyBoYWNrCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24g
MjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTkzNiw2ICs5MzYsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBh
Z2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdC5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwK
KyAgICBwYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRs
CiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtOTI2LDYgKzkyNiw3IEBAIEpTX0JJTkRJTkdf
SURMUyA9IFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwgXAog
ICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwgXAorICAg
ICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUp
L3BhZ2UvUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2Uv
UGVyZm9ybWFuY2VUaW1pbmcuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNTg4
NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzE5
Nyw2ICszMTk3LDcgQEAgSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCiBKU1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHAKIEpTUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAKK0pTUGVyZm9ybWFuY2VQYWludFRpbWluZy5jcHAK
IEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VTZXJ2ZXJUaW1p
bmcuY3BwCiBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjU4ODQ0KQor
KysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMzgwMiw2ICsxMzgwMiw5IEBACiAJCUNBMDkxRDg2MjNDRjkwNzgwMEFE
NDM0NiAvKiBTdHlsZUltYWdlU2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlSW1hZ2VT
ZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTA5MUQ4OTIzQ0Y5MDg4MDBB
RDQzNDYgLyogU3R5bGVJbWFnZVNldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHlsZUltYWdlU2V0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBMTYzNURDMjA3MkU3NjkwMEU3RDJDRSAv
KiBSZWZlcnJlclBvbGljeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBSZWZlcnJlclBvbGljeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkz
M0Q0MjQwN0NGNkYwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50RW50cnkuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUGVyZm9ybWFuY2VQYWludEVudHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUNBMTkzM0Q1MjQwN0Q2NDAwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQ0ExOTMzRDgyNDA3RURDRjAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1p
bmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTNCRjY3QjEwRDk5QkFFMDBF
NkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU2Nyb2xsQW5pbWF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xsQW5pbWF0b3IuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0E1MkJBRTUyM0QwQUYxNjAwREUwQjg0IC8qIFN0eWxlQ3Vyc29ySW1h
Z2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVDdXJzb3JJbWFnZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDk0OCw2ICsyMDk1MSw5IEBACiAJCQkJQTVBOTkzM0Ex
RTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuY3BwICovLAog
CQkJCUE1QTk5MzNCMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlM
aXN0LmggKi8sCiAJCQkJQTVBOTkzM0MxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QuaWRsICovLAorCQkJCUNBMTkzM0Q0MjQwN0NGNkYwMDcxMjQxQSAvKiBQ
ZXJmb3JtYW5jZVBhaW50RW50cnkuaCAqLywKKwkJCQlDQTE5MzNENTI0MDdENjQwMDA3MTI0MUEg
LyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovLAorCQkJCUNBMTkzM0Q4MjQwN0VEQ0YwMDcx
MjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLywKIAkJCQk4NjUxMkVEQjE1NEEy
QUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi8sCiAJCQkJODY1
MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCAqLywK
IAkJCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5pZGwgKi8sCkBAIC0zMzczMSw2ICszMzczNyw3IEBACiAJCQkJQTExRThDMDcxQjFFMjhGRTAw
MDNBN0M3IC8qIG5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZUN1cnNvci5wbmcgaW4gUmVzb3VyY2Vz
ICovLAogCQkJCUExMUU4QzA4MUIxRTI5MDIwMDAzQTdDNyAvKiBub3J0aFNvdXRoUmVzaXplQ3Vy
c29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJQTExRThDMDkxQjFFMjkwNzAwMDNBN0M3IC8q
IG5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZUN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAorCQkJ
CUNBMTkzM0Q5MjQwN0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCBp
biBSZXNvdXJjZXMgKi8sCiAJCQkJOTMxNTNCREMxNDE5NTlCQzAwRkNGNUJFIC8qIHRleHRBcmVh
UmVzaXplQ29ybmVyLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJOTM3MDkxOEQxNDE2RDg2QjAw
NDc3MzMzIC8qIHRleHRBcmVhUmVzaXplQ29ybmVyQDJ4LnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJ
CQkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5
Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1Bl
cmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNSw5ICszNSwxMSBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1
ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUu
aCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1Bl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIK
ICNpbmNsdWRlICJQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBh
aW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAK
QEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3
bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1h
bmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVy
Zm9ybWFuY2VQYWludFRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAg
ICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1
cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3Qs
IFdURk1vdmUoZW50cnkpKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUJ1aWx0aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xNzksNiArMTc5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1h
bmNlTWVhc3VyZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNy
byhQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQ
YWludFRpbWluZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAg
ICBtYWNybyhQZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVu
dCkgXApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjEwLDkgKzE2
MTAsOCBAQCBPcHRpb25hbDxzdGQ6OnBhaXI8UmVuZGVyT2JqZWN0KiwgRmxvYXRSCiAgICAgcmV0
dXJuIHN0ZDo6bWFrZV9wYWlyKHJlbmRlcmVyLCByZXN1bHQpOwogfQogCi1GbG9hdFJlY3QgRWxl
bWVudDo6Ym91bmRpbmdDbGllbnRSZWN0KCkKK0Zsb2F0UmVjdCBFbGVtZW50Ojpib3VuZGluZ0Ns
aWVudFJlY3RXaXRob3V0TGF5b3V0KCkKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dEln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogICAgIGF1dG8gcGFpciA9IGJvdW5kaW5nQWJzb2x1
dGVSZWN0V2l0aG91dExheW91dCgpOwogICAgIGlmICghcGFpcikKICAgICAgICAgcmV0dXJuIHsg
fTsKQEAgLTE2MjIsNiArMTYyMSwxMiBAQCBGbG9hdFJlY3QgRWxlbWVudDo6Ym91bmRpbmdDbGll
bnRSZWN0KCkKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitGbG9hdFJlY3QgRWxlbWVudDo6Ym91
bmRpbmdDbGllbnRSZWN0KCkKK3sKKyAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBl
bmRpbmdTdHlsZXNoZWV0cygpOworICAgIHJldHVybiBib3VuZGluZ0NsaWVudFJlY3RXaXRob3V0
TGF5b3V0KCk7Cit9CisKIFJlZjxET01SZWN0PiBFbGVtZW50OjpnZXRCb3VuZGluZ0NsaWVudFJl
Y3QoKQogewogICAgIHJldHVybiBET01SZWN0OjpjcmVhdGUoYm91bmRpbmdDbGllbnRSZWN0KCkp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xOTIsNiArMTkyLDcgQEAgcHVi
bGljOgogICAgIE9wdGlvbmFsPHN0ZDo6cGFpcjxSZW5kZXJPYmplY3QqLCBGbG9hdFJlY3Q+PiBi
b3VuZGluZ0Fic29sdXRlUmVjdFdpdGhvdXRMYXlvdXQoKTsKIAogICAgIFdFQkNPUkVfRVhQT1JU
IEZsb2F0UmVjdCBib3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICBGbG9hdFJlY3QgYm91bmRpbmdD
bGllbnRSZWN0V2l0aG91dExheW91dCgpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgUmVmPERPTVJl
Y3RMaXN0PiBnZXRDbGllbnRSZWN0cygpOwogICAgIFJlZjxET01SZWN0PiBnZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHJldmlzaW9uIDI1
ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNzEsNiArNzEsNyBAQAogI2luY2x1ZGUgIk92ZXJmbG93RXZlbnQuaCIKICNpbmNsdWRl
ICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZU92ZXJsYXlDb250cm9sbGVyLmgiCisjaW5jbHVkZSAi
UGVyZm9ybWFuY2UuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXIuaCIKICNpbmNsdWRlICJS
ZW5kZXJFbWJlZGRlZE9iamVjdC5oIgogI2luY2x1ZGUgIlJlbmRlckZ1bGxTY3JlZW4uaCIKQEAg
LTk4MSw2ICs5ODIsNyBAQCBib29sIEZyYW1lVmlldzo6Zmx1c2hDb21wb3NpdGluZ1N0YXRlRm9y
CiAjZW5kaWYKIAogICAgIHJlbmRlclZpZXctPmNvbXBvc2l0b3IoKS5mbHVzaFBlbmRpbmdMYXll
ckNoYW5nZXMoJnJvb3RGcmFtZUZvckZsdXNoID09IG1fZnJhbWUucHRyKCkpOworICAgIG1hcmtQ
YWludFRpbWluZ0lmTmVlZGVkKCk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTQwODcsNiAr
NDA4OSwzNiBAQCB2b2lkIEZyYW1lVmlldzo6d2lsbFBhaW50Q29udGVudHMoR3JhcGhpCiAgICAg
bV9pc1BhaW50aW5nID0gdHJ1ZTsKIH0KIAordm9pZCBGcmFtZVZpZXc6Om1hcmtQYWludFRpbWlu
Z0lmTmVlZGVkKCkKK3sKKyAgICBpZiAoIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkucGFpbnRUaW1pbmdFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlm
IChtX2RpZE1hcmtGaXJzdENvbnRlbnRmdWxQYWludCkKKyAgICAgICAgcmV0dXJuOworCisgICAg
aWYgKG1fZmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0TWlsZXN0b25lSXNQZW5kaW5nKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpZiAobmVlZHNMYXlvdXQoKSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgY29uc3QgYXV0byogZG9jdW1lbnQgPSBmcmFtZSgpLmRvY3VtZW50KCk7CisgICAgY29u
c3QgYXV0byogd2luZG93ID0gZG9jdW1lbnQtPmRvbVdpbmRvdygpOworICAgIGlmICghd2luZG93
KQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBPbmx5IGFsbG93aW5nIG1haW4gb3Igc2FtZS1v
cmlnaW4gZnJhbWVzIHRvIG1hcmsgcGFpbnQgdGltaW5nLCBvdGhlcndpc2UgbWFpbi1mcmFtZSBp
bmZvcm1hdGlvbiBtYXkgbGVhayB0byBjcm9zcy1vcmlnaW4gZnJhbWVzLgorICAgIGlmICghZnJh
bWUoKS5pc01haW5GcmFtZSgpICYmICFkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS5jYW5BY2Nl
c3MoZnJhbWUoKS5tYWluRnJhbWUoKS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaWYgKCFyZW5kZXJWaWV3KCktPmNvbnRhaW5zUGFpbnRhYmxl
Q29udGVudCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2RpZE1hcmtGaXJzdENvbnRlbnRm
dWxQYWludCA9IHRydWU7CisgICAgd2luZG93LT5wZXJmb3JtYW5jZSgpLnJlcG9ydEZpcnN0Q29u
dGVudGZ1bFBhaW50KCk7Cit9CisKIHZvaWQgRnJhbWVWaWV3OjpkaWRQYWludENvbnRlbnRzKEdy
YXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgSW50UmVjdCYgZGlydHlSZWN0LCBQYWludGlu
Z1N0YXRlJiBwYWludGluZ1N0YXRlKQogewogICAgIG1faXNQYWludGluZyA9IGZhbHNlOwpAQCAt
NDEwMSw2ICs0MTMzLDggQEAgdm9pZCBGcmFtZVZpZXc6OmRpZFBhaW50Q29udGVudHMoR3JhcGhp
YwogICAgICAgICBzQ3VycmVudFBhaW50VGltZVN0YW1wID0gTW9ub3RvbmljVGltZSgpOwogCiAg
ICAgaWYgKCFjb250ZXh0LnBhaW50aW5nRGlzYWJsZWQoKSkgeworICAgICAgICBpZiAocGFpbnRp
bmdTdGF0ZS5pc1RvcExldmVsUGFpbnRlcikKKyAgICAgICAgICAgIG1hcmtQYWludFRpbWluZ0lm
TmVlZGVkKCk7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUGFpbnQoKnJl
bmRlclZpZXcoKSwgZGlydHlSZWN0KTsKICAgICAgICAgLy8gRklYTUU6IHNob3VsZCBwcm9iYWJs
eSBub3QgZmlyZSBtaWxlc3RvbmVzIGZvciBzbmFwc2hvdCBwYWludGluZy4gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzYyMwogICAgICAgICBmaXJlUGFpbnRSZWxh
dGVkTWlsZXN0b25lc0lmTmVlZGVkKCk7CkBAIC01MTE4LDYgKzUxNTIsNyBAQCB2b2lkIEZyYW1l
Vmlldzo6ZmlyZUxheW91dFJlbGF0ZWRNaWxlc3RvCiAgICAgaWYgKG1pbGVzdG9uZXNBY2hpZXZl
ZCAmJiBmcmFtZSgpLmlzTWFpbkZyYW1lKCkpIHsKICAgICAgICAgaWYgKG1pbGVzdG9uZXNBY2hp
ZXZlZC5jb250YWlucyhEaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXQpKQogICAgICAgICAg
ICAgRlJBTUVWSUVXX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoTGF5b3V0LCAiZmlyZUxheW91dFJl
bGF0ZWRNaWxlc3RvbmVzSWZOZWVkZWQ6IEZpcmluZyBmaXJzdCB2aXN1YWxseSBub24tZW1wdHkg
bGF5b3V0IG1pbGVzdG9uZSBvbiB0aGUgbWFpbiBmcmFtZSIpOworCiAgICAgICAgIGZyYW1lKCku
bG9hZGVyKCkuZGlkUmVhY2hMYXlvdXRNaWxlc3RvbmUobWlsZXN0b25lc0FjaGlldmVkKTsKICAg
ICB9CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgJKHJldmlzaW9uIDI1ODg0NCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTgxNSw2
ICs4MTUsOSBAQCBwcml2YXRlOgogICAgIH07CiAgICAgdm9pZCBvdmVycmlkZVZpZXdwb3J0U2l6
ZUZvckNTU1ZpZXdwb3J0VW5pdHMoT3ZlcnJpZGVWaWV3cG9ydFNpemUpOwogCisgICAgdm9pZCBt
YXJrUGFpbnRUaW1pbmdJZk5lZWRlZCgpOworICAgIGJvb2wgbV9kaWRNYXJrRmlyc3RDb250ZW50
ZnVsUGFpbnQgeyBmYWxzZSB9OworCiAgICAgc3RhdGljIE1vbm90b25pY1RpbWUgc0N1cnJlbnRQ
YWludFRpbWVTdGFtcDsgLy8gdXNlZCBmb3IgZGV0ZWN0aW5nIGRlY29kZWQgcmVzb3VyY2UgdGhy
YXNoIGluIHRoZSBjYWNoZQogCiAgICAgY29uc3QgUmVmPEZyYW1lPiBtX2ZyYW1lOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0
Miw3IEBACiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgogI2luY2x1ZGUgIlBlcmZvcm1h
bmNlTmF2aWdhdGlvbi5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCIKKyNpbmNs
dWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVGltaW5nLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VVc2VyVGltaW5nLmgiCkBAIC0xMjQsNiArMTI1LDkgQEAgVmVjdG9yPFJlZlB0
cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybQogICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3Rv
cihtX3VzZXJUaW1pbmctPmdldE1lYXN1cmVzKCkpOwogICAgIH0KIAorICAgIGlmIChtX2ZpcnN0
Q29udGVudGZ1bFBhaW50KQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1
bFBhaW50KTsKKwogICAgIHN0ZDo6c29ydChlbnRyaWVzLmJlZ2luKCksIGVudHJpZXMuZW5kKCks
IFBlcmZvcm1hbmNlRW50cnk6OnN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbik7CiAgICAgcmV0dXJu
IGVudHJpZXM7CiB9CkBAIC0xMzUsNiArMTM5LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5j
ZUVudHJ5Pj4gUGVyZm9ybQogICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShl
bnRyeVR5cGUsICJyZXNvdXJjZSIpKQogICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3Jl
c291cmNlVGltaW5nQnVmZmVyKTsKIAorICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJ
Q2FzZShlbnRyeVR5cGUsICJwYWludCIpICYmIG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpCisgICAg
ICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworCiAgICAgaWYgKG1f
dXNlclRpbWluZykgewogICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
ZW50cnlUeXBlLCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV91
c2VyVGltaW5nLT5nZXRNYXJrcygpKTsKQEAgLTE1Nyw2ICsxNjQsOSBAQCBWZWN0b3I8UmVmUHRy
PFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3JtCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAo
KGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRy
eVR5cGUsICJwYWludCIpKSAmJiBuYW1lID09ICJmaXJzdC1jb250ZW50ZnVsLXBhaW50IiAmJiBt
X2ZpcnN0Q29udGVudGZ1bFBhaW50KQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29u
dGVudGZ1bFBhaW50KTsKKwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVu
dHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5
cGUsICJtYXJrIikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1p
bmctPmdldE1hcmtzKG5hbWUpKTsKQEAgLTE4MCw2ICsxOTAsMTIgQEAgdm9pZCBQZXJmb3JtYW5j
ZTo6c2V0UmVzb3VyY2VUaW1pbmdCdWZmZQogICAgIG1fcmVzb3VyY2VUaW1pbmdCdWZmZXJGdWxs
RmxhZyA9IGZhbHNlOwogfQogCit2b2lkIFBlcmZvcm1hbmNlOjpyZXBvcnRGaXJzdENvbnRlbnRm
dWxQYWludCgpCit7CisgICAgbV9maXJzdENvbnRlbnRmdWxQYWludCA9IFBlcmZvcm1hbmNlUGFp
bnRUaW1pbmc6OmNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KG5vdygpKTsKKyAgICBxdWV1ZUVu
dHJ5KCptX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKK30KKwogdm9pZCBQZXJmb3JtYW5jZTo6YWRk
UmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRpbWluZykKIHsKICAgICBB
U1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlLmgJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkV4Y2Vw
dGlvbk9yLmgiCiAjaW5jbHVkZSAiR2VuZXJpY1Rhc2tRdWV1ZS5oIgogI2luY2x1ZGUgPHd0Zi9M
aXN0SGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25TZXQuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC00NSw2ICs0Niw3IEBAIGNsYXNzIExvYWRUaW1pbmc7CiBjbGFzcyBQZXJm
b3JtYW5jZUVudHJ5OwogY2xhc3MgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOwogY2xhc3MgUGVyZm9y
bWFuY2VPYnNlcnZlcjsKK2NsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc7CiBjbGFzcyBQZXJm
b3JtYW5jZVRpbWluZzsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVRp
bWluZzsKQEAgLTc3LDYgKzc5LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGRSZXNvdXJjZVRp
bWluZyhSZXNvdXJjZVRpbWluZyYmKTsKIAorICAgIHZvaWQgcmVwb3J0Rmlyc3RDb250ZW50ZnVs
UGFpbnQoKTsKKwogICAgIHZvaWQgcmVtb3ZlQWxsT2JzZXJ2ZXJzKCk7CiAgICAgdm9pZCByZWdp
c3RlclBlcmZvcm1hbmNlT2JzZXJ2ZXIoUGVyZm9ybWFuY2VPYnNlcnZlciYpOwogICAgIHZvaWQg
dW5yZWdpc3RlclBlcmZvcm1hbmNlT2JzZXJ2ZXIoUGVyZm9ybWFuY2VPYnNlcnZlciYpOwpAQCAt
MTIxLDYgKzEyNSw3IEBAIHByaXZhdGU6CiAKICAgICBNb25vdG9uaWNUaW1lIG1fdGltZU9yaWdp
bjsKIAorICAgIFJlZlB0cjxQZXJmb3JtYW5jZVBhaW50VGltaW5nPiBtX2ZpcnN0Q29udGVudGZ1
bFBhaW50OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxVc2VyVGltaW5nPiBtX3VzZXJUaW1pbmc7CiAK
ICAgICBHZW5lcmljVGFza1F1ZXVlPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ+IG1fcGVyZm9ybWFu
Y2VUaW1lbGluZVRhc2tRdWV1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VFbnRyeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5LmNwcAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZUVudHJ5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsMTEgQEAgT3B0aW9u
YWw8UGVyZm9ybWFuY2VFbnRyeTo6VHlwZT4gUGVyZm9ybQogICAgICAgICAgICAgcmV0dXJuIE9w
dGlvbmFsPFR5cGU+KFR5cGU6OlJlc291cmNlKTsKICAgICB9CiAKKyAgICBpZiAoUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQoKSkgewor
ICAgICAgICBpZiAoZW50cnlUeXBlID09ICJwYWludCIpCisgICAgICAgICAgICByZXR1cm4gT3B0
aW9uYWw8VHlwZT4oVHlwZTo6UGFpbnQpOworICAgIH0KKwogICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCShyZXZp
c2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAko
d29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBAQCBwdWJsaWM6CiAgICAgICAgIE1hcmsgPSAx
IDw8IDEsCiAgICAgICAgIE1lYXN1cmUgPSAxIDw8IDIsCiAgICAgICAgIFJlc291cmNlID0gMSA8
PCAzLAorICAgICAgICBQYWludCA9IDEgPDwgNAogICAgIH07CiAKICAgICB2aXJ0dWFsIFR5cGUg
dHlwZSgpIGNvbnN0ID0gMDsKQEAgLTYyLDYgKzYzLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNS
ZXNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpSZXNvdXJjZTsgfQogICAg
IGJvb2wgaXNNYXJrKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1hcms7IH0KICAg
ICBib29sIGlzTWVhc3VyZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNZWFzdXJl
OyB9CisgICAgYm9vbCBpc1BhaW50KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OlBh
aW50OyB9CiAKICAgICBzdGF0aWMgYm9vbCBzdGFydFRpbWVDb21wYXJlTGVzc1RoYW4oY29uc3Qg
UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+JiBhLCBjb25zdCBSZWZQdHI8UGVyZm9ybWFuY2VFbnRy
eT4mIGIpCiAgICAgewpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2Vy
dmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuY3BwCShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlT2JzZXJ2ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjAsNiArMTIwLDcgQEAgVmVj
dG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcAogICAgICAgICAvLyAibmF2aWdh
dGlvbiJfcywKICAgICAgICAgIm1hcmsiX3MsCiAgICAgICAgICJtZWFzdXJlIl9zLAorICAgICAg
ICAicGFpbnQiX3MsCiAgICAgICAgICJyZXNvdXJjZSJfcwogICAgIH07CiB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lN
ZWRpYSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVyZm9y
bWFuY2VFbnRyeS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgZmluYWwgOiBwdWJs
aWMgUGVyZm9ybWFuY2VFbnRyeSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5j
ZVBhaW50VGltaW5nPiBjcmVhdGVGaXJzdENvbnRlbnRmdWxQYWludChkb3VibGUgdGltZVN0YW1w
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VQYWludFRp
bWluZygiZmlyc3QtY29udGVudGZ1bC1wYWludCJfcywgdGltZVN0YW1wKSk7CisgICAgfQorCitw
cml2YXRlOgorICAgIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoY29uc3QgU3RyaW5nJiBuYW1lLCBk
b3VibGUgdGltZVN0YW1wKQorICAgICAgICA6IFBlcmZvcm1hbmNlRW50cnkobmFtZSwgdGltZVN0
YW1wLCB0aW1lU3RhbXApCisgICAgeworICAgIH0KKworICAgIEFTQ0lJTGl0ZXJhbCBlbnRyeVR5
cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiAicGFpbnQiX3M7IH0KKyAgICBUeXBlIHR5cGUoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBUeXBlOjpQYWludDsgfQorCisgICAgflBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcoKSA9IGRlZmF1bHQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQ
RUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6UGVyZm9ybWFuY2VQYWludFRpbWlu
ZykKKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRy
eSYgZW50cnkpIHsgcmV0dXJuIGVudHJ5LmlzUGFpbnQoKTsgfQorU1BFQ0lBTElaRV9UWVBFX1RS
QUlUU19FTkQoKQoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZVBhaW50VGltaW5nLmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMg
LTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwJKG5vbmV4aXN0
ZW50KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIw
IFdpa2lNZWRpYSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL3BhaW50LXRpbWluZy8KKwordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFt
cDsKKworWworICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGFpbnRUaW1pbmcsCisgICAgRXhwb3NlZD0o
V2luZG93KSwKK10gaW50ZXJmYWNlIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgOiBQZXJmb3JtYW5j
ZUVudHJ5IHsKK307CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxl
CiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHJldmlzaW9u
IDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5o
CSh3b3JraW5nIGNvcHkpCkBAIC02Miw2ICs2Miw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVz
ZXJUaW1pbmdFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNVc2VyVGltaW5nRW5hYmxlZCA9
IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgdXNlclRpbWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVy
biBtX2lzVXNlclRpbWluZ0VuYWJsZWQ7IH0KIAorICAgIHZvaWQgc2V0UGFpbnRUaW1pbmdFbmFi
bGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNQYWludFRpbWluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7
IH0KKyAgICBib29sIHBhaW50VGltaW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNQYWlu
dFRpbWluZ0VuYWJsZWQ7IH0KKwogICAgIGJvb2wgcGVyZm9ybWFuY2VUaW1lbGluZUVuYWJsZWQo
KSBjb25zdCB7IHJldHVybiByZXNvdXJjZVRpbWluZ0VuYWJsZWQoKSB8fCB1c2VyVGltaW5nRW5h
YmxlZCgpOyB9CiAKICAgICB2b2lkIHNldFNoYWRvd0RPTUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQp
IHsgbV9pc1NoYWRvd0RPTUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KQEAgLTQyNCw2ICs0MjcsNyBA
QCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0xpbmtQcmVsb2FkRW5hYmxlZCB7IHRydWUgfTsKICAg
ICBib29sIG1faXNMaW5rUHJlZmV0Y2hFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNN
ZWRpYVByZWxvYWRpbmdFbmFibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNQYWludFRpbWlu
Z0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1Jlc291cmNlVGltaW5nRW5hYmxlZCB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzVXNlclRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9pc0ludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkIHsgZmFsc2UgfTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAJKHJldmlzaW9u
IDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzI5LDYgKzMyOSw1MCBAQCBTdHlsZURpZmZlcmVuY2UgUmVuZGVy
RWxlbWVudDo6YWRqdXN0U3R5CiAgICAgcmV0dXJuIGRpZmY7CiB9CiAKK2Jvb2wgUmVuZGVyRWxl
bWVudDo6Y29udGFpbnNQYWludGFibGVDb250ZW50KCkgY29uc3QKK3sKKyAgICBpZiAoIW9wYWNp
dHkoKSB8fCBpc1NWR0hpZGRlbkNvbnRhaW5lcigpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBhdXRvIGhhc1BvdGVudGlhbGx5VmlzaWJsZVJlZ2lvbnMgPSBbJl0oKSB7CisgICAgICAg
IGlmIChzdHlsZSgpLnZpc2liaWxpdHkoKSAhPSBWaXNpYmlsaXR5OjpWaXNpYmxlKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGF1dG8gZG9jdW1lbnRSZWN0ID0gdmlldygp
LmRvY3VtZW50UmVjdCgpOworCisgICAgICAgIGlmIChhdXRvKiBjdXJyZW50ID0gZWxlbWVudCgp
KQorICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnQtPmJvdW5kaW5nQ2xpZW50UmVjdFdpdGhvdXRM
YXlvdXQoKS5pbnRlcnNlY3RzKGRvY3VtZW50UmVjdCk7CisKKyAgICAgICAgcmV0dXJuIGlzVmlz
aWJsZUluRG9jdW1lbnRSZWN0KGRvY3VtZW50UmVjdCk7CisgICAgfTsKKworICAgIGlmIChpc0Nv
bnRlbnRmdWwoKSAmJiBoYXNQb3RlbnRpYWxseVZpc2libGVSZWdpb25zKCkpCisgICAgICAgIHJl
dHVybiB0cnVlOworCisgICAgZm9yIChjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlck9iamVjdCA9
IGZpcnN0Q2hpbGQoKTsgcmVuZGVyT2JqZWN0OyByZW5kZXJPYmplY3QgPSByZW5kZXJPYmplY3Qt
Pm5leHRTaWJsaW5nKCkpIHsKKyAgICAgICAgaWYgKHJlbmRlck9iamVjdC0+Y29udGFpbnNQYWlu
dGFibGVDb250ZW50KCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgUmVuZGVyRWxlbWVudDo6aXNDb250ZW50ZnVsKCkgY29u
c3QKK3sKKyAgICBpZiAoaGFzT3duUGFpbnRhYmxlQ29udGVudCgpKQorICAgICAgICByZXR1cm4g
dHJ1ZTsKKworICAgIGlmIChzdHlsZSgpLmhhc1BhaW50YWJsZUJhY2tncm91bmRJbWFnZSgpKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGZvciAoYXV0byYgY2hpbGQgOiBjaGlsZHJlbk9m
VHlwZTxSZW5kZXJPYmplY3Q+KCp0aGlzKSkgeworICAgICAgICBpZiAoaXM8UmVuZGVyVGV4dD4o
Y2hpbGQpICYmICFkb3duY2FzdDxSZW5kZXJUZXh0PihjaGlsZCkuaXNBbGxDb2xsYXBzaWJsZVdo
aXRlc3BhY2UoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVy
biBmYWxzZTsKK30KKwogaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6aGFzSW1tZWRpYXRlTm9u
V2hpdGVzcGFjZVRleHRDaGlsZE9yQm9yZGVyT3JPdXRsaW5lKCkgY29uc3QKIHsKICAgICBmb3Ig
KGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8UmVuZGVyT2JqZWN0PigqdGhpcykpIHsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAkocmV2aXNpb24gMjU4
ODQ0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTAwLDYgKzEwMCw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBk
aXJ0eUxpbmVzRnJvbUNoYW5nZWRDaGlsZChSZW5kZXJPYmplY3QmKSB7IH0KIAorICAgIHZpcnR1
YWwgYm9vbCBoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
KwogICAgIGJvb2wgYW5jZXN0b3JMaW5lQm94RGlydHkoKSBjb25zdCB7IHJldHVybiBtX2FuY2Vz
dG9yTGluZUJveERpcnR5OyB9CiAgICAgdm9pZCBzZXRBbmNlc3RvckxpbmVCb3hEaXJ0eShib29s
IGYgPSB0cnVlKTsKIApAQCAtMTM5LDYgKzE0MSw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzVHJh
bnNwYXJlbnQoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLm9wYWNpdHkoKSA8IDEuMGY7IH0KICAg
ICBmbG9hdCBvcGFjaXR5KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5vcGFjaXR5KCk7IH0KIAor
ICAgIGJvb2wgY29udGFpbnNQYWludGFibGVDb250ZW50KCkgY29uc3QgZmluYWw7CisKICAgICBi
b29sIHZpc2libGVUb0hpdFRlc3RpbmcoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLnZpc2liaWxp
dHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlICYmIHN0eWxlKCkucG9pbnRlckV2ZW50cygpICE9
IFBvaW50ZXJFdmVudHM6Ok5vbmU7IH0KIAogICAgIGJvb2wgaGFzQmFja2dyb3VuZCgpIGNvbnN0
IHsgcmV0dXJuIHN0eWxlKCkuaGFzQmFja2dyb3VuZCgpOyB9CkBAIC0zMTYsNiArMzIwLDggQEAg
cHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IGNvbXB1dGVGaXJzdExp
bmVTdHlsZSgpIGNvbnN0OwogICAgIHZvaWQgaW52YWxpZGF0ZUNhY2hlZEZpcnN0TGluZVN0eWxl
KCk7CiAKKyAgICBib29sIGlzQ29udGVudGZ1bCgpIGNvbnN0OworCiAgICAgYm9vbCBjYW5EZXN0
cm95RGVjb2RlZERhdGEoKSBmaW5hbCB7IHJldHVybiAhaXNWaXNpYmxlSW5WaWV3cG9ydCgpOyB9
CiAgICAgVmlzaWJsZUluVmlld3BvcnRTdGF0ZSBpbWFnZUZyYW1lQXZhaWxhYmxlKENhY2hlZElt
YWdlJiwgSW1hZ2VBbmltYXRpbmdTdGF0ZSwgY29uc3QgSW50UmVjdCogY2hhbmdlUmVjdCkgZmlu
YWw7CiAgICAgdm9pZCBkaWRSZW1vdmVDYWNoZWRJbWFnZUNsaWVudChDYWNoZWRJbWFnZSYpIGZp
bmFsOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFz
LmNwcAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckhUTUxDYW52YXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCwxMSBAQCBSZW5kZXJI
VE1MQ2FudmFzOjpSZW5kZXJIVE1MQ2FudmFzKEhUTUxDCiB7CiB9CiAKK2Jvb2wgUmVuZGVySFRN
TENhbnZhczo6aGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuICEh
Y2FudmFzRWxlbWVudCgpLnJlbmRlcmluZ0NvbnRleHQoKTsKK30KKwogSFRNTENhbnZhc0VsZW1l
bnQmIFJlbmRlckhUTUxDYW52YXM6OmNhbnZhc0VsZW1lbnQoKSBjb25zdAogewogICAgIHJldHVy
biBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4obm9kZUZvck5vbkFub255bW91cygpKTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaAkocmV2aXNp
b24gMjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMu
aAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZWxl
bWVudCgpIGNvbnN0ID0gZGVsZXRlOwogICAgIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0IG92
ZXJyaWRlOwogICAgIGJvb2wgaXNDYW52YXMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVl
OyB9CisgICAgYm9vbCBoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJSZW5k
ZXJIVE1MQ2FudmFzIjsgfQogICAgIHZvaWQgcGFpbnRSZXBsYWNlZChQYWludEluZm8mLCBjb25z
dCBMYXlvdXRQb2ludCYpIG92ZXJyaWRlOwogICAgIHZvaWQgaW50cmluc2ljU2l6ZUNoYW5nZWQo
KSBvdmVycmlkZSB7IGNhbnZhc1NpemVDaGFuZ2VkKCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzM5LDYg
KzMzOSwxMSBAQCB2b2lkIFJlbmRlckltYWdlOjp1cGRhdGVJbnRyaW5zaWNTaXplSWZOCiAgICAg
c2V0SW50cmluc2ljU2l6ZShuZXdTaXplKTsKIH0KIAorYm9vbCBSZW5kZXJJbWFnZTo6aGFzT3du
UGFpbnRhYmxlQ29udGVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1faW1hZ2VSZXNvdXJjZS0+
Y2FjaGVkSW1hZ2UoKSAmJiAhbV9pbWFnZVJlc291cmNlLT5pbWFnZVNpemUoMSkuaXNFbXB0eSgp
OworfQorCiB2b2lkIFJlbmRlckltYWdlOjp1cGRhdGVJbm5lckNvbnRlbnRSZWN0KCkKIHsKICAg
ICAvLyBQcm9wYWdhdGUgY29udGFpbmVyIHNpemUgdG8gaW1hZ2UgcmVzb3VyY2UuCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAkocmV2aXNpb24gMjU4ODQ0KQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTc2LDYgKzc2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZERpc3BsYXlC
cm9rZW5JbWFnZUljb24oKSBjb25zdDsKIAorICAgIGJvb2wgaGFzT3duUGFpbnRhYmxlQ29udGVu
dCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaGFzTm9uQml0bWFwSW1hZ2UoKSBjb25zdDsK
IAogICAgIGJvb2wgaXNFZGl0YWJsZUltYWdlKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3OCw2ICsy
NzgsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJTY3JvbGxiYXJQYXJ0
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIHZpcnR1YWwgYm9vbCBjb250YWluc1Bh
aW50YWJsZUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCiAgICAgYm9vbCBpc0Rv
Y3VtZW50RWxlbWVudFJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gZG9jdW1lbnQoKS5kb2N1bWVu
dEVsZW1lbnQoKSA9PSAmbV9ub2RlOyB9CiAgICAgYm9vbCBpc0JvZHkoKSBjb25zdCB7IHJldHVy
biBub2RlKCkgJiYgbm9kZSgpLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6Ym9keVRhZyk7IH0KICAg
ICBib29sIGlzSFIoKSBjb25zdCB7IHJldHVybiBub2RlKCkgJiYgbm9kZSgpLT5oYXNUYWdOYW1l
KEhUTUxOYW1lczo6aHJUYWcpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVmlkZW8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJWaWRlby5jcHAJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJWaWRlby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkyLDYgKzkyLDE0IEBAIHZvaWQg
UmVuZGVyVmlkZW86OmludHJpbnNpY1NpemVDaGFuZ2VkKCkKICAgICB1cGRhdGVJbnRyaW5zaWNT
aXplKCk7IAogfQogCitib29sIFJlbmRlclZpZGVvOjpoYXNPd25QYWludGFibGVDb250ZW50KCkg
Y29uc3QKK3sKKyAgICBpZiAodmlkZW9FbGVtZW50KCkuc2hvdWxkRGlzcGxheVBvc3RlckltYWdl
KCkpCisgICAgICAgIHJldHVybiBSZW5kZXJJbWFnZTo6aGFzT3duUGFpbnRhYmxlQ29udGVudCgp
OworCisgICAgcmV0dXJuIHZpZGVvRWxlbWVudCgpLnJlYWR5U3RhdGUoKSA+IEhUTUxNZWRpYUVs
ZW1lbnRFbnVtczo6SEFWRV9NRVRBREFUQTsKK30KKwogYm9vbCBSZW5kZXJWaWRlbzo6dXBkYXRl
SW50cmluc2ljU2l6ZSgpCiB7CiAgICAgTGF5b3V0U2l6ZSBzaXplID0gY2FsY3VsYXRlSW50cmlu
c2ljU2l6ZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmgJKHJl
dmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5o
CSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2Nyw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIHJl
cXVpcmVzTGF5ZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAgICAgYm9vbCBpc1Zp
ZGVvKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIGJvb2wgaGFzT3duUGFpbnRh
YmxlQ29udGVudCgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdm9pZCBwYWludFJlcGxhY2VkKFBh
aW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50JikgZmluYWw7CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwCShyZXZpc2lvbiAyNTg4NDQpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzQwLDYgKzM0MCwxNSBAQCBib29sIEZpbGxMYXllcjo6Y29udGFpbnNJbWFnZShT
dHlsZUltYWdlCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEZpbGxMYXllcjo6aGFzTG9h
ZGVkQ2FjaGVkSW1hZ2UoKSBjb25zdAoreworICAgIGZvciAoYXV0byogbGF5ZXIgPSB0aGlzOyBs
YXllcjsgbGF5ZXIgPSBsYXllci0+bV9uZXh0LmdldCgpKSB7CisgICAgICAgIGlmIChsYXllci0+
bV9pbWFnZSAmJiBsYXllci0+bV9pbWFnZS0+aXNMb2FkZWQoKSAmJiBsYXllci0+bV9pbWFnZS0+
aGFzQ2FjaGVkSW1hZ2UoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgRmlsbExheWVyOjppbWFnZXNBcmVMb2FkZWQoKSBjb25z
dAogewogICAgIGZvciAoYXV0byogbGF5ZXIgPSB0aGlzOyBsYXllcjsgbGF5ZXIgPSBsYXllci0+
bV9uZXh0LmdldCgpKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmls
bExheWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Zp
bGxMYXllci5oCShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvRmlsbExheWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NSw2ICsxNDUsNyBAQCBwdWJs
aWM6CiAKICAgICBib29sIGNvbnRhaW5zSW1hZ2UoU3R5bGVJbWFnZSYpIGNvbnN0OwogICAgIGJv
b2wgaW1hZ2VzQXJlTG9hZGVkKCkgY29uc3Q7CisgICAgYm9vbCBoYXNMb2FkZWRDYWNoZWRJbWFn
ZSgpIGNvbnN0OwogICAgIGJvb2wgaGFzSW1hZ2UoKSBjb25zdCB7IHJldHVybiBtX25leHQgPyBo
YXNJbWFnZUluQW55TGF5ZXIoKSA6IG1faW1hZ2U7IH0KICAgICBib29sIGhhc0ZpeGVkSW1hZ2Uo
KSBjb25zdDsKICAgICBib29sIGhhc09wYXF1ZUltYWdlKGNvbnN0IFJlbmRlckVsZW1lbnQmKSBj
b25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmNwcAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgwLDYgKzU4MCwyMSBAQCBi
b29sIFJlbmRlclN0eWxlOjppc0lkZW1wb3RlbnRUZXh0QXV0b3NpCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKK2Jvb2wgUmVuZGVyU3R5bGU6Omhhc1BhaW50YWJsZUJhY2tncm91bmRJbWFnZSgpIGNv
bnN0Cit7CisgICAgaWYgKCFoYXNCYWNrZ3JvdW5kSW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgY29uc3QgRmlsbExheWVyJiBiYWNrZ3JvdW5kID0gYmFja2dyb3VuZExheWVy
cygpOworICAgIGlmICghYmFja2dyb3VuZC5oYXNMb2FkZWRDYWNoZWRJbWFnZSgpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoYmFja2dyb3VuZFNpemVMZW5ndGgoKS5pc0VtcHR5
KCkgJiYgYmFja2dyb3VuZFNpemVUeXBlKCkgPT0gRmlsbFNpemVUeXBlOjpTaXplKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogQXV0b3NpemVTdGF0dXMg
UmVuZGVyU3R5bGU6OmF1dG9zaXplU3RhdHVzKCkgY29uc3QKIHsKICAgICByZXR1cm4gT3B0aW9u
U2V0PEF1dG9zaXplU3RhdHVzOjpGaWVsZHM+Ojpmcm9tUmF3KG1faW5oZXJpdGVkRmxhZ3MuYXV0
b3NpemVTdGF0dXMpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmgJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MTUsNiArNDE1LDcgQEAg
cHVibGljOgogICAgIGNvbnN0IExlbmd0aFNpemUmIGJhY2tncm91bmRTaXplTGVuZ3RoKCkgY29u
c3QgeyByZXR1cm4gbV9iYWNrZ3JvdW5kRGF0YS0+YmFja2dyb3VuZC5zaXplTGVuZ3RoKCk7IH0K
ICAgICBGaWxsTGF5ZXImIGVuc3VyZUJhY2tncm91bmRMYXllcnMoKSB7IHJldHVybiBtX2JhY2tn
cm91bmREYXRhLmFjY2VzcygpLmJhY2tncm91bmQ7IH0KICAgICBjb25zdCBGaWxsTGF5ZXImIGJh
Y2tncm91bmRMYXllcnMoKSBjb25zdCB7IHJldHVybiBtX2JhY2tncm91bmREYXRhLT5iYWNrZ3Jv
dW5kOyB9CisgICAgYm9vbCBoYXNQYWludGFibGVCYWNrZ3JvdW5kSW1hZ2UoKSBjb25zdDsKIAog
ICAgIFN0eWxlSW1hZ2UqIG1hc2tJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVy
aXRlZERhdGEtPm1hc2suaW1hZ2UoKTsgfQogICAgIEZpbGxSZXBlYXQgbWFza1JlcGVhdFgoKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxGaWxsUmVwZWF0PihtX3JhcmVOb25Jbmhlcml0ZWRE
YXRhLT5tYXNrLnJlcGVhdFgoKSk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuY3BwCShyZXZpc2lvbiAyNTg4NDQp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTU4LDYgKzE1OCwxMSBAQCBzdGF0aWMgYm9vbCBpc0dyYXBo
aWNzRWxlbWVudChjb25zdCBSZW5kCiAgICAgcmV0dXJuIHJlbmRlcmVyLmlzU1ZHU2hhcGUoKSB8
fCByZW5kZXJlci5pc1NWR1RleHQoKSB8fCByZW5kZXJlci5pc1NWR0ltYWdlKCkgfHwgcmVuZGVy
ZXIuZWxlbWVudCgpLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp1c2VUYWcpOwogfQogCitib29sIFJl
bmRlclNWR01vZGVsT2JqZWN0OjpoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gaXNHcmFwaGljc0VsZW1lbnQoKnRoaXMpOworfQorCiAvLyBUaGUgU1ZHIGFkZEZv
Y3VzUmluZ1JlY3RzKCkgbWV0aG9kIGFkZHMgcmVjdHMgaW4gbG9jYWwgY29vcmRpbmF0ZXMgc28g
dGhlIGRlZmF1bHQgYWJzb2x1dGVGb2N1c1JpbmdRdWFkcwogLy8gcmV0dXJucyBpbmNvcnJlY3Qg
dmFsdWVzIGZvciBTVkcgb2JqZWN0cy4gT3ZlcnJpZGluZyB0aGlzIG1ldGhvZCBwcm92aWRlcyBh
Y2Nlc3MgdG8gdGhlIGFic29sdXRlIGJvdW5kcy4KIHZvaWQgUmVuZGVyU1ZHTW9kZWxPYmplY3Q6
OmFic29sdXRlRm9jdXNSaW5nUXVhZHMoVmVjdG9yPEZsb2F0UXVhZD4mIHF1YWRzKQpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmpl
Y3QuaAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdNb2RlbE9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2OSw3IEBAIHBy
b3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICBib29sIGlzUmVuZGVyU1ZHTW9kZWxPYmplY3QoKSBj
b25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisgICAgYm9vbCBoYXNPd25QYWludGFibGVDb250
ZW50KCkgY29uc3QgZmluYWw7CiAKICAgICAvLyBUaGlzIG1ldGhvZCBzaG91bGQgbmV2ZXIgYmUg
Y2FsbGVkLCBTVkcgdXNlcyBhIGRpZmZlcmVudCBub2RlQXRQb2ludCBtZXRob2QKICAgICBib29s
IG5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0
IEhpdFRlc3RMb2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQm
IGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0QWN0aW9uKSBvdmVycmlkZTsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDIwLTAzLTIzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1A
d2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBh
aW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4
NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGEgcnVudGltZSBmbGFnIGZvciBwYWludC10aW1pbmcgKHBhaW50VGltaW5nRW5hYmxlZCkuCisK
KyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0UGFp
bnRUaW1pbmdFbmFibGVkKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNHZXRQYWludFRpbWluZ0Vu
YWJsZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0
ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29u
bmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uOjp1cGRhdGVQcmVmZXJlbmNlc1N0b3JlKToKKwogMjAyMC0wMy0yMyAgSmFjb2IgVXBob2Zm
ICA8amFjb2JfdXBob2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRp
bmcgcjI1ODgwMy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlh
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFt
bAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXMueWFtbAkod29ya2luZyBjb3B5KQpAQCAtODM5LDYgKzgzOSwxMyBAQCBVc2VyVGltaW5nRW5h
YmxlZDoKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFVzZXJUaW1pbmcgQVBJ
IgogICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCitQYWludFRpbWlu
Z0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiB0cnVlCisgIGh1bWFuUmVh
ZGFibGVOYW1lOiAiUGFpbnQgVGltaW5nIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJF
bmFibGUgUGFpbnQgVGltaW5nIEFQSSIKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMKKwogQmVhY29uQVBJRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFs
dWU6IHRydWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgxOSw2ICsxODE5
LDE2IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFcKICAgICByZXR1
cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+dXNlclRpbWluZ0VuYWJsZWQoKTsKIH0KIAordm9p
ZCBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5z
ZXRQYWludFRpbWluZ0VuYWJsZWQoZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFBh
aW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAg
IHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5wYWludFRpbWluZ0VuYWJsZWQoKTsKK30K
Kwogdm9pZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0ltcGwocHJlZmVyZW5j
ZXNSZWYpLT5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoZmxhZyk7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRl
LmgJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXNSZWZQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwMCw2ICs1MDAsMTAg
QEAgV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbgogV0tfRVhQT1JUIGJv
b2wgV0tQcmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwog
CiAvLyBEZWZhdWx0cyB0byBmYWxzZQorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFBh
aW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOworV0tfRVhQT1JU
IGJvb2wgV0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVm
KTsKKworLy8gRGVmYXVsdHMgdG8gZmFsc2UKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdL
X0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVm
ZXJlbmNlc1JlZik7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAJ
KHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIyLDYg
KzEyMiw3IEBAIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGEKICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENhY2hlQVBJRW5hYmxl
ZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNhY2hlQVBJRW5h
YmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zZXRGZXRjaEFQSUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5OjpmZXRjaEFQSUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp1c2VyVGltaW5nRW5hYmxlZEtleSgpKSk7Cisg
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWlu
Z0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYWlu
dFRpbWluZ0VuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZv
cktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVzb3VyY2VUaW1pbmdFbmFibGVkS2V5KCkpKTsKICAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJS2Vl
cEFsaXZlRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6
OmZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVzdHJpY3RlZEhUVFBS
ZXNwb25zZUFjY2Vzc0tleSgpKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wMy0yMyAgTm9hbSBSb3NlbnRoYWwg
IDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVu
dGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBhIHByZWZlcmVuY2Uga2V5IGZvciBwYWludCB0aW1pbmcuCisKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToK
KyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgcGFpbnRUaW1pbmdFbmFibGVkXSk6CisgICAgICAg
ICgtW1dlYlByZWZlcmVuY2VzIHNldFBhaW50VGltaW5nRW5hYmxlZDpdKToKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmll
dy5tbToKKwogMjAyMC0wMy0yMCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAog
ICAgICAgICBFbnN1cmUgbWVkaWEgY2FjaGUgZGlyZWN0b3J5IGlzIGNyZWF0ZWQgYmVmb3JlIHBh
c3NpbmcgdG8gQVZVUkxBc3NldC4KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24g
MjU4ODQ0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjYwLDYgKzI2MCw3IEBACiAjZGVmaW5l
IFdlYktpdEF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRBdHRh
Y2htZW50RWxlbWVudEVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdEludGVyc2VjdGlvbk9ic2VydmVy
RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQi
CiAjZGVmaW5lIFdlYktpdE1lbnVJdGVtRWxlbWVudEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2Vi
S2l0TWVudUl0ZW1FbGVtZW50RW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0UGFpbnRUaW1pbmdFbmFi
bGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFBhaW50VGltaW5nRW5hYmxlZCIKICNkZWZpbmUgV2Vi
S2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VXNlclRpbWluZ0VuYWJs
ZWQiCiAjZGVmaW5lIFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdE1lZGlhQ29udGVudFR5
cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0UHJlZmVyZW5jZUtleSBAIldlYktpdE1lZGlhQ29u
dGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0IgpJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCShyZXZpc2lvbiAyNTg4
NDQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC02ODMsNiArNjgzLDcgQEAgKyAodm9pZClpbml0aWFsaXplCiAj
aWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKICAgICAgICAgQE5PLCBXZWJLaXRJbnRl
cnNlY3Rpb25PYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5LAogI2VuZGlmCisgICAgICAgIEBO
TywgV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBX
ZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0
UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRN
ZWRpYVVzZXJHZXN0dXJlSW5oZXJpdHNGcm9tRG9jdW1lbnQsCkBAIC0zMzA4LDYgKzMzMDksMTYg
QEAgLSAodm9pZClzZXRVc2VyVGltaW5nRW5hYmxlZDooQk9PTClmbGFnCiAgICAgW3NlbGYgX3Nl
dEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXldOwogfQogCistIChCT09MKXBhaW50VGltaW5nRW5hYmxlZAoreworICAgIHJldHVybiBbc2Vs
ZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXld
OworfQorCistICh2b2lkKXNldFBhaW50VGltaW5nRW5hYmxlZDooQk9PTClmbGFnCit7CisgICAg
W3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQ
cmVmZXJlbmNlS2V5XTsKK30KKwogLSAoQk9PTClyZXNvdXJjZVRpbWluZ0VuYWJsZWQKIHsKICAg
ICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJs
ZWRQcmVmZXJlbmNlS2V5XTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkocmV2aXNpb24gMjU4ODQ0KQor
KysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUu
aAkod29ya2luZyBjb3B5KQpAQCAtNjYxLDYgKzY2MSw3IEBAIEBpbnRlcmZhY2UgV2ViUHJlZmVy
ZW5jZXMgKFdlYlByaXZhdGUpCiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBrZXlnZW5FbGVt
ZW50RW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHVzZXJUaW1pbmdFbmFibGVk
OwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcmVzb3VyY2VUaW1pbmdFbmFibGVkOworQHBy
b3BlcnR5IChub25hdG9taWMpIEJPT0wgcGFpbnRUaW1pbmdFbmFibGVkOwogQHByb3BlcnR5IChu
b25hdG9taWMpIEJPT0wgbGlua1ByZWxvYWRFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMp
IEJPT0wgbWVkaWFVc2VyR2VzdHVyZUluaGVyaXRzRnJvbURvY3VtZW50OwogQHByb3BlcnR5IChu
b25hdG9taWMpIEJPT0wgaXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZDsKSW5kZXg6IFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDI1ODg0
NCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMzE5Niw2ICszMTk2LDcgQEAgLSAodm9pZClfcHJlZmVyZW5jZXNDaGFuZ2Vk
OihXZWJQcmVmZXJlbgogCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy51c2VyVGltaW5nRW5hYmxlZCk7
CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXNvdXJj
ZVRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMucmVzb3VyY2VUaW1pbmdFbmFibGVkKTsKKyAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFBhaW50VGltaW5nRW5h
YmxlZChwcmVmZXJlbmNlcy5wYWludFRpbWluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1ByZWxvYWRFbmFibGVkKHByZWZlcmVu
Y2VzLmxpbmtQcmVsb2FkRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRNZWRpYVByZWxvYWRpbmdFbmFibGVkKHByZWZlcmVuY2VzLm1lZGlh
UHJlbG9hZGluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkuc2V0SXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZChwcmVmZXJlbmNlcy5p
c1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDIwLTAzLTIzICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChm
aXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHByZWZlcmVuY2Uga2V5IGZvciBwYWludC10aW1pbmcuCisKKyAg
ICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsOgorICAgICAgICAq
IFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6
CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJl
bmNlc0NoYW5nZWQpOgorCiAyMDIwLTAzLTE4ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBNYWtlIHN1cmUgYSBwcmVmbGlnaHQgZmFpbHMgaWYgcmVzcG9uc2Ug
aGVhZGVycyBhcmUgaW52YWxpZApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xOTcsNiArMTk3LDggQEAKIAogI2RlZmluZSBXZWJLaXRVc2VyVGltaW5nRW5hYmxl
ZFByZWZlcmVuY2VLZXkgIldlYktpdFVzZXJUaW1pbmdFbmFibGVkIgogCisjZGVmaW5lIFdlYktp
dFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFBhaW50VGltaW5nRW5hYmxl
ZCIKKwogI2RlZmluZSBXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJX
ZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0TGlua1ByZWxvYWRF
bmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkIgpJbmRleDogU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCShyZXZpc2lvbiAyNTg4NDQpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yNTEsNiArMjUxLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBzZXRVc2VyVGltaW5nRW5hYmxlZChCT09MKTsKICAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgcmVzb3VyY2VUaW1pbmdFbmFibGVkKF9PdXRfIEJPT0wqKTsK
ICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0UmVzb3VyY2VUaW1pbmdF
bmFibGVkKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBwYWlu
dFRpbWluZ0VuYWJsZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBzZXRQYWludFRpbWluZ0VuYWJsZWQoQk9PTCk7CiAgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIGxpbmtQcmVsb2FkRW5hYmxlZChfT3V0XyBCT09MKik7CiAg
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldExpbmtQcmVsb2FkRW5hYmxl
ZChCT09MKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgbWVkaWFQcmVs
b2FkaW5nRW5hYmxlZChfT3V0XyBCT09MKik7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJW
aWV3LmNwcAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
Vmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyODMsNiArNTI4MywxMSBAQCBIUkVTVUxUIFdl
YlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlCiAgICAgICAgIHJldHVybiBocjsKICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFVzZXJUaW1pbmdFbmFi
bGVkKCEhZW5hYmxlZCk7CiAKKyAgICBociA9IHByZWZzUHJpdmF0ZS0+cGFpbnRUaW1pbmdFbmFi
bGVkKCZlbmFibGVkKTsKKyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJuIGhyOwor
ICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1p
bmdFbmFibGVkKCEhZW5hYmxlZCk7CisKICAgICBociA9IHByZWZzUHJpdmF0ZS0+cmVzb3VyY2VU
aW1pbmdFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0
dXJuIGhyOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCShyZXZpc2lvbiAyNTg4NDQp
CisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xOTcsNiArMTk3LDggQEAgaW50ZXJmYWNlIElX
ZWJQcmVmZXJlbmNlc1ByaXZhdGU0IDogSVdlYgogICAgIEhSRVNVTFQgc2V0VXNlclRpbWluZ0Vu
YWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgcmVzb3VyY2VUaW1pbmdFbmFi
bGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOwogICAgIEhSRVNVTFQgc2V0UmVzb3VyY2VUaW1pbmdF
bmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIHBhaW50VGltaW5nRW5hYmxl
ZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKKyAgICBIUkVTVUxUIHNldFBhaW50VGltaW5nRW5hYmxl
ZChbaW5dIEJPT0wgZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBsaW5rUHJlbG9hZEVuYWJsZWQoW291
dCwgcmV0dmFsXSBCT09MKik7CiAgICAgSFJFU1VMVCBzZXRMaW5rUHJlbG9hZEVuYWJsZWQoW2lu
XSBCT09MIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgbWVkaWFQcmVsb2FkaW5nRW5hYmxlZChbb3V0
LCByZXR2YWxdIEJPT0wqKTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1ODg0NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDIwLTAzLTIzICBOb2FtIFJvc2VudGhhbCAg
PG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50
ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIHByZWZlcmVuY2Uga2V5IGZvciBwYWludC10aW1pbmcuCisKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChyZXNldFdlYlByZWZl
cmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4v
RHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lz
dGVudFZhbHVlcyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2VzVG9Db25z
aXN0ZW50VmFsdWVzKToKKwogMjAyMC0wMy0yMyAgQ2hyaXMgTG9yZCAgPGNsb3JkQGlnYWxpYS5j
b20+CiAKICAgICAgICAgQWRkIG1pc3NpbmcgY29tbWl0dGVyIHN0YXR1cyB0byBDaHJpcyBMb3Jk
IGluIGNvbnRyaWJ1dG9ycy5qc29uCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1
bXBSZW5kZXJUcmVlLm1tCShyZXZpc2lvbiAyNTg4NDQpCisrKyBUb29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwMDQsNiArMTAwNCw3
IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3QKICAgICBbcHJlZmVy
ZW5jZXMgc2V0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5j
ZXMgc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFVz
ZXJUaW1pbmdFbmFibGVkOllFU107CisgICAgW3ByZWZlcmVuY2VzIHNldFBhaW50VGltaW5nRW5h
YmxlZDpZRVNdOwogCiAgICAgW3ByZWZlcmVuY2VzIHNldENhY2hlQVBJRW5hYmxlZDpOT107CiAg
ICAgcHJlZmVyZW5jZXMubWVkaWFDYXBhYmlsaXRpZXNFbmFibGVkID0gWUVTOwpJbmRleDogVG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCShyZXZpc2lvbiAyNTg4
NDQpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC04OTksNiArODk5LDcgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJl
bmNlc1RvQ29uc2lzdAogICAgIHByZWZzUHJpdmF0ZS0+c2V0Q3VzdG9tRWxlbWVudHNFbmFibGVk
KFRSVUUpOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFRSVUUp
OwogICAgIHByZWZzUHJpdmF0ZS0+c2V0VXNlclRpbWluZ0VuYWJsZWQoVFJVRSk7CisgICAgcHJl
ZnNQcml2YXRlLT5zZXRQYWludFRpbWluZ0VuYWJsZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2YXRl
LT5zZXREYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2YXRlLT5j
bGVhck5ldHdvcmtMb2FkZXJTZXNzaW9uKCk7CiAKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyNTg4NDQpCisrKyBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMxLDYgKzkz
MSw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVyZW5jZXNUb0MKICAgICBXS1By
ZWZlcmVuY2VzU2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsK
ICAgICBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0
cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMs
IHRydWUpOworICAgIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQocHJlZmVyZW5j
ZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVByZWxvYWRpbmdFbmFibGVkKHBy
ZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQbGF5YmFja0FsbG93
c0lubGluZShwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldElubGluZU1l
ZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKHByZWZlcmVuY2VzLCBmYWxz
ZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTg4NDQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMSBAQAorMjAyMC0wMy0yMyAgTm9hbSBSb3NlbnRo
YWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29u
dGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIHRlc3RzIGZvciBzb21lIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgKEZDUCkg
dXNlLWNhc2VzLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgICAgICAg
ICBTa2lwIG92ZXJmbG93IHczYyB0ZXN0LCBzdGlsbCBub3Qgc3VwcG9ydGVkLgorCisgICAgICAg
ICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5q
czogQWRkZWQuCisgICAgICAgICAgICAgICAgVGVzdCBleGlzdGVuY2Ugb2YgcGFpbnQgdGltaW5n
IEFQSSBvbiB0aGUgd2luZG93IG9iamVjdC4KKworICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9m
aXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5zdWItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMuc3Vi
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1
YmZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAgICAgICAgIFRlc3QgdGhhdCBGQ1AgaXMgbm90
IGF2YWlsYWJsZSBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lcy4KKworICAgICAgICAqIHBlcmZvcm1h
bmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9i
c2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVy
Zm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanM6IEFkZGVkLgorICAgICAg
ICAoYXN5bmMgd2FpdEZvckZDUCk6CisgICAgICAgICAgICAgICAgVGVzdCB0aGF0IHBlcmZvcm1h
bmNlIG9ic2VydmVycyBhcmUgY2FsbGVkIGZvciBGQ1AuCisKIDIwMjAtMDMtMjMgIEphY29iIFVw
aG9mZiAgPGphY29iX3VwaG9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2
ZXJ0aW5nIHIyNTg4MDMuCkluZGV4OiBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDI1ODg0NCkK
KysrIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTIyMjEs
NiArMjIyMSw5IEBAIHdlYmtpdC5vcmcvYi8xNjQ3OTcganMvZG9tL2RvbWppdC1mdW5jdGkKICMg
dGhlIHRlc3RzIG1heSBiZSB3cm9uZy4KIHdlYmtpdC5vcmcvYi8xNjUxOTUgZmFzdC9jc3MvcGFy
c2luZy1jc3MtYWxsb3dlZC1zdHJpbmctY2hhcmFjdGVycy5odG1sIFsgUGFzcyBGYWlsdXJlIF0K
IAorIyBPdmVyZmxvdyBoYW5kbGluZyBpbiBGQ1AgcmVwb3J0aW5nIGlzIG5vdCBjb21wbGV0ZSB5
ZXQuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3ZlcmZsb3cuaHRtbCBbIFNraXAgXQorCiAjIFZpc3VhbCB2aWV3cG9ydHMKIHdlYmtp
dC5vcmcvYi8xNjU0NjAgY29tcG9zaXRpbmcvcmVwYWludC9zY3JvbGwtZml4ZWQtbGF5ZXItbm8t
Y29udGVudC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTY1NDYwIGNvbXBvc2l0aW5n
L3JlcGFpbnQvc2Nyb2xsLWZpeGVkLWxheWVyLW91dC1vZi12aWV3Lmh0bWwgWyBGYWlsdXJlIF0K
SW5kZXg6IExheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24JKHJldmlzaW9uIDI1ODg0NCkKKysrIExheW91dFRl
c3RzL3Rlc3RzLW9wdGlvbnMuanNvbgkod29ya2luZyBjb3B5KQpAQCAtMTcsNiArMTcsOSBAQAog
ICAgICJpbXBvcnRlZC93M2MvY3NzL2Nzcy12YWx1ZXMvdmhfbm90X3JlZnJlc2hpbmdfb25fY2hy
b21lLmh0bWwiOiBbCiAgICAgICAgICJzbG93IgogICAgIF0sCisgICAgImltcG9ydGVkL3czYy9w
YWludC10aW1pbmcvZmlyc3QtaW1hZ2UtY2hpbGQuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisg
ICAgXSwKICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmlt
YXRpb25zL3VwZGF0aW5nLXRoZS1maW5pc2hlZC1zdGF0ZS5odG1sIjogWwogICAgICAgICAic2xv
dyIKICAgICBdLApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
NTg4NDQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsNzMgQEAKKzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3
ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0
OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBv
cnRlZCB0ZXN0LXN1aXRlIGZyb20gdzNjIHRvIGNvdmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQg
Y2FzZXMuCisgICAgICAgIFRoZSBmY3Atb25seSBjYXNlcyBhcmUgaW1wb3J0ZWQsIHdoaWxlIHRo
ZSBvdGhlciBvbmVzIGFyZSBub3Qgc2luY2UgV2ViS2l0IGRvZXMgbm90IHN1cHBvcnQgZmlyc3Qt
cGFpbnQuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJh
Y2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdv
LXN0ZXBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFk
aWVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJh
bnNpdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFj
aXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRl
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3V0LW9mLWJvdW5kcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdmVyZmxvdy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LWltYWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXN2Zy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZy
YW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBv
c3Rlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFj
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZzog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJj
ZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291
cmNlcy91dGlscy5qczogQWRkZWQuCisgICAgICAgICh3YWl0VGltZSk6CisgICAgICAgIChhc3lu
YyBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKGFzeW5jIGFzc2VydEZp
cnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKHRlc3RfZmNwKToKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzogQWRk
ZWQuCisKIDIwMjAtMDMtMjAgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIEFkZCByb3V0aW5lcyB0byBjaGVjayBhYm91dDpibGFuayBhbmQgYWJvdXQ6c3JjZG9j
IFVSTHMKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4
cGVjdGF0aW9ucy5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9y
ZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCShyZXZpc2lvbiAyNTg4NDQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNv
bgkod29ya2luZyBjb3B5KQpAQCAtMzE3LDcgKzMxNyw4IEBACiAgICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9vcmllbnRhdGlvbi1ldmVudCI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy9vcmllbnRhdGlvbi1zZW5zb3IiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMv
cGFnZS12aXNpYmlsaXR5IjogInNraXAiLCAKLSAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZyI6ICJza2lwIiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkiOiAiaW1wb3J0IiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvcmVzb3VyY2VzIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1oYW5kbGVyIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtbWV0
aG9kLWJhc2ljLWNhcmQiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1tZXRob2QtaWQiOiAic2tpcCIsIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6
ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6
ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQt
c2l6ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mg
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBzaXplLiAKKwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3Rl
ZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dy
b3VuZC1zaXplLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6
ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tn
cm91bmQgc2l6ZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBu
Zyk7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCAwOworICAgIH0KKworICAgIC8qIGNvbnRl
bnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4u
Y29udGVudGZ1bCB7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOworICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNw
KCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemUuIik7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0
YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRv
IGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0LiAKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWlu
ZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0PC90aXRsZT4K
KzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQg
aW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBi
YWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWltYWdlLXNldCh1cmwoLi4vcmVzb3VyY2VzL2NpcmNs
ZXMucG5nKSAxeCk7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXNldCh1cmwoLi4v
cmVzb3VyY2VzL2NpcmNsZXMucG5nKSAxeCk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJt
YWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0LiIpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
YmctaW1hZ2Utc2V0Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAs
MCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxlLiAKKwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0
ZXBzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIGZpcmUg
Zm9yIGJhY2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGU8L3RpdGxlPgorPHN0eWxlPgor
ICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgYW5kIHByZUZDUCBjbGFzc2VzIGFyZSBkZWZp
bmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5wcmVGQ1AgeworICAgICAgICB2
aXNpYmlsaXR5OiBoaWRkZW47CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCwgICNtYWlu
LnByZUZDUCB7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2ly
Y2xlcy5wbmcpOworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB2aXNp
YmlsaXR5OiB2aXNpYmxlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGZv
ciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxlLiIpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+CisKKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFn
ZS10d28tc3RlcHMuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCww
ICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMyBAQAorCitQQVNTIENhbnZhcyBzaG91bGQgY291bnQgYXMgY29udGVudGZ1bCB3aGVuIGNv
bnRleHQgaXMgY3JlYXRlZCAKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNh
bnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJs
ZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1j
YW52YXMtY29udGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6
IEZDUCB3aGVuIGNhbnZhcyBjb250ZXh0IGlzIGNyZWF0ZWQ8L3RpdGxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxjYW52YXMgaWQ9
ImNhbnZhcyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxzY3JpcHQ+CisgIHBy
b21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5Q
ZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsK
KyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2Fk
JywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICBj
b25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FudmFzJyk7CisgICAgY29u
c3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworICAgIGNvbnRleHQuZmlsbFJl
Y3QoMCwgMCwgMTAwLCAxMDApOworICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50
KCk7CisgIH0sICdDYW52YXMgc2hvdWxkIGNvdW50IGFzIGNvbnRlbnRmdWwgd2hlbiBjb250ZXh0
IGlzIGNyZWF0ZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbApfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEdyYWRpZW50cyBzaG91bGQgbm90IGNvdW50IGFzIGNv
bnRlbnRmdWwgCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1l
eHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAj
IworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Z3JhZGllbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZv
cm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIG5vdCBmaXJlIHdpdGggZ3JhZGll
bnQtb25seSBiYWNrZ3JvdW5kczwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAg
ICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGJhY2tncm91
bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIG9yYW5nZSwgYmx1ZSk7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAg
ICAgY29uc3QgbWFpbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluJyk7CisgICAgICBh
d2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikp
OworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAgJ0dy
YWRpZW50cyBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwnKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorCis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGll
bnQuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisq
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRh
bnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4dAorCitQ
QVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0
aW5nIHJvdGF0aW5nIGludG8gdmlldy4gCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0Cl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUt
ZGVzY2VuZGFudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qt
cm90YXRlLWRlc2NlbmRhbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWlu
dCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byAzZCByZXZlYWxpbmcgb2YgZGVzY2VuZGFudHM8L3Rp
dGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiBy
ZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVk
ZWcpOworICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOworICAgIH0KKworICAg
IC8qCisgICAgICAgVGhpcyB0ZXN0cyB0aGF0IGdpdmVuIG11bHRpcGxpY2F0aW9uIGVmZmVjdCBv
ZiAzZCB0cmFuc2Zvcm1zIG9uIGJvdW5kaW5nIHJlY3QsCisgICAgICAgQW4gZWxlbWVudCBjb3Vu
dHMgYXMgY29udGVudGZ1bC9wYWludGFibGUgb25seSB3aGVuIGl0cyBib3VuZGluZyByZWN0IGlz
IHRydWx5IG5vbi1lbXB0eSAqLworICAgICNjaGlsZCB7CisgICAgICAgIHRyYW5zZm9ybTogcm90
YXRlWCg0NWRlZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVk
IGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAg
dHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAg
PGRpdiBpZD0iY2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2Zj
cCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRp
bmcgcm90YXRpbmcgaW50byB2aWV3LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNj
ZW5kYW50Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAj
IworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXcuIAorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIDNkIHJvdGF0
aW9uIGludG8gdmlldzwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0
aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAg
ICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDkwZGVnKTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBp
cyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsK
KyAgICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFp
biI+VGV4dDwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBw
YWludCBmaXJlcyBkdWUgdG8gM2Qgcm90YXRpb24gaW50byB2aWV3LiIpCis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtM2Qtcm90YXRlLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAs
MCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBz
Y2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4gCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
eGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRp
b24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
c2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
IEBACitURVhUCisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIHJldmVh
bGVkIGR1cmluZyB0cmFuc2l0aW9uLiAKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlv
bi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNp
dGlvbi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUt
dHJhbnNpdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZD
UCBpbiB0cmFuc2l0aW9uPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4Owor
ICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zv
cm0gMTBzOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAg
ICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2Ny
aXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IHNjYWxl
KDEpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+VEVYVDwvZGl2PgorPHNjcmlw
dD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIHJldmVh
bGVkIGR1cmluZyB0cmFuc2l0aW9uLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRp
b24uaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisq
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtc2NhbGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNj
YWxlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhl
YWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gc2Nh
bGUgY2hhbmdlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAx
MDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAg
ICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAg
ICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9j
aXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVk
IGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAg
dHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBzY2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0
bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
dGV4dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS10ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK0lOVklT
SUJMRQorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1l
bGVtZW50IGJlY29taW5nIHZpc2libGUuIAorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
eGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIHNob3VsZCBzdGlsbCBmaXJlIGZvciBpbnZpc2libGUgdGV4dDwvdGl0bGU+
Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgdmlzaWJp
bGl0eTogaGlkZGVuOworICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKKyAgICB9CisK
KyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAq
LworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwor
ICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRp
bHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgSU5WSVNJQkxFCis8L2Rpdj4K
KzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVl
IHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIikKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10
ZXh0Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIwor
KgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiAKKwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1leHBlY3RlZC50eHQK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNj
ZW5kYW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFu
dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
ZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGFu
Y2VzdG9yIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lk
dGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7Cisg
ICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0KKworICAg
ICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1
bCBhbmQgaW50ZXJtZWRpYXRlIGNsYXNzZXMgYXJlIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0
LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0eTogMTsK
KyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0
eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgeworICAgICAgICBvcGFjaXR5
OiAwOworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFjaXR5OiAw
LjU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJjaGls
ZCI+VGV4dDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3NpdGl2ZSBv
cGFjaXR5LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBv
cGFjaXR5LXJldmVhbGVkIGVsZW1lbnQuIAorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFi
bGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIG9wYWNpdHk8
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9u
OiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1
cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9
CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0
LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFjaXR5OiAwLjE7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIG9wYWNpdHktcmV2ZWFsZWQg
ZWxlbWVudC4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhl
Y3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiAKKwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFu
c2xhdGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2Yt
Ym91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gdHJhbnNmb3Jt
LWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiAKKwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dApfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRy
YW5zbGF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRy
YW5zbGF0ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRz
LXRyYW5zbGF0ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZD
UCBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50PC90aXRs
ZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHRy
YW5zbGF0ZSgtMTAwMHB4KTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0
b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xl
cy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0
ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5z
Zm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNj
cmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8g
dHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiIpCis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQt
b2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxl
CiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3V0LW9mLWJvdW5kcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQt
b2YtYm91bmRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IGR1ZSB0byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudDwvdGl0bGU+Cis8c3R5bGU+CisgICAg
I21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgIGxlZnQ6IC0xMDAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAg
ICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2Np
cmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQg
aW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBs
ZWZ0OiAwcHg7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3Jp
cHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGlu
dGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3ZlcmZsb3cuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3ZlcmZsb3cuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3ZlcmZsb3cuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRp
bWluZyBUZXN0OiBGQ1Agd2l0aCBlbGVtZW50IGNsaXBwZWQgd2l0aCBvdmVyZmxvdzwvdGl0bGU+
Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgICAgIGRpc3BsYXk6
IG5vbmU7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRl
c3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgZGlzcGxh
eTogYmxvY2s7CisgICAgfQorCisgICAgI3RleHQgeworICAgICAgICB0b3A6IDEwMDAwcHg7Cisg
ICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1h
aW4iPgorICAgIDxkaXYgaWQ9InRleHQiPkhFTExPPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+Cisg
ICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZXZlbiB3aGVuIGVsZW1l
bnQgaXMgaGlkZGVuIGR1ZSB0byBvdmVyZmxvdy4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwv
aHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdmVyZmxvdy5odG1sCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LWRpc3BsYXktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8g
cHNldWRvLWVsZW1lbnQgdGV4dC4gCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVs
ZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsK
KyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNz
IGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6
YWZ0ZXIgeworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYg
aWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUK
IyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4gCisKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtaW1hZ2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
aW1hZ2UuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
aW1hZ2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVl
IHRvIHBzZXVkby1lbGVtZW50IGltYWdlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7Cisg
ICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVm
aW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7
CisgICAgICAgIGNvbnRlbnQ6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGlt
YWdlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNp
dHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAK
KworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVu
dCBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIAorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHku
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
ZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBz
ZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eTwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAx
MDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7
CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisK
KyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAq
LworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBvcGFjaXR5OiAwLjU7Cisg
ICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0
ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1l
bnQgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFj
aXR5Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIwor
KgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNl
dWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0
byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiAKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJm
b3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0
PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2
ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0K
KworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQu
ICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhU
IgorICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
dXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+Cisg
ICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1l
bGVtZW50IHRleHQuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2li
aWxpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4gCisKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dApf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC12aXNpYmlsaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LXZpc2liaWxpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5n
IFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZTwvdGl0bGU+
Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAj
bWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgdmlzaWJpbGl0
eTogaGlkZGVuOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBp
biB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAg
ICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWlu
Ij4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWlu
dCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4iKQorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVj
dXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXN2Zy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2
Zy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIFNWRyBiZWNvbWVzIGNvbnRlbnRmdWwuIAor
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dApfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXN2Zy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCB3
aXRoIFNWRzwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAw
cHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAg
cG9zaXRpb246IHJlbGF0aXZlOworICAgIH0KKworICAgICNjaXJjbGUgeworICAgICAgZGlzcGxh
eTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4g
dGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI2NpcmNsZSB7CisgICAg
ICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cisg
IDxzdmcgdmlld0JveD0iMCAwIDEwIDEwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9z
dmciCisgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKyAg
ICA8ZGVmcz4KKyAgICAgIDxjaXJjbGUgaWQ9Im15Q2lyY2xlIiBjeD0iNSIgY3k9IjUiIHI9IjQi
IHN0cm9rZT0iYmx1ZSIvPgorICAgIDwvZGVmcz4KKyAgICA8dXNlIGlkPSJjaXJjbGUiIGhyZWY9
IiNteUNpcmNsZSIgZmlsbD0iZ3JlZW4iIC8+CisgIDwvc3ZnPgorPC9kaXY+Cis8c2NyaXB0Pgor
ICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gU1ZHIGJlY29t
ZXMgY29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbApfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVs
IHdoZW4gZmlyc3QgZnJhbWUgaXMgbG9hZGVkIAorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
eGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXZpZGVvLWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDog
RkNQIGR1ZSB0byBsb2FkZWQgdmlkZW8gZnJhbWU8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8i
IGF1dG9wbGF5PjwvdmlkZW8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5n
LCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9t
aXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2Fp
dCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgICBjb25zdCB2aWRlbyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd2aWRlbycpOworICAgICAgdmlkZW8uc2V0QXR0cmlidXRl
KCdzcmMnLCAnL21lZGlhL3Rlc3QubXA0Jyk7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHsKKyAgICAgICAgdmlkZW8ub25jYW5wbGF5ID0gcmVzb2x2ZTsKKyAgICAgIH0pOwor
ICAgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ1ZpZGVvIHNo
b3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGZpcnN0IGZyYW1lIGlzIGxvYWRlZCcpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdmlkZW8tZnJhbWUuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAt
MCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NCBAQAorCisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9zdGVy
IGlzIGxvYWRlZCAKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBv
c3Rlci1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAs
MCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVv
LXBvc3Rlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
ZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxv
YWRlZCB2aWRlbyBwb3N0ZXI8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIHdpZHRoPSI1MCIg
aGVpZ2h0PSI1MCI+PC92aWRlbz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+
IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5n
LCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlz
ZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFz
c2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd2aWRlbycpOworICAgIGNvbnN0IHNyYyA9ICcuLi9yZXNvdXJjZXMv
Y2lyY2xlcy5wbmcnOworICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7CisgICAgaW1hZ2Uu
c3JjID0gc3JjOworICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgncG9zdGVyJywgc3JjKTsKKyAgICBh
d2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgaW1hZ2Uub25sb2FkID0gYXN5
bmMgKCkgPT4gcmVzb2x2ZSgpOworICAgIH0pCisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50
ZnVsUGFpbnQoKTsKKyAgfSwgJ1ZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIHBv
c3RlciBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgV2hpdGVzcGFjZSBzaG91bGQgbm90
IGNvdW50IGFzIGNvbnRlbnRmdWwuIAorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFi
bGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC13aGl0ZXNwYWNlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3Bh
Y2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBXaGl0ZXNwYWNl
IHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21h
aW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsK
KyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4u
L3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCAwOwor
ICAgIH0KKworICAgICN0ZXh0IHsKKyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAg
ICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLwor
ICAgICNtYWluLmNvbnRlbnRmdWwgI3RleHR7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAg
IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMu
anMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0id2hpdGVzcGFjZSI+
ICAgPC9kaXY+CisgICAgPGRpdiBpZD0idGV4dCI+VEVYVDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0
PgorICAgIHRlc3RfZmNwKCJXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1
bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRh
YmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvdzNjLWlt
cG9ydC5sb2cJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvdzNjLWltcG9ydC5sb2cJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdl
cmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNl
IHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRl
c3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGlu
IFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUu
CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25l
CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1z
ZXQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5
LWRlc2NlbmRhbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91
bmRzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdmVyZmxvdy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1h
Z2UuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LXZpc2liaWxpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVz
cGFjZS5odG1sCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS93M2MtaW1wb3J0LmxvZwpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNl
cy9jaXJjbGUuc3ZnCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorPHN2ZyB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSI+CisgICA8Y2lyY2xlIGN4
PSIxMDAiIGN5PSI1MCIgcj0iNDAiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIgZmls
bD0ibm9uZSIgLz4KKzwvc3ZnPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNs
ZS5zdmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUt
cGFpbnRpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5Pgor
PGRpdiBpZD0iaW1hZ2UiPjwvZGl2PgorPHNjcmlwdD4KKyAgY29uc3QgaW1nID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnSU1HJyk7CisgIGltZy5zcmMgPSAnY2lyY2xlcy5wbmcnOworICBpbWcu
b25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgZnVuY3Rpb24gc2VuZFBhaW50RW50cmllcygpIHsK
KyAgICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUo
J3BhaW50Jyk7CisgICAgICBpZiAocGFpbnRFbnRyaWVzLmxlbmd0aCA8IDIpIHsKKyAgICAgICAg
c2V0VGltZW91dChzZW5kUGFpbnRFbnRyaWVzLCAyMCk7CisgICAgICAgIHJldHVybjsKKyAgICAg
IH0KKyAgICAgIGxldCBlbnRyeUNvbnRlbnRzID0gcGFpbnRFbnRyaWVzLmxlbmd0aCArICcnOwor
ICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsKKyAg
ICAgICAgY29uc3QgZW50cnkgPSBwYWludEVudHJpZXNbaV07CisgICAgICAgIGVudHJ5Q29udGVu
dHMgKz0gJyAnICsgZW50cnkuZW50cnlUeXBlICsgJyAnICArIGVudHJ5Lm5hbWU7CisgICAgICB9
CisgICAgICBwYXJlbnQucG9zdE1lc3NhZ2UoZW50cnlDb250ZW50cywgJyonKTsKKyAgICB9Owor
ICAgIHNlbmRQYWludEVudHJpZXMoKTsKKyAgfTsKKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2ltYWdlJykuYXBwZW5kQ2hpbGQoaW1nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1w
YWludC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxz
Y3JpcHQ+CisgIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uKGUpIHsK
KyAgICAvLyBTZW5kIHBhaW50LXRpbWluZyBlbnRyaWVzIHVwb24gcmVjZWl2aW5nIGEgbWVzc2Fn
ZS4KKyAgICBjb25zdCBwYWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBl
KCdwYWludCcpOworICAgIGxldCBlbnRyeUNvbnRlbnRzID0gcGFpbnRFbnRyaWVzLmxlbmd0aCAr
ICcnOworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFpbnRFbnRyaWVzLmxlbmd0aDsgaSsrKSB7
CisgICAgICBjb25zdCBlbnRyeSA9IHBhaW50RW50cmllc1tpXTsKKyAgICAgIGVudHJ5Q29udGVu
dHMgKz0gJyAnICsgZW50cnkuZW50cnlUeXBlICsgJyAnICArIGVudHJ5Lm5hbWU7CisgICAgfQor
ICAgIHBhcmVudC5wb3N0TWVzc2FnZShlbnRyeUNvbnRlbnRzLCAnKicpOworICB9KTsKKzwvc2Ny
aXB0PgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFp
bnQuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisq
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVz
b3VyY2VzL3V0aWxzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8vIE51bWJl
ciBtaWxsaXNlY29uZHMgdG8gd2FpdCBmb3IgQ1NTIHJlc291cmNlcyB0byBsb2FkLgorY29uc3Qg
bnVtTWlsbGlzZWNvbmRzV2FpdCA9IDUwOworCisvLyBXZSB1c2UgcmVxdWVzdEFuaW1hdGlvbkZy
YW1lKCkgY2FsbHMgdG8gZm9yY2UgdGhlIHVzZXIgYWdlbnQgdG8gcGFpbnQgYW5kIGdpdmUgZW5v
dWdoCisvLyB0aW1lIGZvciBGQ1AgdG8gc2hvdyB1cCBpbiB0aGUgcGVyZm9ybWFuY2UgdGltZWxp
bmUuIEhlbmNlLCBzZXQgfG51bUZyYW1lc1dhaXRpbmd8IHRvCisvLyAzIGFuZCB1c2UgdGhhdCBj
b25zdGFudCB3aGVuZXZlciB0aGUgdGVzdCBuZWVkcyB0byB3YWl0IGZvciB0aGUgbmV4dCBwYWlu
dCB0byBvY2N1ci4KK2NvbnN0IG51bUZyYW1lc1dhaXRpbmcgPSAzOworCitmdW5jdGlvbiB3YWl0
VGltZSh0KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHQuc3RlcF90aW1lb3V0
KHJlc29sdmUsIG51bU1pbGxpc2Vjb25kc1dhaXQpKTsKK30KKworZnVuY3Rpb24gd2FpdEZvckFu
aW1hdGlvbkZyYW1lcyhjb3VudCkgeworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7
CisgICAgaWYgKGNvdW50LS0gPD0gMCkgeworICAgICAgcmVzb2x2ZSgpOworICAgIH0gZWxzZSB7
CisgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICB3YWl0Rm9yQW5p
bWF0aW9uRnJhbWVzKGNvdW50KS50aGVuKHJlc29sdmUpOworICAgICAgfSk7CisgICAgfQorICB9
KTsKK30KKworLy8gQXNzZXJ0cyB0aGF0IHRoZXJlIGlzIGN1cnJlbnRseSBubyBGQ1AgcmVwb3J0
ZWQsIGV2ZW4gYWZ0ZXIgc29tZSB3YWl0LgorYXN5bmMgZnVuY3Rpb24gYXNzZXJ0Tm9GaXJzdENv
bnRlbnRmdWxQYWludCh0KSB7CisgIGlmICh0KQorICAgIGF3YWl0IHdhaXRUaW1lKHQpOworCisg
IGF3YWl0IHdhaXRGb3JBbmltYXRpb25GcmFtZXMobnVtRnJhbWVzV2FpdGluZyk7CisgIGFzc2Vy
dF9lcXVhbHMocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1w
YWludCcpLmxlbmd0aCwgMCwgJ0ZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgbWFya2VkIHRvbyBlYXJs
eS4gJyk7Cit9CisKKy8vIEFzc2VydHMgdGhhdCBGQ1AgaXMgcmVwb3J0ZWQsIHBvc3NpYmx5IGFm
dGVyIHNvbWUgd2FpdC4gVGhlIHdhaXQgaXMgbmVlZGVkCisvLyBiZWNhdXNlIHNvbWV0aW1lcyB0
aGUgRkNQIHJlbGllcyBvbiBzb21lIENTUyByZXNvdXJjZXMgdG8gZmluaXNoIGxvYWRpbmcuCith
c3luYyBmdW5jdGlvbiBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KSB7CisgIGlmICh0KQor
ICAgIGF3YWl0IHdhaXRUaW1lKHQpOworICBhd2FpdCB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKG51
bUZyYW1lc1dhaXRpbmcpOworICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmdldEVudHJpZXNC
eU5hbWUoJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5ndGgsIDEsICdFeHBlY3RlZCBmaXJz
dCBjb250ZW50ZnVsIHBhaW50IG5vdCBmb3VuZC4gJyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RfZmNw
KGxhYmVsKSB7CisgIGNvbnN0IHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUn
KTsKKyAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7CisgIHJldHVybiBwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9y
bWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAg
Y29uc3QgbWFpbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluJyk7CisgICAgYXdhaXQg
bmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAg
ICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgbWFpbi5jbGFzc05h
bWUgPSAncHJlRkNQJzsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7
CisgICAgbWFpbi5jbGFzc05hbWUgPSAnY29udGVudGZ1bCc7CisgICAgYXdhaXQgYXNzZXJ0Rmly
c3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgbGFiZWwpOworfQoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvcmVzb3VyY2VzL3V0aWxzLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMj
IC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVz
b3VyY2VzL3czYy1pbXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0
LmxvZwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwyMSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUg
aW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRl
c3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdl
YktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisK
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgor
Tm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCist
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2ZworL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1l
LXNlbmRpbmctcGFpbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1p
bmcvcmVzb3VyY2VzL3V0aWxzLmpzCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNj
LWltcG9ydC5sb2cKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAj
IworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMuc3ViLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29u
dGVudGZ1bC1wYWludC1mcmFtZXMuc3ViLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMu
c3ViLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE4IEBACitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgNzogW29iamVjdCBQZXJmb3JtYW5jZVBhaW50VGltaW5nXQorUGFpbnQg
QVBJIHNob3VsZCBiZSBhdmFpbGFibGUgZm9yIHNhbWUtb3JpZ2luIGZyYW1lcyBidXQgbm90IHRv
IGNyb3NzLW9yaWdpbi9zYW5kYm94ZWQgZnJhbWVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyBkaWRSZWNlaXZlTWVzc2FnZSBpcyBmYWxzZQorUEFTUyByZWNlaXZlZEV2
ZW50LnNvdXJjZSBpcyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJykuY29u
dGVudFdpbmRvdworUEFTUyByZWNlaXZlZEVudHJ5Lm5hbWUgaXMgJ2ZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQnCitQQVNTIHJlY2VpdmVkRW50cnkuc3RhcnRUaW1lICE9IHBlcmZvcm1hbmNlLmdldEVu
dHJpZXMoKVswXS5zdGFydFRpbWUgaXMgdHJ1ZQorUEFTUyBkaWRSZWNlaXZlTWVzc2FnZSBpcyB0
cnVlCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxs
YmFjayB3YXMgZmlyZWQgZm9yIHNhbWUtb3JpZ2luIGZyYW1lIGJ1dCBub3QgZm9yIGNyb3NzLW9y
aWdpbiBmcmFtZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKKworVEVYVAoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLnN1Yi1leHBlY3RlZC50eHQKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
Zmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMuc3ViLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLnN1
Yi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9maXJz
dC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5zdWIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDUxIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorICAgIDxpZnJhbWUgd2lkdGg9IjEwMCIgaGVpZ2h0
PSIxMDAiIGlkPSJub25TYW5kYm94ZWQiIHNyYz0iLi9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0
bWwiPjwvaWZyYW1lPgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKzxpZnJhbWUgaWQ9InNh
bmRib3hlZCIgc3JjPSJodHRwOi8ve3tob3N0c1thbHRdW119fTp7e3BvcnRzW2h0dHBdWzBdfX0v
cGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbCIgc2FuZGJveD0iYWxs
b3ctc2NyaXB0cyI+PC9pZnJhbWU+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorCisgICAg
VEVYVAorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50IEFQSSBzaG91bGQgYmUgYXZhaWxh
YmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4vc2FuZGJv
eGVkIGZyYW1lcy4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5kaWRS
ZWNlaXZlTWVzc2FnZSA9IGZhbHNlOworCit3aW5kb3cub25sb2FkID0gYXN5bmMgKCkgPT4gewor
ICAgIGNvbnN0IHNhbmRib3hlZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYW5kYm94ZWQn
KTsKKyAgICBjb25zdCBub25TYW5kYm94ZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9u
U2FuZGJveGVkJyk7CisgICAgY29uc3QgZmNwTWVzc2FnZVByb21pc2UgPSBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHsKKyAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICAg
ICAgICAgIHdpbmRvdy5yZWNlaXZlZEV2ZW50ID0gZXZlbnQ7CisgICAgICAgICAgICB3aW5kb3cu
cmVjZWl2ZWRFbnRyeSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAgICAgICAgICBzaG91
bGRCZUZhbHNlKCdkaWRSZWNlaXZlTWVzc2FnZScpOworICAgICAgICAgICAgZGlkUmVjZWl2ZU1l
c3NhZ2UgPSB0cnVlOworICAgICAgICAgICAgc2hvdWxkQmUoJ3JlY2VpdmVkRXZlbnQuc291cmNl
JywgImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKS5jb250ZW50V2luZG93
Iik7CisgICAgICAgICAgICBzaG91bGRCZSgncmVjZWl2ZWRFbnRyeS5uYW1lJywgIidmaXJzdC1j
b250ZW50ZnVsLXBhaW50JyIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdyZWNlaXZlZEVu
dHJ5LnN0YXJ0VGltZSAhPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKClbMF0uc3RhcnRUaW1lJyk7
CisgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH07CisgICAgfSk7CisKKyAgICBzYW5k
Ym94ZWQuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgicGFpbnQiLCAiKiIpOworICAgIGF3YWl0
IHdhaXRGb3JGQ1AoKTsKKyAgICBub25TYW5kYm94ZWQuY29udGVudFdpbmRvdy5wb3N0TWVzc2Fn
ZSgicGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBhd2FpdCBmY3BN
ZXNzYWdlUHJvbWlzZTsKKyAgICBzaG91bGRCZVRydWUoJ2RpZFJlY2VpdmVNZXNzYWdlJyk7Cisg
ICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50
IGNhbGxiYWNrIHdhcyBmaXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jv
c3Mtb3JpZ2luIGZyYW1lIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLnN1Yi5odG1sCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50
LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorQmFzaWMgSW50ZXJmYWNlIHRl
c3QgZm9yIHBhaW50LXRpbWluZyBBUElzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUGVyZm9ybWFuY2VQYWludFRpbWluZworUEFTUyBQZXJmb3JtYW5jZVBhaW50VGltaW5nIGlz
IGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcucHJvdG90eXBlLnRvSlNPTiBp
cyBkZWZpbmVkLgorUEFTUyBuZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5n
ICduZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygpJykuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dApfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
YWludC10aW1pbmctYXBpcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2
ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitQQVNTIGRpZFJl
Y2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVu
dHJpZXMoKS5sZW5ndGggaXMgMQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJm
aXJzdC1jb250ZW50ZnVsLXBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0
RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIsICJwYWludCIpLmxlbmd0aCBp
cyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3RoIGlz
IDEKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxi
YWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorVEVYVDIKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBh
aW50LWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCww
ICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVs
LXBhaW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Bl
cmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIt
Zmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEg
QEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbigiRW5zdXJlIFBlcmZvcm1hbmNlT2JzZXJ2ZXJzIGFyZSBub3RpZmllZCBv
bmNlIGZvciBmaXJzdC1jb250ZW50ZnVsLXBhaW50LiIpOword2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOworIAorKGFzeW5jICgpID0+IHsKKyAgICB3aW5kb3cuZGlkUmVjZWl2ZUZpcnN0Q29u
dGVudGZ1bFBhaW50ID0gZmFsc2U7CisgICAgd2luZG93LnN0YXJ0VGltZSA9IHBlcmZvcm1hbmNl
Lm5vdygpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHsKKyAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNl
cnZlcihlbnRyeUxpc3QgPT4geworICAgICAgICAgICAgd2luZG93LmVudHJ5TGlzdCA9IGVudHJ5
TGlzdDsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllcygpLmxlbmd0
aCcsICIxIik7CisgICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0LmdldEVudHJpZXNCeU5h
bWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAxKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAiMSIp
OworICAgICAgICAgICAgd2luZG93LmZjcEVudHJ5ID0gZW50cnlMaXN0LmdldEVudHJpZXMoKVsw
XTsKKyAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQ
YWludCcpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5Lm5hbWUnLCAnImZpcnN0LWNv
bnRlbnRmdWwtcGFpbnQiJyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50cnkuZW50cnlU
eXBlJywgJyJwYWludCInKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgnZmNwRW50cnkuc3Rh
cnRUaW1lID4gd2luZG93LnN0YXJ0VGltZScpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdm
Y3BFbnRyeS5zdGFydFRpbWUgPCBwZXJmb3JtYW5jZS5ub3coKScpOworICAgICAgICAgICAgc2hv
dWxkQmUoJ2ZjcEVudHJ5LmR1cmF0aW9uJywgIjAiKTsKKyAgICAgICAgICAgIGRpZFJlY2VpdmVG
aXJzdENvbnRlbnRmdWxQYWludCA9IHRydWU7CisgICAgICAgICAgICByZXNvbHZlKCk7CisgICAg
ICAgIH0pOworCisgICAgICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsncGFpbnQn
XX0pOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICdURVhUJzsKKyAgICB9KQor
ICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQyJzsKKyAgICBhd2FpdCB3YWl0Rm9y
RkNQKCk7CisgICAgc2hvdWxkQmVUcnVlKCdkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQn
KTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCcsICIxIik7
CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IiwgInBhaW50IikubGVuZ3Ro
JywgIjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicGFp
bnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIg
Zmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXNuJ3QgZmlyZWQgYWdhaW4gIik7Cisg
ICAgZmluaXNoSlNUZXN0KCk7Cit9KSgpOworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1h
bmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbApfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNw
LXN1YmZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQ+CisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0
ID0+IHsKKyAgICAgICAgbGlzdC5nZXRFbnRyaWVzKCkuZm9yRWFjaChlID0+IHsKKyAgICAgICAg
ICAgIGNvbnNvbGUubG9nKGUpOworICAgICAgICAgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2Fn
ZShKU09OLnN0cmluZ2lmeShlKSwgJyonKQorICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIG9i
c2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsncGFpbnQnXX0pOworICAgIHdpbmRvdy5vbm1l
c3NhZ2UgPSBlID0+IHsKKyAgICAgICAgaWYgKGUuZGF0YSA9PSAncGFpbnQnKQorICAgICAgICAg
ICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAiUEFJTlRFRCI7CisgICAgfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcwkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11
dGlscy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUgQEAKK2FzeW5jIGZ1bmN0aW9uIHdh
aXRGb3JGQ1AoKQoreworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVxdWVzdEFu
aW1hdGlvbkZyYW1lKCgpID0+IHJlc29sdmUoKSkpOworICAgIHJldHVybiB3aW5kb3cucGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0aCA9
PSAxOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRp
bWluZy1hcGkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAoraWYgKHNlbGYuaW1w
b3J0U2NyaXB0cykKKyAgICBpbXBvcnRTY3JpcHRzKCIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiKTsKKworaWYgKHNlbGYud2luZG93KQorICAgIGRlc2NyaXB0aW9uKCJCYXNpYyBJbnRl
cmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuIik7CisKK2RlYnVnKCJQZXJmb3JtYW5j
ZVBhaW50VGltaW5nIik7CitzaG91bGRCZURlZmluZWQoIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmci
KTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUudG9K
U09OYCk7CitzaG91bGRUaHJvdyhgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKWApOworCitp
ZiAoc2VsZi5pbXBvcnRTY3JpcHRzKQorICAgIGZpbmlzaEpTVGVzdCgpOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1p
bmctYXBpLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMK
KyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNs
ZXMucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5
IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy9jaXJjbGVzLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAt
MCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjpt
aW1lLXR5cGUKIyMgLTAsMCArMSAjIworaW1hZ2UvcG5nClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDUUFBQUJJQ0FZQUFBQ2VObGU1QUFB
QzdtbERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0a0NK
SldhdG9SZFEyL1JGaWF3emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytBSG5y
d1pDOUtoVnBGS042cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FCT1FO
eDFLaUVXbHNmRUpxCi9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdkN0oz
clpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVlTUcx
RHlzOXhGa2lmRUExTGM1L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpFTDFQ
a0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBPYkVo
ajBjR0RYMCtHQVZ0eHFwCitEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpX
a2hQMTB4dStMcUhCWDBtMXhPdjRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURVaFFF
RVVFWVppd1VFQ0dQQm94TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6KwpL
Q0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhqamMw
MWVmSlhVZHBOWFI1YXNlWHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1YalZm
UHFTNFIxV2pFMzM1OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZsUFh2
WHgvR2ZOeEdQaUtURW1kb3JuSVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZnWUpx
OAo5UzlkUDF0NHZVWi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJ
dmJPREltYnB0VTNIdkVLRmxwVzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhndkFF
Y2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xwZHRp
WjB4MXVIS0U1UXZmRXAwcGxrL3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFlSXVK
QUFBQQpDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFHWjBsRVFWUm9CZTJhVVc5VlJSREhkNjh0
RVZKTFcyS0N4Q1kraWdRRG9Za0tmZ0o4CjlNa25FdkVkdm9DbWtTK0E3MnBDUXNLVGovSUpCQ1NC
MU5Tb1BKcVUxQ2FrZ05pQWFlTmRmLytaT1QyMzU5N1NGdTdsNlV5eTUrek8KMloyWm5aM2RuWmw3
YzVyUEplMEtTc3BwaHA3N1UwbVBxRC9kSEZVUnlKdVlSSjhEOUprRzg0ejZROTY5WDNzNk5xcGpq
WGFqS1NMZApFR1FmOVJXSU8rbVN6c0wxQksxWnlpR0toRmpsdVVTSFh4aHpuZlpURXlPbncrRFhR
N0NPOWVReEVKNGprRmlQUVZERWxtMXdLWi95ClBwZEtPYzNiaGJBUHpRZERUYmg4ay9lVmxQTVAx
aU9uSTdRZlVOK2dETlpZN2w4eTEwcEtrd3daWnlDekxtY1I0bXZhcDR4d1NiOUMKN3lidGhWVHlI
N3ovRHZ6QmxNdFJtSjVrekdud3h3Ti9GNkcrWXN4MTJvZjRMb0dlVVBxMTFSQ29YaUt0dTFxbGZN
ZmpjMm9zWGI2RwpBSmZCMzZFTm1tSjlyRlhYaFJPVU5JZUFGNkh4R1MyWTUrK2hjVDdHemZDV2JX
MFZxaUZRWmJnUGJWRHEvc3lBRHlnM0dQY0Y3M3NtClFMSmxGQ0hOVkxiUjVTMkJoSk90U2JQQ3Vj
Mmw5QzdOYjJtZm9keUcxb2RCcHhLcW1vS01aQk0wMzBtS3BBYTZ2L000Q3BkdktCZUQKd0N6TXRU
d3I2Z0hVaE5RU0JZZXFwbVUvQ09wZUtwMlA2WENaY3NGcGQ5NERMMTdpcWVWeldwcFNOTVpCalJ2
UmdtYXlDYU4xbHpCdgowMmVLYit5Z3RCYjl0d29Ec2dmMFRXVXR4a3c1RFdnbGJFbTB4Y09YWE5w
VTJTS1F0dmFiSUZkWmMyeUdaU3FtbVV2ZzMySGdYNVRICk1haWFQYzBkd1ZscXJHaUlWc3FYbkRZ
OG5CYzhqWGUxN1BPNStBR0czYkNiVXZtUkRqZE14ZEtNQ0xrOTdNaDlGeDA2MEg0TG12ZFQKN3Y3
RUc1dktuMkRvMm4yeXAwZXlRczFDaGdpd3RZMjVHYkFRV3A3L1ZCa1NpSlpvQXNZRHJSaFBJU1JE
U1IyL0R0Z05kdWlkOHExdAp1MGtHWEMyVEJnd0RzdEhNbk81RlBEaEdFbWViODE1QmV6UFNrTzRt
d1RsN0pzNFpnZSttc0huL01xUm5KMmhETG5qWjZXL1U5NmVPClg1UjhzNU4xRWZRZEpOVjFvYTNv
b2xyZm9UMUU4MG53RUsvRjRDMXUySkJ1YlYyVVJVZDZ2aFZzUjZHWjVveWNoM2dhYjJTUUxJRTkK
RWIyNW02eW1FOWpQaFNhWjRiUkZleU40TFRoSjh4ejhJZ0V4NjBpN0tGVmQ5L1pJbitzK1pYZzZ1
QXhqcmhGM0pYUnJlOXNQcVZISwpVOTkvRlU5NUFac2FHaVhydmRIR3FBWHk5R1RsK0RPOC9kWTIx
TWdlNGlGZTR1bWdLMlJUUTdvMEFYT3VWSW1UVzlXUndUNDNEM2c2CnVBeSt5L0NCSFU2YWxINzd1
alhGaHlHL1JGdmVoUUR2VWhBeVlOU0tEblM1eVZYRlY3WmVvemZxNnNMV2dld21vNkRnZ0E3R2FW
TmQKTVlkY1B2QWNiVGxnY3B4OERsU0dDS0k1R1R6RTZ6Z0hzb0lCY1p2V3dmZ3MyRjV4cHZqQUF2
ZjBScUVwK1Y1aHlNRXJLVEl4cnBKbApIZ0h0N3VMRzc4cDV4NDQ2eDVCWS9yTzh4TWNtbnZWLzZZ
ZDhkcWVaOGJOTDl6Y29Mc0J2anZkaGVLMUlRNUl0VG1hRktrS1pRMDQxClRWQmVVMlZJSUZxaUNS
Z1BzUmRQZ1dTSUE4ZkRrU1BtdVdWQ0ZmUGtjTWpOczdOcmhZRzBYaHcwVnVlTy9LRDdrQkx0TS9C
VFdLUU4KcFFEU2c0dUlPdVNqUEdDQWJ2enpERGlHUzNBQjNDcHQrZFZ5OHVXd2EvbjJJcHkwTDV1
WjRqM0IrRCtoL1dYUXZtMjhqS2RGczA0MwpCTklNZFB0dU1CZ2diaW9LZzh5OWxKQWVCdmtNRlFi
SlZ4SzRLWHE5OTFscDh3MTZ5SUNYZkRJUkJwVkV0QXNQZ1VleHRYY1JBdW1UCmlJdlJEQVgxS1c1
U29LZzRxckE5WHpoUUZNMytRQkVrRUx4NkppWTk5WUNXVG11cGpvaW9XYkRPRm5HeUkzSzV5bmZ0
Q0oxVHk5U1YKT0pERy9vbWltMXU0WlFxNzFrTHBxMHhNdTBrUkJqWVRtdkVvUTd5MmlzQzJiK2FI
Zk4xMWVHMmZiRmlFK0MyK1B5L1o4QkhmMzRlaApsdVV1eHN0dTJudXl3Y2JIUTNhZyswWUJwR1lN
NFVqSDJCWHp2SFNNOWVZcTRnUzJReS9TTWI2YjlweU9NV3J4Y0cxNXFDUVBRTXNBCkg0cjg4SXpi
V2V4WWNBZlBJbDhaTUJlbEo2eThyeWNuZHBld0dyQmtJVXZmcThxTXZJNFFpaHAwREF3R0YzaUNQ
cE4wK0pkK3NoVmgKZDRhdEZyVnovNUgzNk5uMmczaTk3Skt0bVY1ZVdZNXgwSklaamtlYlk5UUNT
eHR1d0w3Y1ZiMHkzemJIMk56S3RVMVZ0VGJINkxhegovZE90VEg1VW0yUGNYa3U5WDlvY1k2ODJ0
cXUzT2NidE5OUEV1NlBSNWhpYmVxbmJiWTZ4MXNWZWFtMk9zZFpXbTJPc2RURzQxalYwCm0yUHMx
MDZiWSt6WFNZMXBjNHkxTHJ4V2hlSnRqakhPRkV2UEtZL1UrMmVVTnNkSWluZmdINXJhSEdQL24r
TDhkNjhsUXY1WG1tUFUKWHpORzk3ZkIvd0ZaYmcwNUVFTnVOd0FBQUFCSlJVNUVya0pnZ2c9PQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394370</attachid>
            <date>2020-03-24 09:23:32 -0700</date>
            <delta_ts>2020-03-30 04:11:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200324182328.patch</filename>
            <type>text/plain</type>
            <size>144324</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEwNyBAQAorMjAyMC0wMy0yMyAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BhaW50LXRpbWluZy8jZmlyc3QtY29udGVudGZ1bC1wYWludC4KKyAgICAgICAgQ3VycmVu
dGx5IG11dHVhbGx5IGV4Y2x1c2l2ZSB0byB2aXN1YWxseS1ub24tZW1wdHkgaGV1cmlzdGljcy4K
KworICAgICAgICBXaGVuIHRoZSBmcmFtZSBwYWludHMgb3IgZmx1c2hlcyB0aGUgY29tcG9zaXRp
bmcgc3RhdGUsIGl0IG1hcmtzIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgYXMgYSBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IHBlcmZvcm1hbmNlIGVudHJ5LgorCisgICAgICAgIFRlc3RzOiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdmVyZmxvdy5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LW9wYWNpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXN2Zy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5o
dG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWlu
dC1mcmFtZXMuc3ViLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9wYWludC10
aW1pbmctYXBpcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCisKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1Bl
cmZvcm1hbmNlRW50cnlDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3Jl
YXRlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAg
ICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oOiAKKyAgICAgICAgKiBwYWdlL1Bl
cmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsOgorICAgICAgICAgICAgICAgIEFkZCBuZXcgUGVyZm9y
bWFuY2VQYWludFRpbWluZyBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpwYWludFRpbWluZ0VuYWJsZWQgY29uc3QpOgorICAgICAgICAgICAgICAgIEFk
ZCBQYWludFRpbWluZ0VuYWJsZWQgcnVudGltZSBmZWF0dXJlIGZsYWcuCisKKyAgICAgICAgKiBw
YWdlL1BlcmZvcm1hbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpnZXRF
bnRyaWVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpnZXRFbnRyaWVz
QnlUeXBlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpnZXRFbnRyaWVz
QnlOYW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpyZXBvcnRGaXJz
dENvbnRlbnRmdWxQYWludCk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5oOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyk6CisgICAgICAgICogcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc1BhaW50
IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6Cisg
ICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIHBhaW50IGVu
dHJpZXMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aXNDb250ZW50ZnVsIGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRWxlbWVudDo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
SFRNTENhbnZhczo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1h
Z2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6Omhhc093blBhaW50YWJsZUNv
bnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9i
amVjdDo6Y29udGFpbnNQYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVmlkZW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlkZW86Omhhc093
blBhaW50YWJsZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWRl
by5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aGFzUGFp
bnRhYmxlQmFja2dyb3VuZEltYWdlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR01vZGVsT2JqZWN0OjpoYXNPd25Q
YWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R01vZGVsT2JqZWN0Lmg6CisgICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciBjb21wdXRpbmcg
d2hldGhlciBlbGVtZW50cyBhcmUgY29udGVudGZ1bCAmIHBhaW50YWJsZS4KKworICAgICAgICAq
IHBhZ2UvRnJhbWVWaWV3Lmg6CitgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzRnJhbWUp
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpkaWRQYWludENvbnRlbnRzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bWFya1BhaW50VGltaW5nSWZOZWVkZWQpOgorICAgICAg
ICAgICAgICAgIE1hcmsgZmlyc3QtY29udGVudGZ1bC1wYWludCBvbmNlIHdoZW4gY29tcG9zaXRp
bmcvcGFpbnRpbmcuCisKIDIwMjAtMDMtMjMgIEFsaWNpYSBCb3lhIEdhcmPDrWEgIDxhYm95YUBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtNU0VdW0dTdHJlYW1lcl0gQ2xlYW4gYW5kIGV4cGxhaW4g
Zmlyc3Qgc2FtcGxlIFBUUyBoYWNrCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24g
MjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTkzNiw2ICs5MzYsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBh
Z2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdC5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwK
KyAgICBwYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRs
CiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtOTI2LDYgKzkyNiw3IEBAIEpTX0JJTkRJTkdf
SURMUyA9IFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwgXAog
ICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwgXAorICAg
ICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUp
L3BhZ2UvUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2Uv
UGVyZm9ybWFuY2VUaW1pbmcuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNTg4
NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzE5
Nyw2ICszMTk3LDcgQEAgSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCiBKU1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHAKIEpTUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAKK0pTUGVyZm9ybWFuY2VQYWludFRpbWluZy5jcHAK
IEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VTZXJ2ZXJUaW1p
bmcuY3BwCiBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjU4ODQ0KQor
KysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMzgwMiw2ICsxMzgwMiw5IEBACiAJCUNBMDkxRDg2MjNDRjkwNzgwMEFE
NDM0NiAvKiBTdHlsZUltYWdlU2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlSW1hZ2VT
ZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTA5MUQ4OTIzQ0Y5MDg4MDBB
RDQzNDYgLyogU3R5bGVJbWFnZVNldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHlsZUltYWdlU2V0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBMTYzNURDMjA3MkU3NjkwMEU3RDJDRSAv
KiBSZWZlcnJlclBvbGljeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBSZWZlcnJlclBvbGljeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkz
M0Q0MjQwN0NGNkYwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50RW50cnkuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUGVyZm9ybWFuY2VQYWludEVudHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUNBMTkzM0Q1MjQwN0Q2NDAwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQ0ExOTMzRDgyNDA3RURDRjAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1p
bmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTNCRjY3QjEwRDk5QkFFMDBF
NkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU2Nyb2xsQW5pbWF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xsQW5pbWF0b3IuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0E1MkJBRTUyM0QwQUYxNjAwREUwQjg0IC8qIFN0eWxlQ3Vyc29ySW1h
Z2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVDdXJzb3JJbWFnZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDk0OCw2ICsyMDk1MSw5IEBACiAJCQkJQTVBOTkzM0Ex
RTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuY3BwICovLAog
CQkJCUE1QTk5MzNCMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlM
aXN0LmggKi8sCiAJCQkJQTVBOTkzM0MxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QuaWRsICovLAorCQkJCUNBMTkzM0Q0MjQwN0NGNkYwMDcxMjQxQSAvKiBQ
ZXJmb3JtYW5jZVBhaW50RW50cnkuaCAqLywKKwkJCQlDQTE5MzNENTI0MDdENjQwMDA3MTI0MUEg
LyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovLAorCQkJCUNBMTkzM0Q4MjQwN0VEQ0YwMDcx
MjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLywKIAkJCQk4NjUxMkVEQjE1NEEy
QUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi8sCiAJCQkJODY1
MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCAqLywK
IAkJCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5pZGwgKi8sCkBAIC0zMzczMSw2ICszMzczNyw3IEBACiAJCQkJQTExRThDMDcxQjFFMjhGRTAw
MDNBN0M3IC8qIG5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZUN1cnNvci5wbmcgaW4gUmVzb3VyY2Vz
ICovLAogCQkJCUExMUU4QzA4MUIxRTI5MDIwMDAzQTdDNyAvKiBub3J0aFNvdXRoUmVzaXplQ3Vy
c29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJQTExRThDMDkxQjFFMjkwNzAwMDNBN0M3IC8q
IG5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZUN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAorCQkJ
CUNBMTkzM0Q5MjQwN0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCBp
biBSZXNvdXJjZXMgKi8sCiAJCQkJOTMxNTNCREMxNDE5NTlCQzAwRkNGNUJFIC8qIHRleHRBcmVh
UmVzaXplQ29ybmVyLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJOTM3MDkxOEQxNDE2RDg2QjAw
NDc3MzMzIC8qIHRleHRBcmVhUmVzaXplQ29ybmVyQDJ4LnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJ
CQkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5
Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1Bl
cmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNSw5ICszNSwxMSBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1
ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUu
aCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1Bl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIK
ICNpbmNsdWRlICJQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBh
aW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAK
QEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3
bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1h
bmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVy
Zm9ybWFuY2VQYWludFRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAg
ICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1
cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3Qs
IFdURk1vdmUoZW50cnkpKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUJ1aWx0aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xNzksNiArMTc5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1h
bmNlTWVhc3VyZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNy
byhQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQ
YWludFRpbWluZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAg
ICBtYWNybyhQZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVu
dCkgXApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjEwLDkgKzE2
MTAsOCBAQCBPcHRpb25hbDxzdGQ6OnBhaXI8UmVuZGVyT2JqZWN0KiwgRmxvYXRSCiAgICAgcmV0
dXJuIHN0ZDo6bWFrZV9wYWlyKHJlbmRlcmVyLCByZXN1bHQpOwogfQogCi1GbG9hdFJlY3QgRWxl
bWVudDo6Ym91bmRpbmdDbGllbnRSZWN0KCkKK0Zsb2F0UmVjdCBFbGVtZW50Ojpib3VuZGluZ0Ns
aWVudFJlY3RXaXRob3V0TGF5b3V0KCkKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dEln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogICAgIGF1dG8gcGFpciA9IGJvdW5kaW5nQWJzb2x1
dGVSZWN0V2l0aG91dExheW91dCgpOwogICAgIGlmICghcGFpcikKICAgICAgICAgcmV0dXJuIHsg
fTsKQEAgLTE2MjIsNiArMTYyMSwxMiBAQCBGbG9hdFJlY3QgRWxlbWVudDo6Ym91bmRpbmdDbGll
bnRSZWN0KCkKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitGbG9hdFJlY3QgRWxlbWVudDo6Ym91
bmRpbmdDbGllbnRSZWN0KCkKK3sKKyAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBl
bmRpbmdTdHlsZXNoZWV0cygpOworICAgIHJldHVybiBib3VuZGluZ0NsaWVudFJlY3RXaXRob3V0
TGF5b3V0KCk7Cit9CisKIFJlZjxET01SZWN0PiBFbGVtZW50OjpnZXRCb3VuZGluZ0NsaWVudFJl
Y3QoKQogewogICAgIHJldHVybiBET01SZWN0OjpjcmVhdGUoYm91bmRpbmdDbGllbnRSZWN0KCkp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xOTIsNiArMTkyLDcgQEAgcHVi
bGljOgogICAgIE9wdGlvbmFsPHN0ZDo6cGFpcjxSZW5kZXJPYmplY3QqLCBGbG9hdFJlY3Q+PiBi
b3VuZGluZ0Fic29sdXRlUmVjdFdpdGhvdXRMYXlvdXQoKTsKIAogICAgIFdFQkNPUkVfRVhQT1JU
IEZsb2F0UmVjdCBib3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICBGbG9hdFJlY3QgYm91bmRpbmdD
bGllbnRSZWN0V2l0aG91dExheW91dCgpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgUmVmPERPTVJl
Y3RMaXN0PiBnZXRDbGllbnRSZWN0cygpOwogICAgIFJlZjxET01SZWN0PiBnZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHJldmlzaW9uIDI1
ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNzEsNiArNzEsNyBAQAogI2luY2x1ZGUgIk92ZXJmbG93RXZlbnQuaCIKICNpbmNsdWRl
ICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZU92ZXJsYXlDb250cm9sbGVyLmgiCisjaW5jbHVkZSAi
UGVyZm9ybWFuY2UuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXIuaCIKICNpbmNsdWRlICJS
ZW5kZXJFbWJlZGRlZE9iamVjdC5oIgogI2luY2x1ZGUgIlJlbmRlckZ1bGxTY3JlZW4uaCIKQEAg
LTk4MSw2ICs5ODIsNyBAQCBib29sIEZyYW1lVmlldzo6Zmx1c2hDb21wb3NpdGluZ1N0YXRlRm9y
CiAjZW5kaWYKIAogICAgIHJlbmRlclZpZXctPmNvbXBvc2l0b3IoKS5mbHVzaFBlbmRpbmdMYXll
ckNoYW5nZXMoJnJvb3RGcmFtZUZvckZsdXNoID09IG1fZnJhbWUucHRyKCkpOworICAgIG1hcmtQ
YWludFRpbWluZ0lmTmVlZGVkKCk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTQwODcsNiAr
NDA4OSwzNiBAQCB2b2lkIEZyYW1lVmlldzo6d2lsbFBhaW50Q29udGVudHMoR3JhcGhpCiAgICAg
bV9pc1BhaW50aW5nID0gdHJ1ZTsKIH0KIAordm9pZCBGcmFtZVZpZXc6Om1hcmtQYWludFRpbWlu
Z0lmTmVlZGVkKCkKK3sKKyAgICBpZiAoIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkucGFpbnRUaW1pbmdFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlm
IChtX2RpZE1hcmtGaXJzdENvbnRlbnRmdWxQYWludCkKKyAgICAgICAgcmV0dXJuOworCisgICAg
aWYgKG1fZmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0TWlsZXN0b25lSXNQZW5kaW5nKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpZiAobmVlZHNMYXlvdXQoKSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgY29uc3QgYXV0byogZG9jdW1lbnQgPSBmcmFtZSgpLmRvY3VtZW50KCk7CisgICAgY29u
c3QgYXV0byogd2luZG93ID0gZG9jdW1lbnQtPmRvbVdpbmRvdygpOworICAgIGlmICghd2luZG93
KQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBPbmx5IGFsbG93aW5nIG1haW4gb3Igc2FtZS1v
cmlnaW4gZnJhbWVzIHRvIG1hcmsgcGFpbnQgdGltaW5nLCBvdGhlcndpc2UgbWFpbi1mcmFtZSBp
bmZvcm1hdGlvbiBtYXkgbGVhayB0byBjcm9zcy1vcmlnaW4gZnJhbWVzLgorICAgIGlmICghZnJh
bWUoKS5pc01haW5GcmFtZSgpICYmICFkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS5jYW5BY2Nl
c3MoZnJhbWUoKS5tYWluRnJhbWUoKS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaWYgKCFyZW5kZXJWaWV3KCktPmNvbnRhaW5zUGFpbnRhYmxl
Q29udGVudCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2RpZE1hcmtGaXJzdENvbnRlbnRm
dWxQYWludCA9IHRydWU7CisgICAgd2luZG93LT5wZXJmb3JtYW5jZSgpLnJlcG9ydEZpcnN0Q29u
dGVudGZ1bFBhaW50KCk7Cit9CisKIHZvaWQgRnJhbWVWaWV3OjpkaWRQYWludENvbnRlbnRzKEdy
YXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgSW50UmVjdCYgZGlydHlSZWN0LCBQYWludGlu
Z1N0YXRlJiBwYWludGluZ1N0YXRlKQogewogICAgIG1faXNQYWludGluZyA9IGZhbHNlOwpAQCAt
NDEwMSw2ICs0MTMzLDggQEAgdm9pZCBGcmFtZVZpZXc6OmRpZFBhaW50Q29udGVudHMoR3JhcGhp
YwogICAgICAgICBzQ3VycmVudFBhaW50VGltZVN0YW1wID0gTW9ub3RvbmljVGltZSgpOwogCiAg
ICAgaWYgKCFjb250ZXh0LnBhaW50aW5nRGlzYWJsZWQoKSkgeworICAgICAgICBpZiAocGFpbnRp
bmdTdGF0ZS5pc1RvcExldmVsUGFpbnRlcikKKyAgICAgICAgICAgIG1hcmtQYWludFRpbWluZ0lm
TmVlZGVkKCk7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUGFpbnQoKnJl
bmRlclZpZXcoKSwgZGlydHlSZWN0KTsKICAgICAgICAgLy8gRklYTUU6IHNob3VsZCBwcm9iYWJs
eSBub3QgZmlyZSBtaWxlc3RvbmVzIGZvciBzbmFwc2hvdCBwYWludGluZy4gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzYyMwogICAgICAgICBmaXJlUGFpbnRSZWxh
dGVkTWlsZXN0b25lc0lmTmVlZGVkKCk7CkBAIC01MTE4LDYgKzUxNTIsNyBAQCB2b2lkIEZyYW1l
Vmlldzo6ZmlyZUxheW91dFJlbGF0ZWRNaWxlc3RvCiAgICAgaWYgKG1pbGVzdG9uZXNBY2hpZXZl
ZCAmJiBmcmFtZSgpLmlzTWFpbkZyYW1lKCkpIHsKICAgICAgICAgaWYgKG1pbGVzdG9uZXNBY2hp
ZXZlZC5jb250YWlucyhEaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXQpKQogICAgICAgICAg
ICAgRlJBTUVWSUVXX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoTGF5b3V0LCAiZmlyZUxheW91dFJl
bGF0ZWRNaWxlc3RvbmVzSWZOZWVkZWQ6IEZpcmluZyBmaXJzdCB2aXN1YWxseSBub24tZW1wdHkg
bGF5b3V0IG1pbGVzdG9uZSBvbiB0aGUgbWFpbiBmcmFtZSIpOworCiAgICAgICAgIGZyYW1lKCku
bG9hZGVyKCkuZGlkUmVhY2hMYXlvdXRNaWxlc3RvbmUobWlsZXN0b25lc0FjaGlldmVkKTsKICAg
ICB9CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgJKHJldmlzaW9uIDI1ODg0NCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTgxNSw2
ICs4MTUsOSBAQCBwcml2YXRlOgogICAgIH07CiAgICAgdm9pZCBvdmVycmlkZVZpZXdwb3J0U2l6
ZUZvckNTU1ZpZXdwb3J0VW5pdHMoT3ZlcnJpZGVWaWV3cG9ydFNpemUpOwogCisgICAgdm9pZCBt
YXJrUGFpbnRUaW1pbmdJZk5lZWRlZCgpOworICAgIGJvb2wgbV9kaWRNYXJrRmlyc3RDb250ZW50
ZnVsUGFpbnQgeyBmYWxzZSB9OworCiAgICAgc3RhdGljIE1vbm90b25pY1RpbWUgc0N1cnJlbnRQ
YWludFRpbWVTdGFtcDsgLy8gdXNlZCBmb3IgZGV0ZWN0aW5nIGRlY29kZWQgcmVzb3VyY2UgdGhy
YXNoIGluIHRoZSBjYWNoZQogCiAgICAgY29uc3QgUmVmPEZyYW1lPiBtX2ZyYW1lOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0
Miw3IEBACiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgogI2luY2x1ZGUgIlBlcmZvcm1h
bmNlTmF2aWdhdGlvbi5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCIKKyNpbmNs
dWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVGltaW5nLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VVc2VyVGltaW5nLmgiCkBAIC0xMjQsNiArMTI1LDkgQEAgVmVjdG9yPFJlZlB0
cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybQogICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3Rv
cihtX3VzZXJUaW1pbmctPmdldE1lYXN1cmVzKCkpOwogICAgIH0KIAorICAgIGlmIChtX2ZpcnN0
Q29udGVudGZ1bFBhaW50KQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1
bFBhaW50KTsKKwogICAgIHN0ZDo6c29ydChlbnRyaWVzLmJlZ2luKCksIGVudHJpZXMuZW5kKCks
IFBlcmZvcm1hbmNlRW50cnk6OnN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbik7CiAgICAgcmV0dXJu
IGVudHJpZXM7CiB9CkBAIC0xMzUsNiArMTM5LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5j
ZUVudHJ5Pj4gUGVyZm9ybQogICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShl
bnRyeVR5cGUsICJyZXNvdXJjZSIpKQogICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3Jl
c291cmNlVGltaW5nQnVmZmVyKTsKIAorICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJ
Q2FzZShlbnRyeVR5cGUsICJwYWludCIpICYmIG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpCisgICAg
ICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworCiAgICAgaWYgKG1f
dXNlclRpbWluZykgewogICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
ZW50cnlUeXBlLCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV91
c2VyVGltaW5nLT5nZXRNYXJrcygpKTsKQEAgLTE1Nyw2ICsxNjQsOSBAQCBWZWN0b3I8UmVmUHRy
PFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3JtCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAo
KGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRy
eVR5cGUsICJwYWludCIpKSAmJiBuYW1lID09ICJmaXJzdC1jb250ZW50ZnVsLXBhaW50IiAmJiBt
X2ZpcnN0Q29udGVudGZ1bFBhaW50KQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29u
dGVudGZ1bFBhaW50KTsKKwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVu
dHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5
cGUsICJtYXJrIikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1p
bmctPmdldE1hcmtzKG5hbWUpKTsKQEAgLTE4MCw2ICsxOTAsMTIgQEAgdm9pZCBQZXJmb3JtYW5j
ZTo6c2V0UmVzb3VyY2VUaW1pbmdCdWZmZQogICAgIG1fcmVzb3VyY2VUaW1pbmdCdWZmZXJGdWxs
RmxhZyA9IGZhbHNlOwogfQogCit2b2lkIFBlcmZvcm1hbmNlOjpyZXBvcnRGaXJzdENvbnRlbnRm
dWxQYWludCgpCit7CisgICAgbV9maXJzdENvbnRlbnRmdWxQYWludCA9IFBlcmZvcm1hbmNlUGFp
bnRUaW1pbmc6OmNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KG5vdygpKTsKKyAgICBxdWV1ZUVu
dHJ5KCptX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKK30KKwogdm9pZCBQZXJmb3JtYW5jZTo6YWRk
UmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRpbWluZykKIHsKICAgICBB
U1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlLmgJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkV4Y2Vw
dGlvbk9yLmgiCiAjaW5jbHVkZSAiR2VuZXJpY1Rhc2tRdWV1ZS5oIgogI2luY2x1ZGUgPHd0Zi9M
aXN0SGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25TZXQuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC00NSw2ICs0Niw3IEBAIGNsYXNzIExvYWRUaW1pbmc7CiBjbGFzcyBQZXJm
b3JtYW5jZUVudHJ5OwogY2xhc3MgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOwogY2xhc3MgUGVyZm9y
bWFuY2VPYnNlcnZlcjsKK2NsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc7CiBjbGFzcyBQZXJm
b3JtYW5jZVRpbWluZzsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVRp
bWluZzsKQEAgLTc3LDYgKzc5LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGRSZXNvdXJjZVRp
bWluZyhSZXNvdXJjZVRpbWluZyYmKTsKIAorICAgIHZvaWQgcmVwb3J0Rmlyc3RDb250ZW50ZnVs
UGFpbnQoKTsKKwogICAgIHZvaWQgcmVtb3ZlQWxsT2JzZXJ2ZXJzKCk7CiAgICAgdm9pZCByZWdp
c3RlclBlcmZvcm1hbmNlT2JzZXJ2ZXIoUGVyZm9ybWFuY2VPYnNlcnZlciYpOwogICAgIHZvaWQg
dW5yZWdpc3RlclBlcmZvcm1hbmNlT2JzZXJ2ZXIoUGVyZm9ybWFuY2VPYnNlcnZlciYpOwpAQCAt
MTIxLDYgKzEyNSw3IEBAIHByaXZhdGU6CiAKICAgICBNb25vdG9uaWNUaW1lIG1fdGltZU9yaWdp
bjsKIAorICAgIFJlZlB0cjxQZXJmb3JtYW5jZVBhaW50VGltaW5nPiBtX2ZpcnN0Q29udGVudGZ1
bFBhaW50OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxVc2VyVGltaW5nPiBtX3VzZXJUaW1pbmc7CiAK
ICAgICBHZW5lcmljVGFza1F1ZXVlPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ+IG1fcGVyZm9ybWFu
Y2VUaW1lbGluZVRhc2tRdWV1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VFbnRyeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5LmNwcAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZUVudHJ5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsMTEgQEAgT3B0aW9u
YWw8UGVyZm9ybWFuY2VFbnRyeTo6VHlwZT4gUGVyZm9ybQogICAgICAgICAgICAgcmV0dXJuIE9w
dGlvbmFsPFR5cGU+KFR5cGU6OlJlc291cmNlKTsKICAgICB9CiAKKyAgICBpZiAoUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQoKSkgewor
ICAgICAgICBpZiAoZW50cnlUeXBlID09ICJwYWludCIpCisgICAgICAgICAgICByZXR1cm4gT3B0
aW9uYWw8VHlwZT4oVHlwZTo6UGFpbnQpOworICAgIH0KKwogICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCShyZXZp
c2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAko
d29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBAQCBwdWJsaWM6CiAgICAgICAgIE1hcmsgPSAx
IDw8IDEsCiAgICAgICAgIE1lYXN1cmUgPSAxIDw8IDIsCiAgICAgICAgIFJlc291cmNlID0gMSA8
PCAzLAorICAgICAgICBQYWludCA9IDEgPDwgNAogICAgIH07CiAKICAgICB2aXJ0dWFsIFR5cGUg
dHlwZSgpIGNvbnN0ID0gMDsKQEAgLTYyLDYgKzYzLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNS
ZXNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpSZXNvdXJjZTsgfQogICAg
IGJvb2wgaXNNYXJrKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1hcms7IH0KICAg
ICBib29sIGlzTWVhc3VyZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNZWFzdXJl
OyB9CisgICAgYm9vbCBpc1BhaW50KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OlBh
aW50OyB9CiAKICAgICBzdGF0aWMgYm9vbCBzdGFydFRpbWVDb21wYXJlTGVzc1RoYW4oY29uc3Qg
UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+JiBhLCBjb25zdCBSZWZQdHI8UGVyZm9ybWFuY2VFbnRy
eT4mIGIpCiAgICAgewpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2Vy
dmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuY3BwCShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlT2JzZXJ2ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjAsNiArMTIwLDcgQEAgVmVj
dG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcAogICAgICAgICAvLyAibmF2aWdh
dGlvbiJfcywKICAgICAgICAgIm1hcmsiX3MsCiAgICAgICAgICJtZWFzdXJlIl9zLAorICAgICAg
ICAicGFpbnQiX3MsCiAgICAgICAgICJyZXNvdXJjZSJfcwogICAgIH07CiB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lN
ZWRpYSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVyZm9y
bWFuY2VFbnRyeS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgZmluYWwgOiBwdWJs
aWMgUGVyZm9ybWFuY2VFbnRyeSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5j
ZVBhaW50VGltaW5nPiBjcmVhdGVGaXJzdENvbnRlbnRmdWxQYWludChkb3VibGUgdGltZVN0YW1w
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VQYWludFRp
bWluZygiZmlyc3QtY29udGVudGZ1bC1wYWludCJfcywgdGltZVN0YW1wKSk7CisgICAgfQorCitw
cml2YXRlOgorICAgIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoY29uc3QgU3RyaW5nJiBuYW1lLCBk
b3VibGUgdGltZVN0YW1wKQorICAgICAgICA6IFBlcmZvcm1hbmNlRW50cnkobmFtZSwgdGltZVN0
YW1wLCB0aW1lU3RhbXApCisgICAgeworICAgIH0KKworICAgIEFTQ0lJTGl0ZXJhbCBlbnRyeVR5
cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiAicGFpbnQiX3M7IH0KKyAgICBUeXBlIHR5cGUoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBUeXBlOjpQYWludDsgfQorCisgICAgflBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcoKSA9IGRlZmF1bHQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQ
RUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6UGVyZm9ybWFuY2VQYWludFRpbWlu
ZykKKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRy
eSYgZW50cnkpIHsgcmV0dXJuIGVudHJ5LmlzUGFpbnQoKTsgfQorU1BFQ0lBTElaRV9UWVBFX1RS
QUlUU19FTkQoKQoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZVBhaW50VGltaW5nLmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMg
LTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwJKG5vbmV4aXN0
ZW50KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIw
IFdpa2lNZWRpYSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL3BhaW50LXRpbWluZy8KKwordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFt
cDsKKworWworICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGFpbnRUaW1pbmcsCisgICAgRXhwb3NlZD0o
V2luZG93KSwKK10gaW50ZXJmYWNlIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgOiBQZXJmb3JtYW5j
ZUVudHJ5IHsKK307CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxl
CiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHJldmlzaW9u
IDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5o
CSh3b3JraW5nIGNvcHkpCkBAIC02Miw2ICs2Miw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVz
ZXJUaW1pbmdFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNVc2VyVGltaW5nRW5hYmxlZCA9
IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgdXNlclRpbWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVy
biBtX2lzVXNlclRpbWluZ0VuYWJsZWQ7IH0KIAorICAgIHZvaWQgc2V0UGFpbnRUaW1pbmdFbmFi
bGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNQYWludFRpbWluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7
IH0KKyAgICBib29sIHBhaW50VGltaW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNQYWlu
dFRpbWluZ0VuYWJsZWQ7IH0KKwogICAgIGJvb2wgcGVyZm9ybWFuY2VUaW1lbGluZUVuYWJsZWQo
KSBjb25zdCB7IHJldHVybiByZXNvdXJjZVRpbWluZ0VuYWJsZWQoKSB8fCB1c2VyVGltaW5nRW5h
YmxlZCgpOyB9CiAKICAgICB2b2lkIHNldFNoYWRvd0RPTUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQp
IHsgbV9pc1NoYWRvd0RPTUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KQEAgLTQyNCw2ICs0MjcsNyBA
QCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0xpbmtQcmVsb2FkRW5hYmxlZCB7IHRydWUgfTsKICAg
ICBib29sIG1faXNMaW5rUHJlZmV0Y2hFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNN
ZWRpYVByZWxvYWRpbmdFbmFibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNQYWludFRpbWlu
Z0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1Jlc291cmNlVGltaW5nRW5hYmxlZCB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzVXNlclRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9pc0ludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkIHsgZmFsc2UgfTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAJKHJldmlzaW9u
IDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzI5LDYgKzMyOSw1MCBAQCBTdHlsZURpZmZlcmVuY2UgUmVuZGVy
RWxlbWVudDo6YWRqdXN0U3R5CiAgICAgcmV0dXJuIGRpZmY7CiB9CiAKK2Jvb2wgUmVuZGVyRWxl
bWVudDo6Y29udGFpbnNQYWludGFibGVDb250ZW50KCkgY29uc3QKK3sKKyAgICBpZiAoIW9wYWNp
dHkoKSB8fCBpc1NWR0hpZGRlbkNvbnRhaW5lcigpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBhdXRvIGhhc1BvdGVudGlhbGx5VmlzaWJsZVJlZ2lvbnMgPSBbJl0oKSB7CisgICAgICAg
IGlmIChzdHlsZSgpLnZpc2liaWxpdHkoKSAhPSBWaXNpYmlsaXR5OjpWaXNpYmxlKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGF1dG8gZG9jdW1lbnRSZWN0ID0gdmlldygp
LmRvY3VtZW50UmVjdCgpOworCisgICAgICAgIGlmIChhdXRvKiBjdXJyZW50ID0gZWxlbWVudCgp
KQorICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnQtPmJvdW5kaW5nQ2xpZW50UmVjdFdpdGhvdXRM
YXlvdXQoKS5pbnRlcnNlY3RzKGRvY3VtZW50UmVjdCk7CisKKyAgICAgICAgcmV0dXJuIGlzVmlz
aWJsZUluRG9jdW1lbnRSZWN0KGRvY3VtZW50UmVjdCk7CisgICAgfTsKKworICAgIGlmIChpc0Nv
bnRlbnRmdWwoKSAmJiBoYXNQb3RlbnRpYWxseVZpc2libGVSZWdpb25zKCkpCisgICAgICAgIHJl
dHVybiB0cnVlOworCisgICAgZm9yIChjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlck9iamVjdCA9
IGZpcnN0Q2hpbGQoKTsgcmVuZGVyT2JqZWN0OyByZW5kZXJPYmplY3QgPSByZW5kZXJPYmplY3Qt
Pm5leHRTaWJsaW5nKCkpIHsKKyAgICAgICAgaWYgKHJlbmRlck9iamVjdC0+Y29udGFpbnNQYWlu
dGFibGVDb250ZW50KCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgUmVuZGVyRWxlbWVudDo6aXNDb250ZW50ZnVsKCkgY29u
c3QKK3sKKyAgICBpZiAoaGFzT3duUGFpbnRhYmxlQ29udGVudCgpKQorICAgICAgICByZXR1cm4g
dHJ1ZTsKKworICAgIGlmIChzdHlsZSgpLmhhc1BhaW50YWJsZUJhY2tncm91bmRJbWFnZSgpKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGZvciAoYXV0byYgY2hpbGQgOiBjaGlsZHJlbk9m
VHlwZTxSZW5kZXJPYmplY3Q+KCp0aGlzKSkgeworICAgICAgICBpZiAoaXM8UmVuZGVyVGV4dD4o
Y2hpbGQpICYmICFkb3duY2FzdDxSZW5kZXJUZXh0PihjaGlsZCkuaXNBbGxDb2xsYXBzaWJsZVdo
aXRlc3BhY2UoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVy
biBmYWxzZTsKK30KKwogaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6aGFzSW1tZWRpYXRlTm9u
V2hpdGVzcGFjZVRleHRDaGlsZE9yQm9yZGVyT3JPdXRsaW5lKCkgY29uc3QKIHsKICAgICBmb3Ig
KGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8UmVuZGVyT2JqZWN0PigqdGhpcykpIHsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAkocmV2aXNpb24gMjU4
ODQ0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTAwLDYgKzEwMCw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBk
aXJ0eUxpbmVzRnJvbUNoYW5nZWRDaGlsZChSZW5kZXJPYmplY3QmKSB7IH0KIAorICAgIHZpcnR1
YWwgYm9vbCBoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
KwogICAgIGJvb2wgYW5jZXN0b3JMaW5lQm94RGlydHkoKSBjb25zdCB7IHJldHVybiBtX2FuY2Vz
dG9yTGluZUJveERpcnR5OyB9CiAgICAgdm9pZCBzZXRBbmNlc3RvckxpbmVCb3hEaXJ0eShib29s
IGYgPSB0cnVlKTsKIApAQCAtMTM5LDYgKzE0MSw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzVHJh
bnNwYXJlbnQoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLm9wYWNpdHkoKSA8IDEuMGY7IH0KICAg
ICBmbG9hdCBvcGFjaXR5KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5vcGFjaXR5KCk7IH0KIAor
ICAgIGJvb2wgY29udGFpbnNQYWludGFibGVDb250ZW50KCkgY29uc3QgZmluYWw7CisKICAgICBi
b29sIHZpc2libGVUb0hpdFRlc3RpbmcoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLnZpc2liaWxp
dHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlICYmIHN0eWxlKCkucG9pbnRlckV2ZW50cygpICE9
IFBvaW50ZXJFdmVudHM6Ok5vbmU7IH0KIAogICAgIGJvb2wgaGFzQmFja2dyb3VuZCgpIGNvbnN0
IHsgcmV0dXJuIHN0eWxlKCkuaGFzQmFja2dyb3VuZCgpOyB9CkBAIC0zMTYsNiArMzIwLDggQEAg
cHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IGNvbXB1dGVGaXJzdExp
bmVTdHlsZSgpIGNvbnN0OwogICAgIHZvaWQgaW52YWxpZGF0ZUNhY2hlZEZpcnN0TGluZVN0eWxl
KCk7CiAKKyAgICBib29sIGlzQ29udGVudGZ1bCgpIGNvbnN0OworCiAgICAgYm9vbCBjYW5EZXN0
cm95RGVjb2RlZERhdGEoKSBmaW5hbCB7IHJldHVybiAhaXNWaXNpYmxlSW5WaWV3cG9ydCgpOyB9
CiAgICAgVmlzaWJsZUluVmlld3BvcnRTdGF0ZSBpbWFnZUZyYW1lQXZhaWxhYmxlKENhY2hlZElt
YWdlJiwgSW1hZ2VBbmltYXRpbmdTdGF0ZSwgY29uc3QgSW50UmVjdCogY2hhbmdlUmVjdCkgZmlu
YWw7CiAgICAgdm9pZCBkaWRSZW1vdmVDYWNoZWRJbWFnZUNsaWVudChDYWNoZWRJbWFnZSYpIGZp
bmFsOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFz
LmNwcAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckhUTUxDYW52YXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCwxMSBAQCBSZW5kZXJI
VE1MQ2FudmFzOjpSZW5kZXJIVE1MQ2FudmFzKEhUTUxDCiB7CiB9CiAKK2Jvb2wgUmVuZGVySFRN
TENhbnZhczo6aGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuICEh
Y2FudmFzRWxlbWVudCgpLnJlbmRlcmluZ0NvbnRleHQoKTsKK30KKwogSFRNTENhbnZhc0VsZW1l
bnQmIFJlbmRlckhUTUxDYW52YXM6OmNhbnZhc0VsZW1lbnQoKSBjb25zdAogewogICAgIHJldHVy
biBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4obm9kZUZvck5vbkFub255bW91cygpKTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaAkocmV2aXNp
b24gMjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMu
aAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZWxl
bWVudCgpIGNvbnN0ID0gZGVsZXRlOwogICAgIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0IG92
ZXJyaWRlOwogICAgIGJvb2wgaXNDYW52YXMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVl
OyB9CisgICAgYm9vbCBoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJSZW5k
ZXJIVE1MQ2FudmFzIjsgfQogICAgIHZvaWQgcGFpbnRSZXBsYWNlZChQYWludEluZm8mLCBjb25z
dCBMYXlvdXRQb2ludCYpIG92ZXJyaWRlOwogICAgIHZvaWQgaW50cmluc2ljU2l6ZUNoYW5nZWQo
KSBvdmVycmlkZSB7IGNhbnZhc1NpemVDaGFuZ2VkKCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzM5LDYg
KzMzOSwxMSBAQCB2b2lkIFJlbmRlckltYWdlOjp1cGRhdGVJbnRyaW5zaWNTaXplSWZOCiAgICAg
c2V0SW50cmluc2ljU2l6ZShuZXdTaXplKTsKIH0KIAorYm9vbCBSZW5kZXJJbWFnZTo6aGFzT3du
UGFpbnRhYmxlQ29udGVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1faW1hZ2VSZXNvdXJjZS0+
Y2FjaGVkSW1hZ2UoKSAmJiAhbV9pbWFnZVJlc291cmNlLT5pbWFnZVNpemUoMSkuaXNFbXB0eSgp
OworfQorCiB2b2lkIFJlbmRlckltYWdlOjp1cGRhdGVJbm5lckNvbnRlbnRSZWN0KCkKIHsKICAg
ICAvLyBQcm9wYWdhdGUgY29udGFpbmVyIHNpemUgdG8gaW1hZ2UgcmVzb3VyY2UuCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAkocmV2aXNpb24gMjU4ODQ0KQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTc2LDYgKzc2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZERpc3BsYXlC
cm9rZW5JbWFnZUljb24oKSBjb25zdDsKIAorICAgIGJvb2wgaGFzT3duUGFpbnRhYmxlQ29udGVu
dCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaGFzTm9uQml0bWFwSW1hZ2UoKSBjb25zdDsK
IAogICAgIGJvb2wgaXNFZGl0YWJsZUltYWdlKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3OCw2ICsy
NzgsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJTY3JvbGxiYXJQYXJ0
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIHZpcnR1YWwgYm9vbCBjb250YWluc1Bh
aW50YWJsZUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCiAgICAgYm9vbCBpc0Rv
Y3VtZW50RWxlbWVudFJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gZG9jdW1lbnQoKS5kb2N1bWVu
dEVsZW1lbnQoKSA9PSAmbV9ub2RlOyB9CiAgICAgYm9vbCBpc0JvZHkoKSBjb25zdCB7IHJldHVy
biBub2RlKCkgJiYgbm9kZSgpLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6Ym9keVRhZyk7IH0KICAg
ICBib29sIGlzSFIoKSBjb25zdCB7IHJldHVybiBub2RlKCkgJiYgbm9kZSgpLT5oYXNUYWdOYW1l
KEhUTUxOYW1lczo6aHJUYWcpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVmlkZW8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJWaWRlby5jcHAJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJWaWRlby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkyLDYgKzkyLDE0IEBAIHZvaWQg
UmVuZGVyVmlkZW86OmludHJpbnNpY1NpemVDaGFuZ2VkKCkKICAgICB1cGRhdGVJbnRyaW5zaWNT
aXplKCk7IAogfQogCitib29sIFJlbmRlclZpZGVvOjpoYXNPd25QYWludGFibGVDb250ZW50KCkg
Y29uc3QKK3sKKyAgICBpZiAodmlkZW9FbGVtZW50KCkuc2hvdWxkRGlzcGxheVBvc3RlckltYWdl
KCkpCisgICAgICAgIHJldHVybiBSZW5kZXJJbWFnZTo6aGFzT3duUGFpbnRhYmxlQ29udGVudCgp
OworCisgICAgcmV0dXJuIHZpZGVvRWxlbWVudCgpLnJlYWR5U3RhdGUoKSA+IEhUTUxNZWRpYUVs
ZW1lbnRFbnVtczo6SEFWRV9NRVRBREFUQTsKK30KKwogYm9vbCBSZW5kZXJWaWRlbzo6dXBkYXRl
SW50cmluc2ljU2l6ZSgpCiB7CiAgICAgTGF5b3V0U2l6ZSBzaXplID0gY2FsY3VsYXRlSW50cmlu
c2ljU2l6ZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmgJKHJl
dmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5o
CSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2Nyw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIHJl
cXVpcmVzTGF5ZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAgICAgYm9vbCBpc1Zp
ZGVvKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIGJvb2wgaGFzT3duUGFpbnRh
YmxlQ29udGVudCgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdm9pZCBwYWludFJlcGxhY2VkKFBh
aW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50JikgZmluYWw7CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwCShyZXZpc2lvbiAyNTg4NDQpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzQwLDYgKzM0MCwxNSBAQCBib29sIEZpbGxMYXllcjo6Y29udGFpbnNJbWFnZShT
dHlsZUltYWdlCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEZpbGxMYXllcjo6aGFzTG9h
ZGVkQ2FjaGVkSW1hZ2UoKSBjb25zdAoreworICAgIGZvciAoYXV0byogbGF5ZXIgPSB0aGlzOyBs
YXllcjsgbGF5ZXIgPSBsYXllci0+bV9uZXh0LmdldCgpKSB7CisgICAgICAgIGlmIChsYXllci0+
bV9pbWFnZSAmJiBsYXllci0+bV9pbWFnZS0+aXNMb2FkZWQoKSAmJiBsYXllci0+bV9pbWFnZS0+
aGFzQ2FjaGVkSW1hZ2UoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgRmlsbExheWVyOjppbWFnZXNBcmVMb2FkZWQoKSBjb25z
dAogewogICAgIGZvciAoYXV0byogbGF5ZXIgPSB0aGlzOyBsYXllcjsgbGF5ZXIgPSBsYXllci0+
bV9uZXh0LmdldCgpKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmls
bExheWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Zp
bGxMYXllci5oCShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvRmlsbExheWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NSw2ICsxNDUsNyBAQCBwdWJs
aWM6CiAKICAgICBib29sIGNvbnRhaW5zSW1hZ2UoU3R5bGVJbWFnZSYpIGNvbnN0OwogICAgIGJv
b2wgaW1hZ2VzQXJlTG9hZGVkKCkgY29uc3Q7CisgICAgYm9vbCBoYXNMb2FkZWRDYWNoZWRJbWFn
ZSgpIGNvbnN0OwogICAgIGJvb2wgaGFzSW1hZ2UoKSBjb25zdCB7IHJldHVybiBtX25leHQgPyBo
YXNJbWFnZUluQW55TGF5ZXIoKSA6IG1faW1hZ2U7IH0KICAgICBib29sIGhhc0ZpeGVkSW1hZ2Uo
KSBjb25zdDsKICAgICBib29sIGhhc09wYXF1ZUltYWdlKGNvbnN0IFJlbmRlckVsZW1lbnQmKSBj
b25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmNwcAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgwLDYgKzU4MCwyMSBAQCBi
b29sIFJlbmRlclN0eWxlOjppc0lkZW1wb3RlbnRUZXh0QXV0b3NpCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKK2Jvb2wgUmVuZGVyU3R5bGU6Omhhc1BhaW50YWJsZUJhY2tncm91bmRJbWFnZSgpIGNv
bnN0Cit7CisgICAgaWYgKCFoYXNCYWNrZ3JvdW5kSW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgY29uc3QgRmlsbExheWVyJiBiYWNrZ3JvdW5kID0gYmFja2dyb3VuZExheWVy
cygpOworICAgIGlmICghYmFja2dyb3VuZC5oYXNMb2FkZWRDYWNoZWRJbWFnZSgpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoYmFja2dyb3VuZFNpemVMZW5ndGgoKS5pc0VtcHR5
KCkgJiYgYmFja2dyb3VuZFNpemVUeXBlKCkgPT0gRmlsbFNpemVUeXBlOjpTaXplKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogQXV0b3NpemVTdGF0dXMg
UmVuZGVyU3R5bGU6OmF1dG9zaXplU3RhdHVzKCkgY29uc3QKIHsKICAgICByZXR1cm4gT3B0aW9u
U2V0PEF1dG9zaXplU3RhdHVzOjpGaWVsZHM+Ojpmcm9tUmF3KG1faW5oZXJpdGVkRmxhZ3MuYXV0
b3NpemVTdGF0dXMpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmgJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MTUsNiArNDE1LDcgQEAg
cHVibGljOgogICAgIGNvbnN0IExlbmd0aFNpemUmIGJhY2tncm91bmRTaXplTGVuZ3RoKCkgY29u
c3QgeyByZXR1cm4gbV9iYWNrZ3JvdW5kRGF0YS0+YmFja2dyb3VuZC5zaXplTGVuZ3RoKCk7IH0K
ICAgICBGaWxsTGF5ZXImIGVuc3VyZUJhY2tncm91bmRMYXllcnMoKSB7IHJldHVybiBtX2JhY2tn
cm91bmREYXRhLmFjY2VzcygpLmJhY2tncm91bmQ7IH0KICAgICBjb25zdCBGaWxsTGF5ZXImIGJh
Y2tncm91bmRMYXllcnMoKSBjb25zdCB7IHJldHVybiBtX2JhY2tncm91bmREYXRhLT5iYWNrZ3Jv
dW5kOyB9CisgICAgYm9vbCBoYXNQYWludGFibGVCYWNrZ3JvdW5kSW1hZ2UoKSBjb25zdDsKIAog
ICAgIFN0eWxlSW1hZ2UqIG1hc2tJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVy
aXRlZERhdGEtPm1hc2suaW1hZ2UoKTsgfQogICAgIEZpbGxSZXBlYXQgbWFza1JlcGVhdFgoKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxGaWxsUmVwZWF0PihtX3JhcmVOb25Jbmhlcml0ZWRE
YXRhLT5tYXNrLnJlcGVhdFgoKSk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuY3BwCShyZXZpc2lvbiAyNTg4NDQp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTU4LDYgKzE1OCwxMSBAQCBzdGF0aWMgYm9vbCBpc0dyYXBo
aWNzRWxlbWVudChjb25zdCBSZW5kCiAgICAgcmV0dXJuIHJlbmRlcmVyLmlzU1ZHU2hhcGUoKSB8
fCByZW5kZXJlci5pc1NWR1RleHQoKSB8fCByZW5kZXJlci5pc1NWR0ltYWdlKCkgfHwgcmVuZGVy
ZXIuZWxlbWVudCgpLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp1c2VUYWcpOwogfQogCitib29sIFJl
bmRlclNWR01vZGVsT2JqZWN0OjpoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gaXNHcmFwaGljc0VsZW1lbnQoKnRoaXMpOworfQorCiAvLyBUaGUgU1ZHIGFkZEZv
Y3VzUmluZ1JlY3RzKCkgbWV0aG9kIGFkZHMgcmVjdHMgaW4gbG9jYWwgY29vcmRpbmF0ZXMgc28g
dGhlIGRlZmF1bHQgYWJzb2x1dGVGb2N1c1JpbmdRdWFkcwogLy8gcmV0dXJucyBpbmNvcnJlY3Qg
dmFsdWVzIGZvciBTVkcgb2JqZWN0cy4gT3ZlcnJpZGluZyB0aGlzIG1ldGhvZCBwcm92aWRlcyBh
Y2Nlc3MgdG8gdGhlIGFic29sdXRlIGJvdW5kcy4KIHZvaWQgUmVuZGVyU1ZHTW9kZWxPYmplY3Q6
OmFic29sdXRlRm9jdXNSaW5nUXVhZHMoVmVjdG9yPEZsb2F0UXVhZD4mIHF1YWRzKQpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmpl
Y3QuaAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdNb2RlbE9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2OSw3IEBAIHBy
b3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICBib29sIGlzUmVuZGVyU1ZHTW9kZWxPYmplY3QoKSBj
b25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisgICAgYm9vbCBoYXNPd25QYWludGFibGVDb250
ZW50KCkgY29uc3QgZmluYWw7CiAKICAgICAvLyBUaGlzIG1ldGhvZCBzaG91bGQgbmV2ZXIgYmUg
Y2FsbGVkLCBTVkcgdXNlcyBhIGRpZmZlcmVudCBub2RlQXRQb2ludCBtZXRob2QKICAgICBib29s
IG5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0
IEhpdFRlc3RMb2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQm
IGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0QWN0aW9uKSBvdmVycmlkZTsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDIwLTAzLTIzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1A
d2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBh
aW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4
NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGEgcnVudGltZSBmbGFnIGZvciBwYWludC10aW1pbmcgKHBhaW50VGltaW5nRW5hYmxlZCkuCisK
KyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0UGFp
bnRUaW1pbmdFbmFibGVkKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNHZXRQYWludFRpbWluZ0Vu
YWJsZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0
ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29u
bmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uOjp1cGRhdGVQcmVmZXJlbmNlc1N0b3JlKToKKwogMjAyMC0wMy0yMyAgSmFjb2IgVXBob2Zm
ICA8amFjb2JfdXBob2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRp
bmcgcjI1ODgwMy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlh
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFt
bAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXMueWFtbAkod29ya2luZyBjb3B5KQpAQCAtODM5LDYgKzgzOSwxMyBAQCBVc2VyVGltaW5nRW5h
YmxlZDoKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFVzZXJUaW1pbmcgQVBJ
IgogICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCitQYWludFRpbWlu
Z0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiB0cnVlCisgIGh1bWFuUmVh
ZGFibGVOYW1lOiAiUGFpbnQgVGltaW5nIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJF
bmFibGUgUGFpbnQgVGltaW5nIEFQSSIKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMKKwogQmVhY29uQVBJRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFs
dWU6IHRydWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgxOSw2ICsxODE5
LDE2IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFcKICAgICByZXR1
cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+dXNlclRpbWluZ0VuYWJsZWQoKTsKIH0KIAordm9p
ZCBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5z
ZXRQYWludFRpbWluZ0VuYWJsZWQoZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFBh
aW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAg
IHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5wYWludFRpbWluZ0VuYWJsZWQoKTsKK30K
Kwogdm9pZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0ltcGwocHJlZmVyZW5j
ZXNSZWYpLT5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoZmxhZyk7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRl
LmgJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXNSZWZQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwMCw2ICs1MDAsMTAg
QEAgV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbgogV0tfRVhQT1JUIGJv
b2wgV0tQcmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwog
CiAvLyBEZWZhdWx0cyB0byBmYWxzZQorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFBh
aW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOworV0tfRVhQT1JU
IGJvb2wgV0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVm
KTsKKworLy8gRGVmYXVsdHMgdG8gZmFsc2UKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdL
X0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVm
ZXJlbmNlc1JlZik7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAJ
KHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIyLDYg
KzEyMiw3IEBAIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGEKICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENhY2hlQVBJRW5hYmxl
ZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNhY2hlQVBJRW5h
YmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zZXRGZXRjaEFQSUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5OjpmZXRjaEFQSUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp1c2VyVGltaW5nRW5hYmxlZEtleSgpKSk7Cisg
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWlu
Z0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYWlu
dFRpbWluZ0VuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZv
cktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVzb3VyY2VUaW1pbmdFbmFibGVkS2V5KCkpKTsKICAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJS2Vl
cEFsaXZlRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6
OmZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVzdHJpY3RlZEhUVFBS
ZXNwb25zZUFjY2Vzc0tleSgpKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNTg4NDQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wMy0yMyAgTm9hbSBSb3NlbnRoYWwg
IDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVu
dGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBhIHByZWZlcmVuY2Uga2V5IGZvciBwYWludCB0aW1pbmcuCisKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToK
KyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgcGFpbnRUaW1pbmdFbmFibGVkXSk6CisgICAgICAg
ICgtW1dlYlByZWZlcmVuY2VzIHNldFBhaW50VGltaW5nRW5hYmxlZDpdKToKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmll
dy5tbToKKwogMjAyMC0wMy0yMCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAog
ICAgICAgICBFbnN1cmUgbWVkaWEgY2FjaGUgZGlyZWN0b3J5IGlzIGNyZWF0ZWQgYmVmb3JlIHBh
c3NpbmcgdG8gQVZVUkxBc3NldC4KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24g
MjU4ODQ0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjYwLDYgKzI2MCw3IEBACiAjZGVmaW5l
IFdlYktpdEF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRBdHRh
Y2htZW50RWxlbWVudEVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdEludGVyc2VjdGlvbk9ic2VydmVy
RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQi
CiAjZGVmaW5lIFdlYktpdE1lbnVJdGVtRWxlbWVudEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2Vi
S2l0TWVudUl0ZW1FbGVtZW50RW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0UGFpbnRUaW1pbmdFbmFi
bGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFBhaW50VGltaW5nRW5hYmxlZCIKICNkZWZpbmUgV2Vi
S2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VXNlclRpbWluZ0VuYWJs
ZWQiCiAjZGVmaW5lIFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdE1lZGlhQ29udGVudFR5
cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0UHJlZmVyZW5jZUtleSBAIldlYktpdE1lZGlhQ29u
dGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0IgpJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCShyZXZpc2lvbiAyNTg4
NDQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC02ODMsNiArNjgzLDcgQEAgKyAodm9pZClpbml0aWFsaXplCiAj
aWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKICAgICAgICAgQE5PLCBXZWJLaXRJbnRl
cnNlY3Rpb25PYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5LAogI2VuZGlmCisgICAgICAgIEBO
TywgV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBX
ZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0
UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRN
ZWRpYVVzZXJHZXN0dXJlSW5oZXJpdHNGcm9tRG9jdW1lbnQsCkBAIC0zMzA4LDYgKzMzMDksMTYg
QEAgLSAodm9pZClzZXRVc2VyVGltaW5nRW5hYmxlZDooQk9PTClmbGFnCiAgICAgW3NlbGYgX3Nl
dEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXldOwogfQogCistIChCT09MKXBhaW50VGltaW5nRW5hYmxlZAoreworICAgIHJldHVybiBbc2Vs
ZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXld
OworfQorCistICh2b2lkKXNldFBhaW50VGltaW5nRW5hYmxlZDooQk9PTClmbGFnCit7CisgICAg
W3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQ
cmVmZXJlbmNlS2V5XTsKK30KKwogLSAoQk9PTClyZXNvdXJjZVRpbWluZ0VuYWJsZWQKIHsKICAg
ICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJs
ZWRQcmVmZXJlbmNlS2V5XTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkocmV2aXNpb24gMjU4ODQ0KQor
KysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUu
aAkod29ya2luZyBjb3B5KQpAQCAtNjYxLDYgKzY2MSw3IEBAIEBpbnRlcmZhY2UgV2ViUHJlZmVy
ZW5jZXMgKFdlYlByaXZhdGUpCiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBrZXlnZW5FbGVt
ZW50RW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHVzZXJUaW1pbmdFbmFibGVk
OwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcmVzb3VyY2VUaW1pbmdFbmFibGVkOworQHBy
b3BlcnR5IChub25hdG9taWMpIEJPT0wgcGFpbnRUaW1pbmdFbmFibGVkOwogQHByb3BlcnR5IChu
b25hdG9taWMpIEJPT0wgbGlua1ByZWxvYWRFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMp
IEJPT0wgbWVkaWFVc2VyR2VzdHVyZUluaGVyaXRzRnJvbURvY3VtZW50OwogQHByb3BlcnR5IChu
b25hdG9taWMpIEJPT0wgaXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZDsKSW5kZXg6IFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDI1ODg0
NCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMzE5Niw2ICszMTk2LDcgQEAgLSAodm9pZClfcHJlZmVyZW5jZXNDaGFuZ2Vk
OihXZWJQcmVmZXJlbgogCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy51c2VyVGltaW5nRW5hYmxlZCk7
CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXNvdXJj
ZVRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMucmVzb3VyY2VUaW1pbmdFbmFibGVkKTsKKyAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFBhaW50VGltaW5nRW5h
YmxlZChwcmVmZXJlbmNlcy5wYWludFRpbWluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1ByZWxvYWRFbmFibGVkKHByZWZlcmVu
Y2VzLmxpbmtQcmVsb2FkRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRNZWRpYVByZWxvYWRpbmdFbmFibGVkKHByZWZlcmVuY2VzLm1lZGlh
UHJlbG9hZGluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkuc2V0SXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZChwcmVmZXJlbmNlcy5p
c1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDIwLTAzLTIzICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChm
aXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHByZWZlcmVuY2Uga2V5IGZvciBwYWludC10aW1pbmcuCisKKyAg
ICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsOgorICAgICAgICAq
IFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6
CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJl
bmNlc0NoYW5nZWQpOgorCiAyMDIwLTAzLTE4ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBNYWtlIHN1cmUgYSBwcmVmbGlnaHQgZmFpbHMgaWYgcmVzcG9uc2Ug
aGVhZGVycyBhcmUgaW52YWxpZApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDI1ODg0NCkKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xOTcsNiArMTk3LDggQEAKIAogI2RlZmluZSBXZWJLaXRVc2VyVGltaW5nRW5hYmxl
ZFByZWZlcmVuY2VLZXkgIldlYktpdFVzZXJUaW1pbmdFbmFibGVkIgogCisjZGVmaW5lIFdlYktp
dFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFBhaW50VGltaW5nRW5hYmxl
ZCIKKwogI2RlZmluZSBXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJX
ZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0TGlua1ByZWxvYWRF
bmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkIgpJbmRleDogU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCShyZXZpc2lvbiAyNTg4NDQpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yNTEsNiArMjUxLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBzZXRVc2VyVGltaW5nRW5hYmxlZChCT09MKTsKICAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgcmVzb3VyY2VUaW1pbmdFbmFibGVkKF9PdXRfIEJPT0wqKTsK
ICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0UmVzb3VyY2VUaW1pbmdF
bmFibGVkKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBwYWlu
dFRpbWluZ0VuYWJsZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBzZXRQYWludFRpbWluZ0VuYWJsZWQoQk9PTCk7CiAgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIGxpbmtQcmVsb2FkRW5hYmxlZChfT3V0XyBCT09MKik7CiAg
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldExpbmtQcmVsb2FkRW5hYmxl
ZChCT09MKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgbWVkaWFQcmVs
b2FkaW5nRW5hYmxlZChfT3V0XyBCT09MKik7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJW
aWV3LmNwcAkocmV2aXNpb24gMjU4ODQ0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
Vmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyODMsNiArNTI4MywxMSBAQCBIUkVTVUxUIFdl
YlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlCiAgICAgICAgIHJldHVybiBocjsKICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFVzZXJUaW1pbmdFbmFi
bGVkKCEhZW5hYmxlZCk7CiAKKyAgICBociA9IHByZWZzUHJpdmF0ZS0+cGFpbnRUaW1pbmdFbmFi
bGVkKCZlbmFibGVkKTsKKyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJuIGhyOwor
ICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1p
bmdFbmFibGVkKCEhZW5hYmxlZCk7CisKICAgICBociA9IHByZWZzUHJpdmF0ZS0+cmVzb3VyY2VU
aW1pbmdFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0
dXJuIGhyOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCShyZXZpc2lvbiAyNTg4NDQp
CisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xOTcsNiArMTk3LDggQEAgaW50ZXJmYWNlIElX
ZWJQcmVmZXJlbmNlc1ByaXZhdGU0IDogSVdlYgogICAgIEhSRVNVTFQgc2V0VXNlclRpbWluZ0Vu
YWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgcmVzb3VyY2VUaW1pbmdFbmFi
bGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOwogICAgIEhSRVNVTFQgc2V0UmVzb3VyY2VUaW1pbmdF
bmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIHBhaW50VGltaW5nRW5hYmxl
ZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKKyAgICBIUkVTVUxUIHNldFBhaW50VGltaW5nRW5hYmxl
ZChbaW5dIEJPT0wgZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBsaW5rUHJlbG9hZEVuYWJsZWQoW291
dCwgcmV0dmFsXSBCT09MKik7CiAgICAgSFJFU1VMVCBzZXRMaW5rUHJlbG9hZEVuYWJsZWQoW2lu
XSBCT09MIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgbWVkaWFQcmVsb2FkaW5nRW5hYmxlZChbb3V0
LCByZXR2YWxdIEJPT0wqKTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1ODg0NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDIwLTAzLTIzICBOb2FtIFJvc2VudGhhbCAg
PG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50
ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIHByZWZlcmVuY2Uga2V5IGZvciBwYWludC10aW1pbmcuCisKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChyZXNldFdlYlByZWZl
cmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4v
RHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lz
dGVudFZhbHVlcyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2VzVG9Db25z
aXN0ZW50VmFsdWVzKToKKwogMjAyMC0wMy0yMyAgQ2hyaXMgTG9yZCAgPGNsb3JkQGlnYWxpYS5j
b20+CiAKICAgICAgICAgQWRkIG1pc3NpbmcgY29tbWl0dGVyIHN0YXR1cyB0byBDaHJpcyBMb3Jk
IGluIGNvbnRyaWJ1dG9ycy5qc29uCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1
bXBSZW5kZXJUcmVlLm1tCShyZXZpc2lvbiAyNTg4NDQpCisrKyBUb29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwMDQsNiArMTAwNCw3
IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3QKICAgICBbcHJlZmVy
ZW5jZXMgc2V0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5j
ZXMgc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFVz
ZXJUaW1pbmdFbmFibGVkOllFU107CisgICAgW3ByZWZlcmVuY2VzIHNldFBhaW50VGltaW5nRW5h
YmxlZDpZRVNdOwogCiAgICAgW3ByZWZlcmVuY2VzIHNldENhY2hlQVBJRW5hYmxlZDpOT107CiAg
ICAgcHJlZmVyZW5jZXMubWVkaWFDYXBhYmlsaXRpZXNFbmFibGVkID0gWUVTOwpJbmRleDogVG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCShyZXZpc2lvbiAyNTg4
NDQpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC04OTksNiArODk5LDcgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJl
bmNlc1RvQ29uc2lzdAogICAgIHByZWZzUHJpdmF0ZS0+c2V0Q3VzdG9tRWxlbWVudHNFbmFibGVk
KFRSVUUpOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFRSVUUp
OwogICAgIHByZWZzUHJpdmF0ZS0+c2V0VXNlclRpbWluZ0VuYWJsZWQoVFJVRSk7CisgICAgcHJl
ZnNQcml2YXRlLT5zZXRQYWludFRpbWluZ0VuYWJsZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2YXRl
LT5zZXREYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2YXRlLT5j
bGVhck5ldHdvcmtMb2FkZXJTZXNzaW9uKCk7CiAKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyNTg4NDQpCisrKyBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMxLDYgKzkz
MSw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVyZW5jZXNUb0MKICAgICBXS1By
ZWZlcmVuY2VzU2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsK
ICAgICBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0
cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMs
IHRydWUpOworICAgIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQocHJlZmVyZW5j
ZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVByZWxvYWRpbmdFbmFibGVkKHBy
ZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQbGF5YmFja0FsbG93
c0lubGluZShwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldElubGluZU1l
ZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKHByZWZlcmVuY2VzLCBmYWxz
ZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTg4NDQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMSBAQAorMjAyMC0wMy0yMyAgTm9hbSBSb3NlbnRo
YWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29u
dGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIHRlc3RzIGZvciBzb21lIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgKEZDUCkg
dXNlLWNhc2VzLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgICAgICAg
ICBTa2lwIG92ZXJmbG93IHczYyB0ZXN0LCBzdGlsbCBub3Qgc3VwcG9ydGVkLgorCisgICAgICAg
ICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5q
czogQWRkZWQuCisgICAgICAgICAgICAgICAgVGVzdCBleGlzdGVuY2Ugb2YgcGFpbnQgdGltaW5n
IEFQSSBvbiB0aGUgd2luZG93IG9iamVjdC4KKworICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9m
aXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5zdWItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMuc3Vi
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1
YmZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAgICAgICAgIFRlc3QgdGhhdCBGQ1AgaXMgbm90
IGF2YWlsYWJsZSBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lcy4KKworICAgICAgICAqIHBlcmZvcm1h
bmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9i
c2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVy
Zm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanM6IEFkZGVkLgorICAgICAg
ICAoYXN5bmMgd2FpdEZvckZDUCk6CisgICAgICAgICAgICAgICAgVGVzdCB0aGF0IHBlcmZvcm1h
bmNlIG9ic2VydmVycyBhcmUgY2FsbGVkIGZvciBGQ1AuCisKIDIwMjAtMDMtMjMgIEphY29iIFVw
aG9mZiAgPGphY29iX3VwaG9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2
ZXJ0aW5nIHIyNTg4MDMuCkluZGV4OiBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDI1ODg0NCkK
KysrIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTIyMjEs
NiArMjIyMSw5IEBAIHdlYmtpdC5vcmcvYi8xNjQ3OTcganMvZG9tL2RvbWppdC1mdW5jdGkKICMg
dGhlIHRlc3RzIG1heSBiZSB3cm9uZy4KIHdlYmtpdC5vcmcvYi8xNjUxOTUgZmFzdC9jc3MvcGFy
c2luZy1jc3MtYWxsb3dlZC1zdHJpbmctY2hhcmFjdGVycy5odG1sIFsgUGFzcyBGYWlsdXJlIF0K
IAorIyBPdmVyZmxvdyBoYW5kbGluZyBpbiBGQ1AgcmVwb3J0aW5nIGlzIG5vdCBjb21wbGV0ZSB5
ZXQuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3ZlcmZsb3cuaHRtbCBbIFNraXAgXQorCiAjIFZpc3VhbCB2aWV3cG9ydHMKIHdlYmtp
dC5vcmcvYi8xNjU0NjAgY29tcG9zaXRpbmcvcmVwYWludC9zY3JvbGwtZml4ZWQtbGF5ZXItbm8t
Y29udGVudC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTY1NDYwIGNvbXBvc2l0aW5n
L3JlcGFpbnQvc2Nyb2xsLWZpeGVkLWxheWVyLW91dC1vZi12aWV3Lmh0bWwgWyBGYWlsdXJlIF0K
SW5kZXg6IExheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24JKHJldmlzaW9uIDI1ODg0NCkKKysrIExheW91dFRl
c3RzL3Rlc3RzLW9wdGlvbnMuanNvbgkod29ya2luZyBjb3B5KQpAQCAtMTcsNiArMTcsOSBAQAog
ICAgICJpbXBvcnRlZC93M2MvY3NzL2Nzcy12YWx1ZXMvdmhfbm90X3JlZnJlc2hpbmdfb25fY2hy
b21lLmh0bWwiOiBbCiAgICAgICAgICJzbG93IgogICAgIF0sCisgICAgImltcG9ydGVkL3czYy9w
YWludC10aW1pbmcvZmlyc3QtaW1hZ2UtY2hpbGQuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisg
ICAgXSwKICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmlt
YXRpb25zL3VwZGF0aW5nLXRoZS1maW5pc2hlZC1zdGF0ZS5odG1sIjogWwogICAgICAgICAic2xv
dyIKICAgICBdLApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
NTg4NDQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsNzMgQEAKKzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3
ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0
OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBv
cnRlZCB0ZXN0LXN1aXRlIGZyb20gdzNjIHRvIGNvdmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQg
Y2FzZXMuCisgICAgICAgIFRoZSBmY3Atb25seSBjYXNlcyBhcmUgaW1wb3J0ZWQsIHdoaWxlIHRo
ZSBvdGhlciBvbmVzIGFyZSBub3Qgc2luY2UgV2ViS2l0IGRvZXMgbm90IHN1cHBvcnQgZmlyc3Qt
cGFpbnQuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJh
Y2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdv
LXN0ZXBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFk
aWVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJh
bnNpdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFj
aXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRl
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3V0LW9mLWJvdW5kcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdmVyZmxvdy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LWltYWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXN2Zy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZy
YW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBv
c3Rlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFj
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZzog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJj
ZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291
cmNlcy91dGlscy5qczogQWRkZWQuCisgICAgICAgICh3YWl0VGltZSk6CisgICAgICAgIChhc3lu
YyBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKGFzeW5jIGFzc2VydEZp
cnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKHRlc3RfZmNwKToKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzogQWRk
ZWQuCisKIDIwMjAtMDMtMjAgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIEFkZCByb3V0aW5lcyB0byBjaGVjayBhYm91dDpibGFuayBhbmQgYWJvdXQ6c3JjZG9j
IFVSTHMKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4
cGVjdGF0aW9ucy5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9y
ZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCShyZXZpc2lvbiAyNTg4NDQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNv
bgkod29ya2luZyBjb3B5KQpAQCAtMzE3LDcgKzMxNyw4IEBACiAgICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9vcmllbnRhdGlvbi1ldmVudCI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy9vcmllbnRhdGlvbi1zZW5zb3IiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMv
cGFnZS12aXNpYmlsaXR5IjogInNraXAiLCAKLSAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZyI6ICJza2lwIiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkiOiAiaW1wb3J0IiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvcmVzb3VyY2VzIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1oYW5kbGVyIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtbWV0
aG9kLWJhc2ljLWNhcmQiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1tZXRob2QtaWQiOiAic2tpcCIsIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6
ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6
ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQt
c2l6ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mg
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBzaXplLiAKKwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3Rl
ZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dy
b3VuZC1zaXplLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6
ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tn
cm91bmQgc2l6ZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBu
Zyk7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCAwOworICAgIH0KKworICAgIC8qIGNvbnRl
bnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4u
Y29udGVudGZ1bCB7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOworICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNw
KCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemUuIik7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0
YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRv
IGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0LiAKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWlu
ZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0PC90aXRsZT4K
KzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQg
aW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBi
YWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWltYWdlLXNldCh1cmwoLi4vcmVzb3VyY2VzL2NpcmNs
ZXMucG5nKSAxeCk7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXNldCh1cmwoLi4v
cmVzb3VyY2VzL2NpcmNsZXMucG5nKSAxeCk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJt
YWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0LiIpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
YmctaW1hZ2Utc2V0Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAs
MCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxlLiAKKwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0
ZXBzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIGZpcmUg
Zm9yIGJhY2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGU8L3RpdGxlPgorPHN0eWxlPgor
ICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgYW5kIHByZUZDUCBjbGFzc2VzIGFyZSBkZWZp
bmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5wcmVGQ1AgeworICAgICAgICB2
aXNpYmlsaXR5OiBoaWRkZW47CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCwgICNtYWlu
LnByZUZDUCB7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2ly
Y2xlcy5wbmcpOworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB2aXNp
YmlsaXR5OiB2aXNpYmxlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGZv
ciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxlLiIpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+CisKKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFn
ZS10d28tc3RlcHMuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCww
ICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMyBAQAorCitQQVNTIENhbnZhcyBzaG91bGQgY291bnQgYXMgY29udGVudGZ1bCB3aGVuIGNv
bnRleHQgaXMgY3JlYXRlZCAKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNh
bnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJs
ZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1j
YW52YXMtY29udGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6
IEZDUCB3aGVuIGNhbnZhcyBjb250ZXh0IGlzIGNyZWF0ZWQ8L3RpdGxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxjYW52YXMgaWQ9
ImNhbnZhcyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxzY3JpcHQ+CisgIHBy
b21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5Q
ZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsK
KyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2Fk
JywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICBj
b25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FudmFzJyk7CisgICAgY29u
c3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworICAgIGNvbnRleHQuZmlsbFJl
Y3QoMCwgMCwgMTAwLCAxMDApOworICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50
KCk7CisgIH0sICdDYW52YXMgc2hvdWxkIGNvdW50IGFzIGNvbnRlbnRmdWwgd2hlbiBjb250ZXh0
IGlzIGNyZWF0ZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbApfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEdyYWRpZW50cyBzaG91bGQgbm90IGNvdW50IGFzIGNv
bnRlbnRmdWwgCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1l
eHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAj
IworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Z3JhZGllbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZv
cm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIG5vdCBmaXJlIHdpdGggZ3JhZGll
bnQtb25seSBiYWNrZ3JvdW5kczwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAg
ICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGJhY2tncm91
bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIG9yYW5nZSwgYmx1ZSk7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAg
ICAgY29uc3QgbWFpbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluJyk7CisgICAgICBh
d2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikp
OworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAgJ0dy
YWRpZW50cyBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwnKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorCis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGll
bnQuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisq
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRh
bnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4dAorCitQ
QVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0
aW5nIHJvdGF0aW5nIGludG8gdmlldy4gCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0Cl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUt
ZGVzY2VuZGFudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qt
cm90YXRlLWRlc2NlbmRhbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWlu
dCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byAzZCByZXZlYWxpbmcgb2YgZGVzY2VuZGFudHM8L3Rp
dGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiBy
ZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVk
ZWcpOworICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOworICAgIH0KKworICAg
IC8qCisgICAgICAgVGhpcyB0ZXN0cyB0aGF0IGdpdmVuIG11bHRpcGxpY2F0aW9uIGVmZmVjdCBv
ZiAzZCB0cmFuc2Zvcm1zIG9uIGJvdW5kaW5nIHJlY3QsCisgICAgICAgQW4gZWxlbWVudCBjb3Vu
dHMgYXMgY29udGVudGZ1bC9wYWludGFibGUgb25seSB3aGVuIGl0cyBib3VuZGluZyByZWN0IGlz
IHRydWx5IG5vbi1lbXB0eSAqLworICAgICNjaGlsZCB7CisgICAgICAgIHRyYW5zZm9ybTogcm90
YXRlWCg0NWRlZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVk
IGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAg
dHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAg
PGRpdiBpZD0iY2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2Zj
cCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRp
bmcgcm90YXRpbmcgaW50byB2aWV3LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNj
ZW5kYW50Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAj
IworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXcuIAorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIDNkIHJvdGF0
aW9uIGludG8gdmlldzwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0
aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAg
ICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDkwZGVnKTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBp
cyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsK
KyAgICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFp
biI+VGV4dDwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBw
YWludCBmaXJlcyBkdWUgdG8gM2Qgcm90YXRpb24gaW50byB2aWV3LiIpCis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtM2Qtcm90YXRlLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAs
MCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBz
Y2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4gCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
eGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRp
b24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
c2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
IEBACitURVhUCisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIHJldmVh
bGVkIGR1cmluZyB0cmFuc2l0aW9uLiAKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlv
bi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNp
dGlvbi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUt
dHJhbnNpdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZD
UCBpbiB0cmFuc2l0aW9uPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4Owor
ICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zv
cm0gMTBzOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAg
ICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2Ny
aXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IHNjYWxl
KDEpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+VEVYVDwvZGl2PgorPHNjcmlw
dD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIHJldmVh
bGVkIGR1cmluZyB0cmFuc2l0aW9uLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRp
b24uaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisq
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtc2NhbGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNj
YWxlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhl
YWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gc2Nh
bGUgY2hhbmdlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAx
MDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAg
ICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAg
ICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9j
aXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVk
IGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAg
dHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBzY2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0
bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
dGV4dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS10ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK0lOVklT
SUJMRQorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1l
bGVtZW50IGJlY29taW5nIHZpc2libGUuIAorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
eGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIHNob3VsZCBzdGlsbCBmaXJlIGZvciBpbnZpc2libGUgdGV4dDwvdGl0bGU+
Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgdmlzaWJp
bGl0eTogaGlkZGVuOworICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKKyAgICB9CisK
KyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAq
LworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwor
ICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRp
bHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgSU5WSVNJQkxFCis8L2Rpdj4K
KzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVl
IHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIikKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10
ZXh0Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIwor
KgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiAKKwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1leHBlY3RlZC50eHQK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNj
ZW5kYW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFu
dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
ZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGFu
Y2VzdG9yIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lk
dGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7Cisg
ICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0KKworICAg
ICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1
bCBhbmQgaW50ZXJtZWRpYXRlIGNsYXNzZXMgYXJlIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0
LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0eTogMTsK
KyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0
eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgeworICAgICAgICBvcGFjaXR5
OiAwOworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFjaXR5OiAw
LjU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJjaGls
ZCI+VGV4dDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3NpdGl2ZSBv
cGFjaXR5LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBv
cGFjaXR5LXJldmVhbGVkIGVsZW1lbnQuIAorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFi
bGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIG9wYWNpdHk8
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9u
OiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1
cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9
CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0
LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFjaXR5OiAwLjE7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIG9wYWNpdHktcmV2ZWFsZWQg
ZWxlbWVudC4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhl
Y3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiAKKwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFu
c2xhdGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2Yt
Ym91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gdHJhbnNmb3Jt
LWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiAKKwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dApfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRy
YW5zbGF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRy
YW5zbGF0ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRz
LXRyYW5zbGF0ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZD
UCBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50PC90aXRs
ZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHRy
YW5zbGF0ZSgtMTAwMHB4KTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0
b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xl
cy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0
ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5z
Zm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNj
cmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8g
dHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiIpCis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQt
b2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxl
CiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3V0LW9mLWJvdW5kcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQt
b2YtYm91bmRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IGR1ZSB0byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudDwvdGl0bGU+Cis8c3R5bGU+CisgICAg
I21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgIGxlZnQ6IC0xMDAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAg
ICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2Np
cmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQg
aW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBs
ZWZ0OiAwcHg7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3Jp
cHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGlu
dGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3ZlcmZsb3cuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3ZlcmZsb3cuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3ZlcmZsb3cuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRp
bWluZyBUZXN0OiBGQ1Agd2l0aCBlbGVtZW50IGNsaXBwZWQgd2l0aCBvdmVyZmxvdzwvdGl0bGU+
Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgICAgIGRpc3BsYXk6
IG5vbmU7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRl
c3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgZGlzcGxh
eTogYmxvY2s7CisgICAgfQorCisgICAgI3RleHQgeworICAgICAgICB0b3A6IDEwMDAwcHg7Cisg
ICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1h
aW4iPgorICAgIDxkaXYgaWQ9InRleHQiPkhFTExPPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+Cisg
ICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZXZlbiB3aGVuIGVsZW1l
bnQgaXMgaGlkZGVuIGR1ZSB0byBvdmVyZmxvdy4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwv
aHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdmVyZmxvdy5odG1sCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LWRpc3BsYXktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8g
cHNldWRvLWVsZW1lbnQgdGV4dC4gCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVs
ZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsK
KyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNz
IGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6
YWZ0ZXIgeworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYg
aWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUK
IyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4gCisKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtaW1hZ2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
aW1hZ2UuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
aW1hZ2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVl
IHRvIHBzZXVkby1lbGVtZW50IGltYWdlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7Cisg
ICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVm
aW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7
CisgICAgICAgIGNvbnRlbnQ6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGlt
YWdlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNp
dHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAK
KworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVu
dCBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIAorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHku
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
ZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBz
ZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eTwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAx
MDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7
CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisK
KyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAq
LworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBvcGFjaXR5OiAwLjU7Cisg
ICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0
ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1l
bnQgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFj
aXR5Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIwor
KgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNl
dWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0
byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiAKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJm
b3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0
PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2
ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0K
KworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQu
ICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhU
IgorICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
dXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+Cisg
ICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1l
bGVtZW50IHRleHQuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2li
aWxpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4gCisKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dApf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC12aXNpYmlsaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LXZpc2liaWxpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5n
IFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZTwvdGl0bGU+
Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAj
bWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgdmlzaWJpbGl0
eTogaGlkZGVuOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBp
biB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAg
ICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWlu
Ij4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWlu
dCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4iKQorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVj
dXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXN2Zy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2
Zy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIFNWRyBiZWNvbWVzIGNvbnRlbnRmdWwuIAor
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dApfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXN2Zy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCB3
aXRoIFNWRzwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAw
cHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAg
cG9zaXRpb246IHJlbGF0aXZlOworICAgIH0KKworICAgICNjaXJjbGUgeworICAgICAgZGlzcGxh
eTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4g
dGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI2NpcmNsZSB7CisgICAg
ICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cisg
IDxzdmcgdmlld0JveD0iMCAwIDEwIDEwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9z
dmciCisgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKyAg
ICA8ZGVmcz4KKyAgICAgIDxjaXJjbGUgaWQ9Im15Q2lyY2xlIiBjeD0iNSIgY3k9IjUiIHI9IjQi
IHN0cm9rZT0iYmx1ZSIvPgorICAgIDwvZGVmcz4KKyAgICA8dXNlIGlkPSJjaXJjbGUiIGhyZWY9
IiNteUNpcmNsZSIgZmlsbD0iZ3JlZW4iIC8+CisgIDwvc3ZnPgorPC9kaXY+Cis8c2NyaXB0Pgor
ICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gU1ZHIGJlY29t
ZXMgY29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbApfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVs
IHdoZW4gZmlyc3QgZnJhbWUgaXMgbG9hZGVkIAorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
eGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXZpZGVvLWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDog
RkNQIGR1ZSB0byBsb2FkZWQgdmlkZW8gZnJhbWU8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8i
IGF1dG9wbGF5PjwvdmlkZW8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5n
LCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9t
aXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2Fp
dCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgICBjb25zdCB2aWRlbyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd2aWRlbycpOworICAgICAgdmlkZW8uc2V0QXR0cmlidXRl
KCdzcmMnLCAnL21lZGlhL3Rlc3QubXA0Jyk7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHsKKyAgICAgICAgdmlkZW8ub25jYW5wbGF5ID0gcmVzb2x2ZTsKKyAgICAgIH0pOwor
ICAgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ1ZpZGVvIHNo
b3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGZpcnN0IGZyYW1lIGlzIGxvYWRlZCcpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdmlkZW8tZnJhbWUuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAt
MCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NCBAQAorCisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9zdGVy
IGlzIGxvYWRlZCAKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBv
c3Rlci1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAs
MCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVv
LXBvc3Rlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
ZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxv
YWRlZCB2aWRlbyBwb3N0ZXI8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIHdpZHRoPSI1MCIg
aGVpZ2h0PSI1MCI+PC92aWRlbz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+
IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5n
LCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlz
ZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFz
c2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd2aWRlbycpOworICAgIGNvbnN0IHNyYyA9ICcuLi9yZXNvdXJjZXMv
Y2lyY2xlcy5wbmcnOworICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7CisgICAgaW1hZ2Uu
c3JjID0gc3JjOworICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgncG9zdGVyJywgc3JjKTsKKyAgICBh
d2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgaW1hZ2Uub25sb2FkID0gYXN5
bmMgKCkgPT4gcmVzb2x2ZSgpOworICAgIH0pCisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50
ZnVsUGFpbnQoKTsKKyAgfSwgJ1ZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIHBv
c3RlciBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgV2hpdGVzcGFjZSBzaG91bGQgbm90
IGNvdW50IGFzIGNvbnRlbnRmdWwuIAorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFi
bGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC13aGl0ZXNwYWNlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3Bh
Y2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBXaGl0ZXNwYWNl
IHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21h
aW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsK
KyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4u
L3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCAwOwor
ICAgIH0KKworICAgICN0ZXh0IHsKKyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAg
ICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLwor
ICAgICNtYWluLmNvbnRlbnRmdWwgI3RleHR7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAg
IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMu
anMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0id2hpdGVzcGFjZSI+
ICAgPC9kaXY+CisgICAgPGRpdiBpZD0idGV4dCI+VEVYVDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0
PgorICAgIHRlc3RfZmNwKCJXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1
bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRh
YmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvdzNjLWlt
cG9ydC5sb2cJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvdzNjLWltcG9ydC5sb2cJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdl
cmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNl
IHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRl
c3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGlu
IFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUu
CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25l
CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1z
ZXQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5
LWRlc2NlbmRhbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91
bmRzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdmVyZmxvdy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1h
Z2UuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LXZpc2liaWxpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVz
cGFjZS5odG1sCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS93M2MtaW1wb3J0LmxvZwpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNl
cy9jaXJjbGUuc3ZnCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorPHN2ZyB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSI+CisgICA8Y2lyY2xlIGN4
PSIxMDAiIGN5PSI1MCIgcj0iNDAiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIgZmls
bD0ibm9uZSIgLz4KKzwvc3ZnPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNs
ZS5zdmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUt
cGFpbnRpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5Pgor
PGRpdiBpZD0iaW1hZ2UiPjwvZGl2PgorPHNjcmlwdD4KKyAgY29uc3QgaW1nID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnSU1HJyk7CisgIGltZy5zcmMgPSAnY2lyY2xlcy5wbmcnOworICBpbWcu
b25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgZnVuY3Rpb24gc2VuZFBhaW50RW50cmllcygpIHsK
KyAgICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUo
J3BhaW50Jyk7CisgICAgICBpZiAocGFpbnRFbnRyaWVzLmxlbmd0aCA8IDIpIHsKKyAgICAgICAg
c2V0VGltZW91dChzZW5kUGFpbnRFbnRyaWVzLCAyMCk7CisgICAgICAgIHJldHVybjsKKyAgICAg
IH0KKyAgICAgIGxldCBlbnRyeUNvbnRlbnRzID0gcGFpbnRFbnRyaWVzLmxlbmd0aCArICcnOwor
ICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsKKyAg
ICAgICAgY29uc3QgZW50cnkgPSBwYWludEVudHJpZXNbaV07CisgICAgICAgIGVudHJ5Q29udGVu
dHMgKz0gJyAnICsgZW50cnkuZW50cnlUeXBlICsgJyAnICArIGVudHJ5Lm5hbWU7CisgICAgICB9
CisgICAgICBwYXJlbnQucG9zdE1lc3NhZ2UoZW50cnlDb250ZW50cywgJyonKTsKKyAgICB9Owor
ICAgIHNlbmRQYWludEVudHJpZXMoKTsKKyAgfTsKKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2ltYWdlJykuYXBwZW5kQ2hpbGQoaW1nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1w
YWludC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxz
Y3JpcHQ+CisgIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uKGUpIHsK
KyAgICAvLyBTZW5kIHBhaW50LXRpbWluZyBlbnRyaWVzIHVwb24gcmVjZWl2aW5nIGEgbWVzc2Fn
ZS4KKyAgICBjb25zdCBwYWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBl
KCdwYWludCcpOworICAgIGxldCBlbnRyeUNvbnRlbnRzID0gcGFpbnRFbnRyaWVzLmxlbmd0aCAr
ICcnOworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFpbnRFbnRyaWVzLmxlbmd0aDsgaSsrKSB7
CisgICAgICBjb25zdCBlbnRyeSA9IHBhaW50RW50cmllc1tpXTsKKyAgICAgIGVudHJ5Q29udGVu
dHMgKz0gJyAnICsgZW50cnkuZW50cnlUeXBlICsgJyAnICArIGVudHJ5Lm5hbWU7CisgICAgfQor
ICAgIHBhcmVudC5wb3N0TWVzc2FnZShlbnRyeUNvbnRlbnRzLCAnKicpOworICB9KTsKKzwvc2Ny
aXB0PgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFp
bnQuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisq
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVz
b3VyY2VzL3V0aWxzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8vIE51bWJl
ciBtaWxsaXNlY29uZHMgdG8gd2FpdCBmb3IgQ1NTIHJlc291cmNlcyB0byBsb2FkLgorY29uc3Qg
bnVtTWlsbGlzZWNvbmRzV2FpdCA9IDUwOworCisvLyBXZSB1c2UgcmVxdWVzdEFuaW1hdGlvbkZy
YW1lKCkgY2FsbHMgdG8gZm9yY2UgdGhlIHVzZXIgYWdlbnQgdG8gcGFpbnQgYW5kIGdpdmUgZW5v
dWdoCisvLyB0aW1lIGZvciBGQ1AgdG8gc2hvdyB1cCBpbiB0aGUgcGVyZm9ybWFuY2UgdGltZWxp
bmUuIEhlbmNlLCBzZXQgfG51bUZyYW1lc1dhaXRpbmd8IHRvCisvLyAzIGFuZCB1c2UgdGhhdCBj
b25zdGFudCB3aGVuZXZlciB0aGUgdGVzdCBuZWVkcyB0byB3YWl0IGZvciB0aGUgbmV4dCBwYWlu
dCB0byBvY2N1ci4KK2NvbnN0IG51bUZyYW1lc1dhaXRpbmcgPSAzOworCitmdW5jdGlvbiB3YWl0
VGltZSh0KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHQuc3RlcF90aW1lb3V0
KHJlc29sdmUsIG51bU1pbGxpc2Vjb25kc1dhaXQpKTsKK30KKworZnVuY3Rpb24gd2FpdEZvckFu
aW1hdGlvbkZyYW1lcyhjb3VudCkgeworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7
CisgICAgaWYgKGNvdW50LS0gPD0gMCkgeworICAgICAgcmVzb2x2ZSgpOworICAgIH0gZWxzZSB7
CisgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICB3YWl0Rm9yQW5p
bWF0aW9uRnJhbWVzKGNvdW50KS50aGVuKHJlc29sdmUpOworICAgICAgfSk7CisgICAgfQorICB9
KTsKK30KKworLy8gQXNzZXJ0cyB0aGF0IHRoZXJlIGlzIGN1cnJlbnRseSBubyBGQ1AgcmVwb3J0
ZWQsIGV2ZW4gYWZ0ZXIgc29tZSB3YWl0LgorYXN5bmMgZnVuY3Rpb24gYXNzZXJ0Tm9GaXJzdENv
bnRlbnRmdWxQYWludCh0KSB7CisgIGlmICh0KQorICAgIGF3YWl0IHdhaXRUaW1lKHQpOworCisg
IGF3YWl0IHdhaXRGb3JBbmltYXRpb25GcmFtZXMobnVtRnJhbWVzV2FpdGluZyk7CisgIGFzc2Vy
dF9lcXVhbHMocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1w
YWludCcpLmxlbmd0aCwgMCwgJ0ZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgbWFya2VkIHRvbyBlYXJs
eS4gJyk7Cit9CisKKy8vIEFzc2VydHMgdGhhdCBGQ1AgaXMgcmVwb3J0ZWQsIHBvc3NpYmx5IGFm
dGVyIHNvbWUgd2FpdC4gVGhlIHdhaXQgaXMgbmVlZGVkCisvLyBiZWNhdXNlIHNvbWV0aW1lcyB0
aGUgRkNQIHJlbGllcyBvbiBzb21lIENTUyByZXNvdXJjZXMgdG8gZmluaXNoIGxvYWRpbmcuCith
c3luYyBmdW5jdGlvbiBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KSB7CisgIGlmICh0KQor
ICAgIGF3YWl0IHdhaXRUaW1lKHQpOworICBhd2FpdCB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKG51
bUZyYW1lc1dhaXRpbmcpOworICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmdldEVudHJpZXNC
eU5hbWUoJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5ndGgsIDEsICdFeHBlY3RlZCBmaXJz
dCBjb250ZW50ZnVsIHBhaW50IG5vdCBmb3VuZC4gJyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RfZmNw
KGxhYmVsKSB7CisgIGNvbnN0IHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUn
KTsKKyAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7CisgIHJldHVybiBwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9y
bWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAg
Y29uc3QgbWFpbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluJyk7CisgICAgYXdhaXQg
bmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAg
ICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgbWFpbi5jbGFzc05h
bWUgPSAncHJlRkNQJzsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7
CisgICAgbWFpbi5jbGFzc05hbWUgPSAnY29udGVudGZ1bCc7CisgICAgYXdhaXQgYXNzZXJ0Rmly
c3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgbGFiZWwpOworfQoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvcmVzb3VyY2VzL3V0aWxzLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMj
IC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVz
b3VyY2VzL3czYy1pbXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0
LmxvZwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwyMSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUg
aW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRl
c3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdl
YktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisK
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgor
Tm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCist
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2ZworL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1l
LXNlbmRpbmctcGFpbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1p
bmcvcmVzb3VyY2VzL3V0aWxzLmpzCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNj
LWltcG9ydC5sb2cKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAj
IworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMuc3ViLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29u
dGVudGZ1bC1wYWludC1mcmFtZXMuc3ViLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMu
c3ViLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE4IEBACitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgNzogW29iamVjdCBQZXJmb3JtYW5jZVBhaW50VGltaW5nXQorUGFpbnQg
QVBJIHNob3VsZCBiZSBhdmFpbGFibGUgZm9yIHNhbWUtb3JpZ2luIGZyYW1lcyBidXQgbm90IHRv
IGNyb3NzLW9yaWdpbi9zYW5kYm94ZWQgZnJhbWVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyBkaWRSZWNlaXZlTWVzc2FnZSBpcyBmYWxzZQorUEFTUyByZWNlaXZlZEV2
ZW50LnNvdXJjZSBpcyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJykuY29u
dGVudFdpbmRvdworUEFTUyByZWNlaXZlZEVudHJ5Lm5hbWUgaXMgJ2ZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQnCitQQVNTIHJlY2VpdmVkRW50cnkuc3RhcnRUaW1lICE9IHBlcmZvcm1hbmNlLmdldEVu
dHJpZXMoKVswXS5zdGFydFRpbWUgaXMgdHJ1ZQorUEFTUyBkaWRSZWNlaXZlTWVzc2FnZSBpcyB0
cnVlCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxs
YmFjayB3YXMgZmlyZWQgZm9yIHNhbWUtb3JpZ2luIGZyYW1lIGJ1dCBub3QgZm9yIGNyb3NzLW9y
aWdpbiBmcmFtZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKKworVEVYVAoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLnN1Yi1leHBlY3RlZC50eHQKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
Zmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMuc3ViLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLnN1
Yi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9maXJz
dC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5zdWIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDUxIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorICAgIDxpZnJhbWUgd2lkdGg9IjEwMCIgaGVpZ2h0
PSIxMDAiIGlkPSJub25TYW5kYm94ZWQiIHNyYz0iLi9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0
bWwiPjwvaWZyYW1lPgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKzxpZnJhbWUgaWQ9InNh
bmRib3hlZCIgc3JjPSJodHRwOi8ve3tob3N0c1thbHRdW119fTp7e3BvcnRzW2h0dHBdWzBdfX0v
cGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbCIgc2FuZGJveD0iYWxs
b3ctc2NyaXB0cyI+PC9pZnJhbWU+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorCisgICAg
VEVYVAorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50IEFQSSBzaG91bGQgYmUgYXZhaWxh
YmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4vc2FuZGJv
eGVkIGZyYW1lcy4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5kaWRS
ZWNlaXZlTWVzc2FnZSA9IGZhbHNlOworCit3aW5kb3cub25sb2FkID0gYXN5bmMgKCkgPT4gewor
ICAgIGNvbnN0IHNhbmRib3hlZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYW5kYm94ZWQn
KTsKKyAgICBjb25zdCBub25TYW5kYm94ZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9u
U2FuZGJveGVkJyk7CisgICAgY29uc3QgZmNwTWVzc2FnZVByb21pc2UgPSBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHsKKyAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICAg
ICAgICAgIHdpbmRvdy5yZWNlaXZlZEV2ZW50ID0gZXZlbnQ7CisgICAgICAgICAgICB3aW5kb3cu
cmVjZWl2ZWRFbnRyeSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAgICAgICAgICBzaG91
bGRCZUZhbHNlKCdkaWRSZWNlaXZlTWVzc2FnZScpOworICAgICAgICAgICAgZGlkUmVjZWl2ZU1l
c3NhZ2UgPSB0cnVlOworICAgICAgICAgICAgc2hvdWxkQmUoJ3JlY2VpdmVkRXZlbnQuc291cmNl
JywgImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKS5jb250ZW50V2luZG93
Iik7CisgICAgICAgICAgICBzaG91bGRCZSgncmVjZWl2ZWRFbnRyeS5uYW1lJywgIidmaXJzdC1j
b250ZW50ZnVsLXBhaW50JyIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdyZWNlaXZlZEVu
dHJ5LnN0YXJ0VGltZSAhPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKClbMF0uc3RhcnRUaW1lJyk7
CisgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH07CisgICAgfSk7CisKKyAgICBzYW5k
Ym94ZWQuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgicGFpbnQiLCAiKiIpOworICAgIGF3YWl0
IHdhaXRGb3JGQ1AoKTsKKyAgICBub25TYW5kYm94ZWQuY29udGVudFdpbmRvdy5wb3N0TWVzc2Fn
ZSgicGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBhd2FpdCBmY3BN
ZXNzYWdlUHJvbWlzZTsKKyAgICBzaG91bGRCZVRydWUoJ2RpZFJlY2VpdmVNZXNzYWdlJyk7Cisg
ICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50
IGNhbGxiYWNrIHdhcyBmaXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jv
c3Mtb3JpZ2luIGZyYW1lIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLnN1Yi5odG1sCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50
LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorQmFzaWMgSW50ZXJmYWNlIHRl
c3QgZm9yIHBhaW50LXRpbWluZyBBUElzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUGVyZm9ybWFuY2VQYWludFRpbWluZworUEFTUyBQZXJmb3JtYW5jZVBhaW50VGltaW5nIGlz
IGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcucHJvdG90eXBlLnRvSlNPTiBp
cyBkZWZpbmVkLgorUEFTUyBuZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5n
ICduZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygpJykuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dApfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
YWludC10aW1pbmctYXBpcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2
ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitQQVNTIGRpZFJl
Y2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVu
dHJpZXMoKS5sZW5ndGggaXMgMQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJm
aXJzdC1jb250ZW50ZnVsLXBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0
RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIsICJwYWludCIpLmxlbmd0aCBp
cyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3RoIGlz
IDEKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxi
YWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorVEVYVDIKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBh
aW50LWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCww
ICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVs
LXBhaW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Bl
cmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIt
Zmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEg
QEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbigiRW5zdXJlIFBlcmZvcm1hbmNlT2JzZXJ2ZXJzIGFyZSBub3RpZmllZCBv
bmNlIGZvciBmaXJzdC1jb250ZW50ZnVsLXBhaW50LiIpOword2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOworIAorKGFzeW5jICgpID0+IHsKKyAgICB3aW5kb3cuZGlkUmVjZWl2ZUZpcnN0Q29u
dGVudGZ1bFBhaW50ID0gZmFsc2U7CisgICAgd2luZG93LnN0YXJ0VGltZSA9IHBlcmZvcm1hbmNl
Lm5vdygpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHsKKyAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNl
cnZlcihlbnRyeUxpc3QgPT4geworICAgICAgICAgICAgd2luZG93LmVudHJ5TGlzdCA9IGVudHJ5
TGlzdDsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllcygpLmxlbmd0
aCcsICIxIik7CisgICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0LmdldEVudHJpZXNCeU5h
bWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAxKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAiMSIp
OworICAgICAgICAgICAgd2luZG93LmZjcEVudHJ5ID0gZW50cnlMaXN0LmdldEVudHJpZXMoKVsw
XTsKKyAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQ
YWludCcpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5Lm5hbWUnLCAnImZpcnN0LWNv
bnRlbnRmdWwtcGFpbnQiJyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50cnkuZW50cnlU
eXBlJywgJyJwYWludCInKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgnZmNwRW50cnkuc3Rh
cnRUaW1lID4gd2luZG93LnN0YXJ0VGltZScpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdm
Y3BFbnRyeS5zdGFydFRpbWUgPCBwZXJmb3JtYW5jZS5ub3coKScpOworICAgICAgICAgICAgc2hv
dWxkQmUoJ2ZjcEVudHJ5LmR1cmF0aW9uJywgIjAiKTsKKyAgICAgICAgICAgIGRpZFJlY2VpdmVG
aXJzdENvbnRlbnRmdWxQYWludCA9IHRydWU7CisgICAgICAgICAgICByZXNvbHZlKCk7CisgICAg
ICAgIH0pOworCisgICAgICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsncGFpbnQn
XX0pOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICdURVhUJzsKKyAgICB9KQor
ICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQyJzsKKyAgICBhd2FpdCB3YWl0Rm9y
RkNQKCk7CisgICAgc2hvdWxkQmVUcnVlKCdkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQn
KTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCcsICIxIik7
CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IiwgInBhaW50IikubGVuZ3Ro
JywgIjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicGFp
bnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIg
Zmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXNuJ3QgZmlyZWQgYWdhaW4gIik7Cisg
ICAgZmluaXNoSlNUZXN0KCk7Cit9KSgpOworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1h
bmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbApfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNw
LXN1YmZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQ+CisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0
ID0+IHsKKyAgICAgICAgbGlzdC5nZXRFbnRyaWVzKCkuZm9yRWFjaChlID0+IHsKKyAgICAgICAg
ICAgIGNvbnNvbGUubG9nKGUpOworICAgICAgICAgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2Fn
ZShKU09OLnN0cmluZ2lmeShlKSwgJyonKQorICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIG9i
c2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsncGFpbnQnXX0pOworICAgIHdpbmRvdy5vbm1l
c3NhZ2UgPSBlID0+IHsKKyAgICAgICAgaWYgKGUuZGF0YSA9PSAncGFpbnQnKQorICAgICAgICAg
ICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAiUEFJTlRFRCI7CisgICAgfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcwkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11
dGlscy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUgQEAKK2FzeW5jIGZ1bmN0aW9uIHdh
aXRGb3JGQ1AoKQoreworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVxdWVzdEFu
aW1hdGlvbkZyYW1lKCgpID0+IHJlc29sdmUoKSkpOworICAgIHJldHVybiB3aW5kb3cucGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0aCA9
PSAxOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRp
bWluZy1hcGkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAoraWYgKHNlbGYuaW1w
b3J0U2NyaXB0cykKKyAgICBpbXBvcnRTY3JpcHRzKCIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiKTsKKworaWYgKHNlbGYud2luZG93KQorICAgIGRlc2NyaXB0aW9uKCJCYXNpYyBJbnRl
cmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuIik7CisKK2RlYnVnKCJQZXJmb3JtYW5j
ZVBhaW50VGltaW5nIik7CitzaG91bGRCZURlZmluZWQoIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmci
KTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUudG9K
U09OYCk7CitzaG91bGRUaHJvdyhgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKWApOworCitp
ZiAoc2VsZi5pbXBvcnRTY3JpcHRzKQorICAgIGZpbmlzaEpTVGVzdCgpOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1p
bmctYXBpLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMK
KyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNs
ZXMucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5
IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy9jaXJjbGVzLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAt
MCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjpt
aW1lLXR5cGUKIyMgLTAsMCArMSAjIworaW1hZ2UvcG5nClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDUUFBQUJJQ0FZQUFBQ2VObGU1QUFB
QzdtbERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0a0NK
SldhdG9SZFEyL1JGaWF3emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytBSG5y
d1pDOUtoVnBGS042cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FCT1FO
eDFLaUVXbHNmRUpxCi9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdkN0oz
clpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVlTUcx
RHlzOXhGa2lmRUExTGM1L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpFTDFQ
a0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBPYkVo
ajBjR0RYMCtHQVZ0eHFwCitEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpX
a2hQMTB4dStMcUhCWDBtMXhPdjRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURVaFFF
RVVFWVppd1VFQ0dQQm94TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6KwpL
Q0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhqamMw
MWVmSlhVZHBOWFI1YXNlWHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1YalZm
UHFTNFIxV2pFMzM1OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZsUFh2
WHgvR2ZOeEdQaUtURW1kb3JuSVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZnWUpx
OAo5UzlkUDF0NHZVWi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJ
dmJPREltYnB0VTNIdkVLRmxwVzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhndkFF
Y2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xwZHRp
WjB4MXVIS0U1UXZmRXAwcGxrL3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFlSXVK
QUFBQQpDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFHWjBsRVFWUm9CZTJhVVc5VlJSREhkNjh0
RVZKTFcyS0N4Q1kraWdRRG9Za0tmZ0o4CjlNa25FdkVkdm9DbWtTK0E3MnBDUXNLVGovSUpCQ1NC
MU5Tb1BKcVUxQ2FrZ05pQWFlTmRmLytaT1QyMzU5N1NGdTdsNlV5eTUrek8KMloyWm5aM2RuWmw3
YzVyUEplMEtTc3BwaHA3N1UwbVBxRC9kSEZVUnlKdVlSSjhEOUprRzg0ejZROTY5WDNzNk5xcGpq
WGFqS1NMZApFR1FmOVJXSU8rbVN6c0wxQksxWnlpR0toRmpsdVVTSFh4aHpuZlpURXlPbncrRFhR
N0NPOWVReEVKNGprRmlQUVZERWxtMXdLWi95ClBwZEtPYzNiaGJBUHpRZERUYmg4ay9lVmxQTVAx
aU9uSTdRZlVOK2dETlpZN2w4eTEwcEtrd3daWnlDekxtY1I0bXZhcDR4d1NiOUMKN3lidGhWVHlI
N3ovRHZ6QmxNdFJtSjVrekdud3h3Ti9GNkcrWXN4MTJvZjRMb0dlVVBxMTFSQ29YaUt0dTFxbGZN
ZmpjMm9zWGI2RwpBSmZCMzZFTm1tSjlyRlhYaFJPVU5JZUFGNkh4R1MyWTUrK2hjVDdHemZDV2JX
MFZxaUZRWmJnUGJWRHEvc3lBRHlnM0dQY0Y3M3NtClFMSmxGQ0hOVkxiUjVTMkJoSk90U2JQQ3Vj
Mmw5QzdOYjJtZm9keUcxb2RCcHhLcW1vS01aQk0wMzBtS3BBYTZ2L000Q3BkdktCZUQKd0N6TXRU
d3I2Z0hVaE5RU0JZZXFwbVUvQ09wZUtwMlA2WENaY3NGcGQ5NERMMTdpcWVWeldwcFNOTVpCalJ2
UmdtYXlDYU4xbHpCdgowMmVLYit5Z3RCYjl0d29Ec2dmMFRXVXR4a3c1RFdnbGJFbTB4Y09YWE5w
VTJTS1F0dmFiSUZkWmMyeUdaU3FtbVV2ZzMySGdYNVRICk1haWFQYzBkd1ZscXJHaUlWc3FYbkRZ
OG5CYzhqWGUxN1BPNStBR0czYkNiVXZtUkRqZE14ZEtNQ0xrOTdNaDlGeDA2MEg0TG12ZFQKN3Y3
RUc1dktuMkRvMm4yeXAwZXlRczFDaGdpd3RZMjVHYkFRV3A3L1ZCa1NpSlpvQXNZRHJSaFBJU1JE
U1IyL0R0Z05kdWlkOHExdAp1MGtHWEMyVEJnd0RzdEhNbk81RlBEaEdFbWViODE1QmV6UFNrTzRt
d1RsN0pzNFpnZSttc0huL01xUm5KMmhETG5qWjZXL1U5NmVPClg1UjhzNU4xRWZRZEpOVjFvYTNv
b2xyZm9UMUU4MG53RUsvRjRDMXUySkJ1YlYyVVJVZDZ2aFZzUjZHWjVveWNoM2dhYjJTUUxJRTkK
RWIyNW02eW1FOWpQaFNhWjRiUkZleU40TFRoSjh4ejhJZ0V4NjBpN0tGVmQ5L1pJbitzK1pYZzZ1
QXhqcmhGM0pYUnJlOXNQcVZISwpVOTkvRlU5NUFac2FHaVhydmRIR3FBWHk5R1RsK0RPOC9kWTIx
TWdlNGlGZTR1bWdLMlJUUTdvMEFYT3VWSW1UVzlXUndUNDNEM2c2CnVBeSt5L0NCSFU2YWxINzd1
alhGaHlHL1JGdmVoUUR2VWhBeVlOU0tEblM1eVZYRlY3WmVvemZxNnNMV2dld21vNkRnZ0E3R2FW
TmQKTVlkY1B2QWNiVGxnY3B4OERsU0dDS0k1R1R6RTZ6Z0hzb0lCY1p2V3dmZ3MyRjV4cHZqQUF2
ZjBScUVwK1Y1aHlNRXJLVEl4cnBKbApIZ0h0N3VMRzc4cDV4NDQ2eDVCWS9yTzh4TWNtbnZWLzZZ
ZDhkcWVaOGJOTDl6Y29Mc0J2anZkaGVLMUlRNUl0VG1hRktrS1pRMDQxClRWQmVVMlZJSUZxaUNS
Z1BzUmRQZ1dTSUE4ZkRrU1BtdVdWQ0ZmUGtjTWpOczdOcmhZRzBYaHcwVnVlTy9LRDdrQkx0TS9C
VFdLUU4KcFFEU2c0dUlPdVNqUEdDQWJ2enpERGlHUzNBQjNDcHQrZFZ5OHVXd2EvbjJJcHkwTDV1
WjRqM0IrRCtoL1dYUXZtMjhqS2RGczA0MwpCTklNZFB0dU1CZ2diaW9LZzh5OWxKQWVCdmtNRlFi
SlZ4SzRLWHE5OTFscDh3MTZ5SUNYZkRJUkJwVkV0QXNQZ1VleHRYY1JBdW1UCmlJdlJEQVgxS1c1
U29LZzRxckE5WHpoUUZNMytRQkVrRUx4NkppWTk5WUNXVG11cGpvaW9XYkRPRm5HeUkzSzV5bmZ0
Q0oxVHk5U1YKT0pERy9vbWltMXU0WlFxNzFrTHBxMHhNdTBrUkJqWVRtdkVvUTd5MmlzQzJiK2FI
Zk4xMWVHMmZiRmlFK0MyK1B5L1o4QkhmMzRlaApsdVV1eHN0dTJudXl3Y2JIUTNhZyswWUJwR1lN
NFVqSDJCWHp2SFNNOWVZcTRnUzJReS9TTWI2YjlweU9NV3J4Y0cxNXFDUVBRTXNBCkg0cjg4SXpi
V2V4WWNBZlBJbDhaTUJlbEo2eThyeWNuZHBld0dyQmtJVXZmcThxTXZJNFFpaHAwREF3R0YzaUNQ
cE4wK0pkK3NoVmgKZDRhdEZyVnovNUgzNk5uMmczaTk3Skt0bVY1ZVdZNXgwSklaamtlYlk5UUNT
eHR1d0w3Y1ZiMHkzemJIMk56S3RVMVZ0VGJINkxhegovZE90VEg1VW0yUGNYa3U5WDlvY1k2ODJ0
cXUzT2NidE5OUEV1NlBSNWhpYmVxbmJiWTZ4MXNWZWFtMk9zZFpXbTJPc2RURzQxalYwCm0yUHMx
MDZiWSt6WFNZMXBjNHkxTHJ4V2hlSnRqakhPRkV2UEtZL1UrMmVVTnNkSWluZmdINXJhSEdQL24r
TDhkNjhsUXY1WG1tUFUKWHpORzk3ZkIvd0ZaYmcwNUVFTnVOd0FBQUFCSlJVNUVya0pnZ2c9PQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394899</attachid>
            <date>2020-03-30 04:11:16 -0700</date>
            <delta_ts>2020-03-30 04:50:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200330141113.patch</filename>
            <type>text/plain</type>
            <size>139683</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDExMiBAQAorMjAyMC0wMy0yMyAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BhaW50LXRpbWluZy8jZmlyc3QtY29udGVudGZ1bC1wYWludC4KKyAgICAgICAgQ3VycmVu
dGx5IG11dHVhbGx5IGV4Y2x1c2l2ZSB0byB2aXN1YWxseS1ub24tZW1wdHkgaGV1cmlzdGljcy4K
KworICAgICAgICBXaGVuIHRoZSBmcmFtZSBwYWludHMgb3IgZmx1c2hlcyB0aGUgY29tcG9zaXRp
bmcgc3RhdGUsIGl0IG1hcmtzIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgYXMgYSBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IHBlcmZvcm1hbmNlIGVudHJ5LgorCisgICAgICAgIFRlc3RzOiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
dmlzaWJpbGl0eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10ZXh0LWlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdpdGgtcnRsLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9maXJz
dC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5j
ZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sCisgICAgICAgICAg
ICAgICBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAorICAgICAgICAgICAg
ICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBT
b3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRU
aW1pbmcuaDogCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDoKKyAg
ICAgICAgICAgICAgICBBZGQgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNlLgor
CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFibGVk
IGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgUGFpbnRUaW1pbmdFbmFibGVkIHJ1bnRpbWUg
ZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJp
bmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNQYWludCBjb25zdCk6CisgICAgICAgICAgICAgICAgQWRk
IGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIHBhaW50IGVudHJpZXMuCisKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6CisgICAgICAgICAgICAgICAgQWRk
ICJwYWludCIgdG8gc3VwcG9ydGVkRW50cnlUeXBlcyB3aGVuIGluIGVsaWdpYmxlIGJyb3dzaW5n
IGNvbnRleHQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aXNDb250ZW50ZnVsIGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRWxlbWVudDo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVySFRNTENhbnZhczo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6Omhhc093blBhaW50YWJs
ZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck9iamVjdDo6Y29udGFpbnNQYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVmlkZW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlkZW86Omhh
c093blBhaW50YWJsZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJW
aWRlby5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSBjb25zdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aGFz
UGFpbnRhYmxlQmFja2dyb3VuZEltYWdlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVs
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR01vZGVsT2JqZWN0OjpoYXNP
d25QYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR01vZGVsT2JqZWN0Lmg6CisgICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciBjb21wdXRp
bmcgd2hldGhlciBlbGVtZW50cyBhcmUgY29udGVudGZ1bCAmIHBhaW50YWJsZS4KKworICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CitgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzRnJh
bWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzdXBwb3J0c1BhaW50VGltaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bWFya1BhaW50VGltaW5nSWZOZWVkZWQpOgor
ICAgICAgICAgICAgICAgIE1hcmsgZmlyc3QtY29udGVudGZ1bC1wYWludCBvbmNlIHdoZW4gY29t
cG9zaXRpbmcvcGFpbnRpbmcuCisKIDIwMjAtMDMtMjkgIERhdmlkIEtpbHplciAgPGRka2lsemVy
QGFwcGxlLmNvbT4KIAogICAgICAgICBXaW5kb3dzIGJ1aWxkIGZpeDogV2ViIEluc3BlY3Rvcjog
c3VwcG9ydCBlZGl0aW5nIGNvb2tpZSBrZXkvdmFsdWVzIGZyb20gaW5zcGVjdG9yCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTkzNiw2ICs5MzYsNyBAQCBzZXQoV2ViQ29y
ZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNr
LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwKICAgICBwYWdl
L1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1p
bmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbAogICAgIHBhZ2Uv
UGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5p
ZGwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gMjU5MTc5KQor
KysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAt
OTI2LDYgKzkyNiw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlci5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyQ2FsbGJhY2suaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdC5pZGwgXAorICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVBh
aW50VGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcu
aWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsIFwKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzE5OCw2ICszMTk4LDcgQEAgSlNQZXJmb3JtYW5jZU5h
dmlnYXRpb24uY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCiBKU1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXJDYWxsYmFjay5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAKK0pT
UGVyZm9ybWFuY2VQYWludFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5j
cHAKIEpTUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlVGltaW5nLmNw
cApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMzgwMSw2ICsxMzgwMSw5
IEBACiAJCUNBMDkxRDg2MjNDRjkwNzgwMEFENDM0NiAvKiBTdHlsZUltYWdlU2V0LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFN0eWxlSW1hZ2VTZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDQTA5MUQ4OTIzQ0Y5MDg4MDBBRDQzNDYgLyogU3R5bGVJbWFnZVNldC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTdHlsZUltYWdlU2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUNBMTYzNURDMjA3MkU3NjkwMEU3RDJDRSAvKiBSZWZlcnJlclBvbGljeS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWZlcnJlclBvbGljeS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkzM0Q0MjQwN0NGNkYwMDcxMjQxQSAvKiBQZXJmb3Jt
YW5jZVBhaW50RW50cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFuY2VQYWludEVudHJ5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkzM0Q1MjQwN0Q2NDAwMDcxMjQxQSAv
KiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0ExOTMzRDgyNDA3RURD
RjAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDQTNCRjY3QjEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Nyb2xsQW5pbWF0b3IuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyog
U2Nyb2xsQW5pbWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xs
QW5pbWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0E1MkJBRTUyM0QwQUYx
NjAwREUwQjg0IC8qIFN0eWxlQ3Vyc29ySW1hZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5
bGVDdXJzb3JJbWFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDk0Nyw2
ICsyMDk1MCw5IEBACiAJCQkJQTVBOTkzM0ExRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNl
T2JzZXJ2ZXJFbnRyeUxpc3QuY3BwICovLAogCQkJCUE1QTk5MzNCMUUzN0ZBRkQwMDVCNUU0RCAv
KiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmggKi8sCiAJCQkJQTVBOTkzM0MxRTM3RkFG
RDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsICovLAorCQkJCUNB
MTkzM0Q0MjQwN0NGNkYwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50RW50cnkuaCAqLywKKwkJ
CQlDQTE5MzNENTI0MDdENjQwMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICov
LAorCQkJCUNBMTkzM0Q4MjQwN0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5n
LmlkbCAqLywKIAkJCQk4NjUxMkVEQjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5jcHAgKi8sCiAJCQkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuaCAqLywKIAkJCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYg
LyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgKi8sCkBAIC0zMzczMyw2ICszMzczOSw3
IEBACiAJCQkJQTExRThDMDcxQjFFMjhGRTAwMDNBN0M3IC8qIG5vcnRoRWFzdFNvdXRoV2VzdFJl
c2l6ZUN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJCUExMUU4QzA4MUIxRTI5MDIwMDAz
QTdDNyAvKiBub3J0aFNvdXRoUmVzaXplQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJ
QTExRThDMDkxQjFFMjkwNzAwMDNBN0M3IC8qIG5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZUN1cnNv
ci5wbmcgaW4gUmVzb3VyY2VzICovLAorCQkJCUNBMTkzM0Q5MjQwN0VEQ0YwMDcxMjQxQSAvKiBQ
ZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJOTMxNTNCREMx
NDE5NTlCQzAwRkNGNUJFIC8qIHRleHRBcmVhUmVzaXplQ29ybmVyLnBuZyBpbiBSZXNvdXJjZXMg
Ki8sCiAJCQkJOTM3MDkxOEQxNDE2RDg2QjAwNDc3MzMzIC8qIHRleHRBcmVhUmVzaXplQ29ybmVy
QDJ4LnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCShyZXZp
c2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNl
RW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSwxMSBAQAogI2luY2x1
ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgiCiAjaW5j
bHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUGFp
bnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNp
bmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1lYXN1cmUu
aCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcgbmFtZXNw
YWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNE
T01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+JiYgZW50
cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkKKyAgICAg
ICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZ2xvYmFsT2Jq
ZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZz4oZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIApJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAkocmV2
aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0
aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNiArMTc5LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3VyZSkgXAogICAgIG1hY3JvKFBlcmZv
cm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWluZykgXAogICAgIG1hY3JvKFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVNlcnZlclRpbWlu
ZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXApJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNjEwLDkgKzE2MTAsOCBAQCBPcHRpb25hbDxzdGQ6OnBhaXI8UmVu
ZGVyT2JqZWN0KiwgRmxvYXRSCiAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKHJlbmRlcmVyLCBy
ZXN1bHQpOwogfQogCi1GbG9hdFJlY3QgRWxlbWVudDo6Ym91bmRpbmdDbGllbnRSZWN0KCkKK0Zs
b2F0UmVjdCBFbGVtZW50Ojpib3VuZGluZ0NsaWVudFJlY3RXaXRob3V0TGF5b3V0KCkKIHsKLSAg
ICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogICAg
IGF1dG8gcGFpciA9IGJvdW5kaW5nQWJzb2x1dGVSZWN0V2l0aG91dExheW91dCgpOwogICAgIGlm
ICghcGFpcikKICAgICAgICAgcmV0dXJuIHsgfTsKQEAgLTE2MjIsNiArMTYyMSwxMiBAQCBGbG9h
dFJlY3QgRWxlbWVudDo6Ym91bmRpbmdDbGllbnRSZWN0KCkKICAgICByZXR1cm4gcmVzdWx0Owog
fQogCitGbG9hdFJlY3QgRWxlbWVudDo6Ym91bmRpbmdDbGllbnRSZWN0KCkKK3sKKyAgICBkb2N1
bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIHJldHVy
biBib3VuZGluZ0NsaWVudFJlY3RXaXRob3V0TGF5b3V0KCk7Cit9CisKIFJlZjxET01SZWN0PiBF
bGVtZW50OjpnZXRCb3VuZGluZ0NsaWVudFJlY3QoKQogewogICAgIHJldHVybiBET01SZWN0Ojpj
cmVhdGUoYm91bmRpbmdDbGllbnRSZWN0KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCShyZXZp
c2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xOTIsNiArMTkyLDcgQEAgcHVibGljOgogICAgIE9wdGlvbmFsPHN0ZDo6cGFpcjxS
ZW5kZXJPYmplY3QqLCBGbG9hdFJlY3Q+PiBib3VuZGluZ0Fic29sdXRlUmVjdFdpdGhvdXRMYXlv
dXQoKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIEZsb2F0UmVjdCBib3VuZGluZ0NsaWVudFJlY3Qo
KTsKKyAgICBGbG9hdFJlY3QgYm91bmRpbmdDbGllbnRSZWN0V2l0aG91dExheW91dCgpOwogCiAg
ICAgV0VCQ09SRV9FWFBPUlQgUmVmPERPTVJlY3RMaXN0PiBnZXRDbGllbnRSZWN0cygpOwogICAg
IFJlZjxET01SZWN0PiBnZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsNiArNzEsNyBAQAogI2luY2x1ZGUg
Ik92ZXJmbG93RXZlbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZU92ZXJs
YXlDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKICNpbmNsdWRlICJQcm9n
cmVzc1RyYWNrZXIuaCIKICNpbmNsdWRlICJSZW5kZXJFbWJlZGRlZE9iamVjdC5oIgogI2luY2x1
ZGUgIlJlbmRlckZ1bGxTY3JlZW4uaCIKQEAgLTk4MSw2ICs5ODIsNyBAQCBib29sIEZyYW1lVmll
dzo6Zmx1c2hDb21wb3NpdGluZ1N0YXRlRm9yCiAjZW5kaWYKIAogICAgIHJlbmRlclZpZXctPmNv
bXBvc2l0b3IoKS5mbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoJnJvb3RGcmFtZUZvckZsdXNoID09
IG1fZnJhbWUucHRyKCkpOworICAgIG1hcmtQYWludFRpbWluZ0lmTmVlZGVkKCk7CiAKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KQEAgLTQwODcsNiArNDA4OSwzOCBAQCB2b2lkIEZyYW1lVmlldzo6d2ls
bFBhaW50Q29udGVudHMoR3JhcGhpCiAgICAgbV9pc1BhaW50aW5nID0gdHJ1ZTsKIH0KIAorYm9v
bCBGcmFtZVZpZXc6OnN1cHBvcnRzUGFpbnRUaW1pbmcoKSBjb25zdAoreworICAgIGlmICghUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQo
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIGZyYW1lKCkuaXNNYWluRnJh
bWUoKSAKKyAgICB8fCBmcmFtZSgpLmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkuY2FuQWNj
ZXNzKGZyYW1lKCkubWFpbkZyYW1lKCkuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSk7Cit9
CisKK3ZvaWQgRnJhbWVWaWV3OjptYXJrUGFpbnRUaW1pbmdJZk5lZWRlZCgpCit7CisgICAgaWYg
KG1fZGlkTWFya0ZpcnN0Q29udGVudGZ1bFBhaW50KQorICAgICAgICByZXR1cm47CisKKyAgICBp
ZiAobV9maXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRNaWxlc3RvbmVJc1BlbmRpbmcpCisgICAg
ICAgIHJldHVybjsKKworICAgIGlmICghc3VwcG9ydHNQYWludFRpbWluZygpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBjb25zdCBhdXRvKiBkb2N1bWVudCA9IGZyYW1lKCkuZG9jdW1lbnQoKTsK
KyAgICBjb25zdCBhdXRvKiB3aW5kb3cgPSBkb2N1bWVudC0+ZG9tV2luZG93KCk7CisgICAgaWYg
KCF3aW5kb3cpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghcmVuZGVyVmlldygpLT5jb250
YWluc1BhaW50YWJsZUNvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9kaWRNYXJr
Rmlyc3RDb250ZW50ZnVsUGFpbnQgPSB0cnVlOworICAgIHdpbmRvdy0+cGVyZm9ybWFuY2UoKS5y
ZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworfQorCiB2b2lkIEZyYW1lVmlldzo6ZGlkUGFp
bnRDb250ZW50cyhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIGRpcnR5
UmVjdCwgUGFpbnRpbmdTdGF0ZSYgcGFpbnRpbmdTdGF0ZSkKIHsKICAgICBtX2lzUGFpbnRpbmcg
PSBmYWxzZTsKQEAgLTUxMjIsNiArNTE1Niw3IEBAIHZvaWQgRnJhbWVWaWV3OjpmaXJlTGF5b3V0
UmVsYXRlZE1pbGVzdG8KICAgICBpZiAobWlsZXN0b25lc0FjaGlldmVkICYmIGZyYW1lKCkuaXNN
YWluRnJhbWUoKSkgewogICAgICAgICBpZiAobWlsZXN0b25lc0FjaGlldmVkLmNvbnRhaW5zKERp
ZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dCkpCiAgICAgICAgICAgICBGUkFNRVZJRVdfUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRChMYXlvdXQsICJmaXJlTGF5b3V0UmVsYXRlZE1pbGVzdG9uZXNJ
Zk5lZWRlZDogRmlyaW5nIGZpcnN0IHZpc3VhbGx5IG5vbi1lbXB0eSBsYXlvdXQgbWlsZXN0b25l
IG9uIHRoZSBtYWluIGZyYW1lIik7CisKICAgICAgICAgZnJhbWUoKS5sb2FkZXIoKS5kaWRSZWFj
aExheW91dE1pbGVzdG9uZShtaWxlc3RvbmVzQWNoaWV2ZWQpOwogICAgIH0KIH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuaAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtNjU4LDYgKzY1OCw4IEBAIHB1Ymxp
YzoKIAogICAgIGJvb2wgaW5VcGRhdGVFbWJlZGRlZE9iamVjdHMoKSBjb25zdCB7IHJldHVybiBt
X2luVXBkYXRlRW1iZWRkZWRPYmplY3RzOyB9CiAKKyAgICBib29sIHN1cHBvcnRzUGFpbnRUaW1p
bmcoKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAgIGJvb2wgc2Nyb2xsQ29udGVudHNGYXN0UGF0
aChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYgcmVjdFRvU2Nyb2xs
LCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCkgZmluYWw7CiAgICAgdm9pZCBzY3JvbGxDb250ZW50
c1Nsb3dQYXRoKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QpIGZpbmFsOwpAQCAtODE1LDYgKzgx
Nyw5IEBAIHByaXZhdGU6CiAgICAgfTsKICAgICB2b2lkIG92ZXJyaWRlVmlld3BvcnRTaXplRm9y
Q1NTVmlld3BvcnRVbml0cyhPdmVycmlkZVZpZXdwb3J0U2l6ZSk7CiAKKyAgICB2b2lkIG1hcmtQ
YWludFRpbWluZ0lmTmVlZGVkKCk7CisgICAgYm9vbCBtX2RpZE1hcmtGaXJzdENvbnRlbnRmdWxQ
YWludCB7IGZhbHNlIH07CisKICAgICBzdGF0aWMgTW9ub3RvbmljVGltZSBzQ3VycmVudFBhaW50
VGltZVN0YW1wOyAvLyB1c2VkIGZvciBkZXRlY3RpbmcgZGVjb2RlZCByZXNvdXJjZSB0aHJhc2gg
aW4gdGhlIGNhY2hlCiAKICAgICBjb25zdCBSZWY8RnJhbWU+IG1fZnJhbWU7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDcg
QEAKICNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNlcnZlci5oIgorI2luY2x1ZGUg
IlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJm
b3JtYW5jZVVzZXJUaW1pbmcuaCIKQEAgLTEyNCw2ICsxMjUsOSBAQCBWZWN0b3I8UmVmUHRyPFBl
cmZvcm1hbmNlRW50cnk+PiBQZXJmb3JtCiAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1f
dXNlclRpbWluZy0+Z2V0TWVhc3VyZXMoKSk7CiAgICAgfQogCisgICAgaWYgKG1fZmlyc3RDb250
ZW50ZnVsUGFpbnQpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVsUGFp
bnQpOworCiAgICAgc3RkOjpzb3J0KGVudHJpZXMuYmVnaW4oKSwgZW50cmllcy5lbmQoKSwgUGVy
Zm9ybWFuY2VFbnRyeTo6c3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKTsKICAgICByZXR1cm4gZW50
cmllczsKIH0KQEAgLTEzNSw2ICsxMzksOSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50
cnk+PiBQZXJmb3JtCiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5
VHlwZSwgInJlc291cmNlIikpCiAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVzb3Vy
Y2VUaW1pbmdCdWZmZXIpOwogCisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNl
KGVudHJ5VHlwZSwgInBhaW50IikgJiYgbV9maXJzdENvbnRlbnRmdWxQYWludCkKKyAgICAgICAg
ZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAobV91c2Vy
VGltaW5nKSB7CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRy
eVR5cGUsICJtYXJrIikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJU
aW1pbmctPmdldE1hcmtzKCkpOwpAQCAtMTU3LDYgKzE2NCw5IEBAIFZlY3RvcjxSZWZQdHI8UGVy
Zm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICAgICAgfQogICAgIH0KIAorICAgIGlmICgoZW50
cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlw
ZSwgInBhaW50IikpICYmIG5hbWUgPT0gImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiICYmIG1fZmly
c3RDb250ZW50ZnVsUGFpbnQpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50
ZnVsUGFpbnQpOworCiAgICAgaWYgKG1fdXNlclRpbWluZykgewogICAgICAgICBpZiAoZW50cnlU
eXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwg
Im1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+
Z2V0TWFya3MobmFtZSkpOwpAQCAtMTgwLDYgKzE5MCwxMiBAQCB2b2lkIFBlcmZvcm1hbmNlOjpz
ZXRSZXNvdXJjZVRpbWluZ0J1ZmZlCiAgICAgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlckZ1bGxGbGFn
ID0gZmFsc2U7CiB9CiAKK3ZvaWQgUGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0Q29udGVudGZ1bFBh
aW50KCkKK3sKKyAgICBtX2ZpcnN0Q29udGVudGZ1bFBhaW50ID0gUGVyZm9ybWFuY2VQYWludFRp
bWluZzo6Y3JlYXRlRmlyc3RDb250ZW50ZnVsUGFpbnQobm93KCkpOworICAgIHF1ZXVlRW50cnko
Km1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworfQorCiB2b2lkIFBlcmZvcm1hbmNlOjphZGRSZXNv
dXJjZVRpbWluZyhSZXNvdXJjZVRpbWluZyYmIHJlc291cmNlVGltaW5nKQogewogICAgIEFTU0VS
VChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2UuaAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9u
T3IuaCIKICNpbmNsdWRlICJHZW5lcmljVGFza1F1ZXVlLmgiCiAjaW5jbHVkZSA8d3RmL0xpc3RI
YXNoU2V0Lmg+CisjaW5jbHVkZSA8d3RmL09wdGlvblNldC5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTQ1LDYgKzQ2LDcgQEAgY2xhc3MgTG9hZFRpbWluZzsKIGNsYXNzIFBlcmZvcm1h
bmNlRW50cnk7CiBjbGFzcyBQZXJmb3JtYW5jZU5hdmlnYXRpb247CiBjbGFzcyBQZXJmb3JtYW5j
ZU9ic2VydmVyOworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZzsKIGNsYXNzIFBlcmZvcm1h
bmNlVGltaW5nOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291cmNlVGltaW5n
OwpAQCAtNzcsNiArNzksOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZFJlc291cmNlVGltaW5n
KFJlc291cmNlVGltaW5nJiYpOwogCisgICAgdm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWlu
dCgpOworCiAgICAgdm9pZCByZW1vdmVBbGxPYnNlcnZlcnMoKTsKICAgICB2b2lkIHJlZ2lzdGVy
UGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CiAgICAgdm9pZCB1bnJl
Z2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CkBAIC0xMjEs
NiArMTI1LDcgQEAgcHJpdmF0ZToKIAogICAgIE1vbm90b25pY1RpbWUgbV90aW1lT3JpZ2luOwog
CisgICAgUmVmUHRyPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IG1fZmlyc3RDb250ZW50ZnVsUGFp
bnQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFVzZXJUaW1pbmc+IG1fdXNlclRpbWluZzsKIAogICAg
IEdlbmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV9wZXJmb3JtYW5jZVRp
bWVsaW5lVGFza1F1ZXVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuY3BwCShyZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlRW50cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCwxMSBAQCBPcHRpb25hbDxQ
ZXJmb3JtYW5jZUVudHJ5OjpUeXBlPiBQZXJmb3JtCiAgICAgICAgICAgICByZXR1cm4gT3B0aW9u
YWw8VHlwZT4oVHlwZTo6UmVzb3VyY2UpOwogICAgIH0KIAorICAgIGlmIChSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnBhaW50VGltaW5nRW5hYmxlZCgpKSB7CisgICAg
ICAgIGlmIChlbnRyeVR5cGUgPT0gInBhaW50IikKKyAgICAgICAgICAgIHJldHVybiBPcHRpb25h
bDxUeXBlPihUeXBlOjpQYWludCk7CisgICAgfQorCiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgJKHJldmlzaW9u
IDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01Miw2ICs1Miw3IEBAIHB1YmxpYzoKICAgICAgICAgTWFyayA9IDEgPDwg
MSwKICAgICAgICAgTWVhc3VyZSA9IDEgPDwgMiwKICAgICAgICAgUmVzb3VyY2UgPSAxIDw8IDMs
CisgICAgICAgIFBhaW50ID0gMSA8PCA0CiAgICAgfTsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBl
KCkgY29uc3QgPSAwOwpAQCAtNjIsNiArNjMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Jlc291
cmNlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OlJlc291cmNlOyB9CiAgICAgYm9v
bCBpc01hcmsoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWFyazsgfQogICAgIGJv
b2wgaXNNZWFzdXJlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1lYXN1cmU7IH0K
KyAgICBib29sIGlzUGFpbnQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UGFpbnQ7
IH0KIAogICAgIHN0YXRpYyBib29sIHN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbihjb25zdCBSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4mIGEsIGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYg
YikKICAgICB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5jcHAJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBQZXJmb3JtYW5jZU9ic2VydmVyOjpQZXJmb3JtYW5jZU9ic2VydmVyKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJlZjxQZXJmb3Jt
YW5jZU9ic2VydmVyQ2FsbGJhY2s+JiYgY2FsbGJhY2spCiAgICAgOiBtX2NhbGxiYWNrKFdURk1v
dmUoY2FsbGJhY2spKQoteworeyAKICAgICBpZiAoaXM8RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQpKSB7CiAgICAgICAgIGF1dG8mIGRvY3VtZW50ID0gZG93bmNhc3Q8RG9jdW1lbnQ+
KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwogICAgICAgICBpZiAoRE9NV2luZG93KiB3aW5kb3cg
PSBkb2N1bWVudC5kb21XaW5kb3coKSkKQEAgLTExMywxNSArMTEzLDI5IEBAIHZvaWQgUGVyZm9y
bWFuY2VPYnNlcnZlcjo6ZGVsaXZlcigpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWRGaXJlT2JzZXJ2ZXJDYWxsYmFjaygqY29udGV4dCk7CiB9CiAKLVZlY3RvcjxTdHJpbmc+IFBl
cmZvcm1hbmNlT2JzZXJ2ZXI6OnN1cHBvcnRlZEVudHJ5VHlwZXMoKQorc3RhdGljIGJvb2wgc3Vw
cG9ydHNQYWludFRpbWluZyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogewotICAg
IHJldHVybiB7CisgICAgaWYgKCFpczxEb2N1bWVudD4oY29udGV4dCkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIGF1dG8qIHZpZXcgPSBkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCku
dmlldygpOworICAgIHJldHVybiB2aWV3ICYmIHZpZXctPnN1cHBvcnRzUGFpbnRUaW1pbmcoKTsK
K30KKworVmVjdG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlU
eXBlcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQoreworICAgIFZlY3RvcjxTdHJp
bmc+IGVudHJ5VHlwZXMgPSB7CiAgICAgICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3Jn
L2IvMTg0MzYzPiBBZGQgc3VwcG9ydCBmb3IgTmF2aWdhdGlvbiBUaW1pbmcgTGV2ZWwgMgogICAg
ICAgICAvLyAibmF2aWdhdGlvbiJfcywKICAgICAgICAgIm1hcmsiX3MsCiAgICAgICAgICJtZWFz
dXJlIl9zLAogICAgICAgICAicmVzb3VyY2UiX3MKICAgICB9OworCisgICAgaWYgKHN1cHBvcnRz
UGFpbnRUaW1pbmcoY29udGV4dCkpCisgICAgICAgIGVudHJ5VHlwZXMuYXBwZW5kKCJwYWludCJf
cyk7CisKKyAgICByZXR1cm4gZW50cnlUeXBlczsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgJKHJldmlz
aW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihjb250ZXh0LCBXVEZNb3ZlKGNhbGxi
YWNrKSkpOwogICAgIH0KIAotICAgIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRFbnRy
eVR5cGVzKCk7CisgICAgc3RhdGljIFZlY3RvcjxTdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXMo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogCiAgICAgdm9pZCBkaXNhc3NvY2lhdGUoKTsKIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCShyZXZp
c2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiBdIGludGVyZmFjZSBQZXJmb3Jt
YW5jZU9ic2VydmVyIHsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgb2JzZXJ2ZShQZXJm
b3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKLSAg
ICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PERPTVN0cmluZz4gc3VwcG9y
dGVkRW50cnlUeXBlczsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gc3Rh
dGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHN1cHBvcnRlZEVu
dHJ5VHlwZXM7CiB9OwogCiBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IHsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCShub25l
eGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
ICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZyBmaW5h
bCA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFBl
cmZvcm1hbmNlUGFpbnRUaW1pbmc+IGNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KGRvdWJsZSB0
aW1lU3RhbXApCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5j
ZVBhaW50VGltaW5nKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50Il9zLCB0aW1lU3RhbXApKTsKKyAg
ICB9CisKK3ByaXZhdGU6CisgICAgUGVyZm9ybWFuY2VQYWludFRpbWluZyhjb25zdCBTdHJpbmcm
IG5hbWUsIGRvdWJsZSB0aW1lU3RhbXApCisgICAgICAgIDogUGVyZm9ybWFuY2VFbnRyeShuYW1l
LCB0aW1lU3RhbXAsIHRpbWVTdGFtcCkKKyAgICB7CisgICAgfQorCisgICAgQVNDSUlMaXRlcmFs
IGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJwYWludCJfczsgfQorICAgIFR5cGUg
dHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFR5cGU6OlBhaW50OyB9CisKKyAgICB+UGVyZm9y
bWFuY2VQYWludFRpbWluZygpID0gZGVmYXVsdDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpQZXJmb3JtYW5jZVBh
aW50VGltaW5nKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpQZXJmb3Jt
YW5jZUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnkuaXNQYWludCgpOyB9CitTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX0VORCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
UGFpbnRUaW1pbmcuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VQYWludFRpbWluZy5pZGwJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRpYSBGb3VuZGF0aW9uLiBBbGwg
UmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BhaW50LXRpbWluZy8KKwordHlw
ZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKworWworICAgIEVuYWJsZWRBdFJ1bnRp
bWU9UGFpbnRUaW1pbmcsCisgICAgRXhwb3NlZD0oV2luZG93KSwKK10gaW50ZXJmYWNlIFBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcgOiBQZXJmb3JtYW5jZUVudHJ5IHsKK307CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkocmV2aXNpb24gMjU5MTc5
KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTYyLDYgKzYyLDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VXNlclRpbWlu
Z0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1VzZXJUaW1pbmdFbmFibGVkID0gaXNFbmFi
bGVkOyB9CiAgICAgYm9vbCB1c2VyVGltaW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNV
c2VyVGltaW5nRW5hYmxlZDsgfQogCisgICAgdm9pZCBzZXRQYWludFRpbWluZ0VuYWJsZWQoYm9v
bCBpc0VuYWJsZWQpIHsgbV9pc1BhaW50VGltaW5nRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAg
IGJvb2wgcGFpbnRUaW1pbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1BhaW50VGltaW5n
RW5hYmxlZDsgfQorCiAgICAgYm9vbCBwZXJmb3JtYW5jZVRpbWVsaW5lRW5hYmxlZCgpIGNvbnN0
IHsgcmV0dXJuIHJlc291cmNlVGltaW5nRW5hYmxlZCgpIHx8IHVzZXJUaW1pbmdFbmFibGVkKCk7
IH0KIAogICAgIHZvaWQgc2V0U2hhZG93RE9NRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lz
U2hhZG93RE9NRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQpAQCAtNDI0LDYgKzQyNyw3IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBtX2lzTGlua1ByZWxvYWRFbmFibGVkIHsgdHJ1ZSB9OwogICAgIGJvb2wg
bV9pc0xpbmtQcmVmZXRjaEVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc01lZGlhUHJl
bG9hZGluZ0VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1BhaW50VGltaW5nRW5hYmxl
ZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzUmVzb3VyY2VUaW1pbmdFbmFibGVkIHsgZmFsc2Ug
fTsKICAgICBib29sIG1faXNVc2VyVGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X2lzSW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQgeyBmYWxzZSB9OwpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMjU5MTc5
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMjksNiArMzI5LDUwIEBAIFN0eWxlRGlmZmVyZW5jZSBSZW5kZXJFbGVtZW50
OjphZGp1c3RTdHkKICAgICByZXR1cm4gZGlmZjsKIH0KIAorYm9vbCBSZW5kZXJFbGVtZW50Ojpj
b250YWluc1BhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIGlmICghb3BhY2l0eSgpIHx8
IGlzU1ZHSGlkZGVuQ29udGFpbmVyKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGF1
dG8gaGFzUG90ZW50aWFsbHlWaXNpYmxlUmVnaW9ucyA9IFsmXSgpIHsKKyAgICAgICAgaWYgKHN0
eWxlKCkudmlzaWJpbGl0eSgpICE9IFZpc2liaWxpdHk6OlZpc2libGUpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAgICAgYXV0byBkb2N1bWVudFJlY3QgPSB2aWV3KCkuZG9jdW1l
bnRSZWN0KCk7CisKKyAgICAgICAgaWYgKGF1dG8qIGN1cnJlbnQgPSBlbGVtZW50KCkpCisgICAg
ICAgICAgICByZXR1cm4gY3VycmVudC0+Ym91bmRpbmdDbGllbnRSZWN0V2l0aG91dExheW91dCgp
LmludGVyc2VjdHMoZG9jdW1lbnRSZWN0KTsKKworICAgICAgICByZXR1cm4gaXNWaXNpYmxlSW5E
b2N1bWVudFJlY3QoZG9jdW1lbnRSZWN0KTsKKyAgICB9OworCisgICAgaWYgKGlzQ29udGVudGZ1
bCgpICYmIGhhc1BvdGVudGlhbGx5VmlzaWJsZVJlZ2lvbnMoKSkKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisKKyAgICBmb3IgKGNvbnN0IFJlbmRlck9iamVjdCogcmVuZGVyT2JqZWN0ID0gZmlyc3RD
aGlsZCgpOyByZW5kZXJPYmplY3Q7IHJlbmRlck9iamVjdCA9IHJlbmRlck9iamVjdC0+bmV4dFNp
YmxpbmcoKSkgeworICAgICAgICBpZiAocmVuZGVyT2JqZWN0LT5jb250YWluc1BhaW50YWJsZUNv
bnRlbnQoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBm
YWxzZTsKK30KKworYm9vbCBSZW5kZXJFbGVtZW50Ojppc0NvbnRlbnRmdWwoKSBjb25zdAorewor
ICAgIGlmIChoYXNPd25QYWludGFibGVDb250ZW50KCkpCisgICAgICAgIHJldHVybiB0cnVlOwor
CisgICAgaWYgKHN0eWxlKCkuaGFzUGFpbnRhYmxlQmFja2dyb3VuZEltYWdlKCkpCisgICAgICAg
IHJldHVybiB0cnVlOworCisgICAgZm9yIChhdXRvJiBjaGlsZCA6IGNoaWxkcmVuT2ZUeXBlPFJl
bmRlck9iamVjdD4oKnRoaXMpKSB7CisgICAgICAgIGlmIChpczxSZW5kZXJUZXh0PihjaGlsZCkg
JiYgIWRvd25jYXN0PFJlbmRlclRleHQ+KGNoaWxkKS5jb250YWluc09ubHlIVE1MV2hpdGVzcGFj
ZSgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNl
OworfQorCiBpbmxpbmUgYm9vbCBSZW5kZXJFbGVtZW50OjpoYXNJbW1lZGlhdGVOb25XaGl0ZXNw
YWNlVGV4dENoaWxkT3JCb3JkZXJPck91dGxpbmUoKSBjb25zdAogewogICAgIGZvciAoYXV0byYg
Y2hpbGQgOiBjaGlsZHJlbk9mVHlwZTxSZW5kZXJPYmplY3Q+KCp0aGlzKSkgewpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCShyZXZpc2lvbiAyNTkxNzkpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDAsNiArMTAwLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRpcnR5TGlu
ZXNGcm9tQ2hhbmdlZENoaWxkKFJlbmRlck9iamVjdCYpIHsgfQogCisgICAgdmlydHVhbCBib29s
IGhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCiAgICAg
Ym9vbCBhbmNlc3RvckxpbmVCb3hEaXJ0eSgpIGNvbnN0IHsgcmV0dXJuIG1fYW5jZXN0b3JMaW5l
Qm94RGlydHk7IH0KICAgICB2b2lkIHNldEFuY2VzdG9yTGluZUJveERpcnR5KGJvb2wgZiA9IHRy
dWUpOwogCkBAIC0xMzksNiArMTQxLDggQEAgcHVibGljOgogICAgIGJvb2wgaXNUcmFuc3BhcmVu
dCgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkub3BhY2l0eSgpIDwgMS4wZjsgfQogICAgIGZsb2F0
IG9wYWNpdHkoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLm9wYWNpdHkoKTsgfQogCisgICAgYm9v
bCBjb250YWluc1BhaW50YWJsZUNvbnRlbnQoKSBjb25zdCBmaW5hbDsKKwogICAgIGJvb2wgdmlz
aWJsZVRvSGl0VGVzdGluZygpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkudmlzaWJpbGl0eSgpID09
IFZpc2liaWxpdHk6OlZpc2libGUgJiYgc3R5bGUoKS5wb2ludGVyRXZlbnRzKCkgIT0gUG9pbnRl
ckV2ZW50czo6Tm9uZTsgfQogCiAgICAgYm9vbCBoYXNCYWNrZ3JvdW5kKCkgY29uc3QgeyByZXR1
cm4gc3R5bGUoKS5oYXNCYWNrZ3JvdW5kKCk7IH0KQEAgLTMxNiw2ICszMjAsOCBAQCBwcml2YXRl
OgogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gY29tcHV0ZUZpcnN0TGluZVN0eWxl
KCkgY29uc3Q7CiAgICAgdm9pZCBpbnZhbGlkYXRlQ2FjaGVkRmlyc3RMaW5lU3R5bGUoKTsKIAor
ICAgIGJvb2wgaXNDb250ZW50ZnVsKCkgY29uc3Q7CisKICAgICBib29sIGNhbkRlc3Ryb3lEZWNv
ZGVkRGF0YSgpIGZpbmFsIHsgcmV0dXJuICFpc1Zpc2libGVJblZpZXdwb3J0KCk7IH0KICAgICBW
aXNpYmxlSW5WaWV3cG9ydFN0YXRlIGltYWdlRnJhbWVBdmFpbGFibGUoQ2FjaGVkSW1hZ2UmLCBJ
bWFnZUFuaW1hdGluZ1N0YXRlLCBjb25zdCBJbnRSZWN0KiBjaGFuZ2VSZWN0KSBmaW5hbDsKICAg
ICB2b2lkIGRpZFJlbW92ZUNhY2hlZEltYWdlQ2xpZW50KENhY2hlZEltYWdlJikgZmluYWw7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwCShy
ZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENh
bnZhcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDExIEBAIFJlbmRlckhUTUxDYW52
YXM6OlJlbmRlckhUTUxDYW52YXMoSFRNTEMKIHsKIH0KIAorYm9vbCBSZW5kZXJIVE1MQ2FudmFz
OjpoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gISFjYW52YXNF
bGVtZW50KCkucmVuZGVyaW5nQ29udGV4dCgpOworfQorCiBIVE1MQ2FudmFzRWxlbWVudCYgUmVu
ZGVySFRNTENhbnZhczo6Y2FudmFzRWxlbWVudCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGRvd25j
YXN0PEhUTUxDYW52YXNFbGVtZW50Pihub2RlRm9yTm9uQW5vbnltb3VzKCkpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5oCShyZXZpc2lvbiAyNTkx
NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NCw2ICs0NCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBlbGVtZW50KCkg
Y29uc3QgPSBkZWxldGU7CiAgICAgYm9vbCByZXF1aXJlc0xheWVyKCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgYm9vbCBpc0NhbnZhcygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KKyAg
ICBib29sIGhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdCBvdmVycmlkZTsKICAgICBjb25z
dCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIlJlbmRlckhUTUxD
YW52YXMiOyB9CiAgICAgdm9pZCBwYWludFJlcGxhY2VkKFBhaW50SW5mbyYsIGNvbnN0IExheW91
dFBvaW50Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBpbnRyaW5zaWNTaXplQ2hhbmdlZCgpIG92ZXJy
aWRlIHsgY2FudmFzU2l6ZUNoYW5nZWQoKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW1hZ2UuY3BwCShyZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMzksNiArMzM5LDEx
IEBAIHZvaWQgUmVuZGVySW1hZ2U6OnVwZGF0ZUludHJpbnNpY1NpemVJZk4KICAgICBzZXRJbnRy
aW5zaWNTaXplKG5ld1NpemUpOwogfQogCitib29sIFJlbmRlckltYWdlOjpoYXNPd25QYWludGFi
bGVDb250ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9pbWFnZVJlc291cmNlLT5jYWNoZWRJ
bWFnZSgpICYmICFtX2ltYWdlUmVzb3VyY2UtPmltYWdlU2l6ZSgxKS5pc0VtcHR5KCk7Cit9CisK
IHZvaWQgUmVuZGVySW1hZ2U6OnVwZGF0ZUlubmVyQ29udGVudFJlY3QoKQogewogICAgIC8vIFBy
b3BhZ2F0ZSBjb250YWluZXIgc2l6ZSB0byBpbWFnZSByZXNvdXJjZS4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCShyZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtNzYsNiAr
NzYsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkRGlzcGxheUJyb2tlbklt
YWdlSWNvbigpIGNvbnN0OwogCisgICAgYm9vbCBoYXNPd25QYWludGFibGVDb250ZW50KCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBoYXNOb25CaXRtYXBJbWFnZSgpIGNvbnN0OwogCiAgICAg
Ym9vbCBpc0VkaXRhYmxlSW1hZ2UoKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmgJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMjc4LDYgKzI3OCw4IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBpc1JlbmRlclNjcm9sbGJhclBhcnQoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQogCisgICAgdmlydHVhbCBib29sIGNvbnRhaW5zUGFpbnRhYmxl
Q29udGVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisKICAgICBib29sIGlzRG9jdW1lbnRF
bGVtZW50UmVuZGVyZXIoKSBjb25zdCB7IHJldHVybiBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVu
dCgpID09ICZtX25vZGU7IH0KICAgICBib29sIGlzQm9keSgpIGNvbnN0IHsgcmV0dXJuIG5vZGUo
KSAmJiBub2RlKCktPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpib2R5VGFnKTsgfQogICAgIGJvb2wg
aXNIUigpIGNvbnN0IHsgcmV0dXJuIG5vZGUoKSAmJiBub2RlKCktPmhhc1RhZ05hbWUoSFRNTE5h
bWVzOjpoclRhZyk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAko
cmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQu
aAkod29ya2luZyBjb3B5KQpAQCAtMTc5LDcgKzE3OSw3IEBAIHB1YmxpYzoKICAgICBMYXlvdXRV
bml0IHRvcE9mRmlyc3RUZXh0KCkgY29uc3Q7CiAgICAgCiAgICAgYm9vbCBjb250YWluc09ubHlI
VE1MV2hpdGVzcGFjZSh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgpIGNvbnN0OwotICAg
IAorICAgIGJvb2wgY29udGFpbnNPbmx5SFRNTFdoaXRlc3BhY2UoKSBjb25zdCB7IHJldHVybiBj
b250YWluc09ubHlIVE1MV2hpdGVzcGFjZSgwLCB0ZXh0KCkubGVuZ3RoKCkpOyB9IAogICAgIGJv
b2wgY2FuVXNlU2ltcGxpZmllZFRleHRNZWFzdXJpbmcoKSBjb25zdCB7IHJldHVybiBtX2NhblVz
ZVNpbXBsaWZpZWRUZXh0TWVhc3VyaW5nOyB9CiAKICAgICBWZWN0b3I8c3RkOjpwYWlyPHVuc2ln
bmVkLCB1bnNpZ25lZD4+IGRyYWdnZWRDb250ZW50UmFuZ2VzQmV0d2Vlbk9mZnNldHModW5zaWdu
ZWQgc3RhcnRPZmZzZXQsIHVuc2lnbmVkIGVuZE9mZnNldCkgY29uc3Q7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTkyLDYgKzkyLDE0IEBAIHZvaWQgUmVuZGVyVmlkZW86OmludHJpbnNpY1NpemVDaGFuZ2VkKCkK
ICAgICB1cGRhdGVJbnRyaW5zaWNTaXplKCk7IAogfQogCitib29sIFJlbmRlclZpZGVvOjpoYXNP
d25QYWludGFibGVDb250ZW50KCkgY29uc3QKK3sKKyAgICBpZiAodmlkZW9FbGVtZW50KCkuc2hv
dWxkRGlzcGxheVBvc3RlckltYWdlKCkpCisgICAgICAgIHJldHVybiBSZW5kZXJJbWFnZTo6aGFz
T3duUGFpbnRhYmxlQ29udGVudCgpOworCisgICAgcmV0dXJuIHZpZGVvRWxlbWVudCgpLnJlYWR5
U3RhdGUoKSA+IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6SEFWRV9NRVRBREFUQTsKK30KKwogYm9v
bCBSZW5kZXJWaWRlbzo6dXBkYXRlSW50cmluc2ljU2l6ZSgpCiB7CiAgICAgTGF5b3V0U2l6ZSBz
aXplID0gY2FsY3VsYXRlSW50cmluc2ljU2l6ZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclZpZGVvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclZpZGVvLmgJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJWaWRlby5oCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2Nyw3IEBAIHBy
aXZhdGU6CiAKICAgICBib29sIHJlcXVpcmVzTGF5ZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0
cnVlOyB9CiAgICAgYm9vbCBpc1ZpZGVvKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQor
ICAgIGJvb2wgaGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAg
dm9pZCBwYWludFJlcGxhY2VkKFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50JikgZmluYWw7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3Bw
CShyZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmls
bExheWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQwLDYgKzM0MCwxNSBAQCBib29sIEZpbGxM
YXllcjo6Y29udGFpbnNJbWFnZShTdHlsZUltYWdlCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiti
b29sIEZpbGxMYXllcjo6aGFzTG9hZGVkQ2FjaGVkSW1hZ2UoKSBjb25zdAoreworICAgIGZvciAo
YXV0byogbGF5ZXIgPSB0aGlzOyBsYXllcjsgbGF5ZXIgPSBsYXllci0+bV9uZXh0LmdldCgpKSB7
CisgICAgICAgIGlmIChsYXllci0+bV9pbWFnZSAmJiBsYXllci0+bV9pbWFnZS0+aXNMb2FkZWQo
KSAmJiBsYXllci0+bV9pbWFnZS0+aGFzQ2FjaGVkSW1hZ2UoKSkKKyAgICAgICAgICAgIHJldHVy
biB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgRmlsbExheWVyOjpp
bWFnZXNBcmVMb2FkZWQoKSBjb25zdAogewogICAgIGZvciAoYXV0byogbGF5ZXIgPSB0aGlzOyBs
YXllcjsgbGF5ZXIgPSBsYXllci0+bV9uZXh0LmdldCgpKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCShyZXZpc2lvbiAyNTkxNzkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgJKHdvcmtpbmcgY29weSkKQEAg
LTE0NSw2ICsxNDUsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGNvbnRhaW5zSW1hZ2UoU3R5bGVJ
bWFnZSYpIGNvbnN0OwogICAgIGJvb2wgaW1hZ2VzQXJlTG9hZGVkKCkgY29uc3Q7CisgICAgYm9v
bCBoYXNMb2FkZWRDYWNoZWRJbWFnZSgpIGNvbnN0OwogICAgIGJvb2wgaGFzSW1hZ2UoKSBjb25z
dCB7IHJldHVybiBtX25leHQgPyBoYXNJbWFnZUluQW55TGF5ZXIoKSA6IG1faW1hZ2U7IH0KICAg
ICBib29sIGhhc0ZpeGVkSW1hZ2UoKSBjb25zdDsKICAgICBib29sIGhhc09wYXF1ZUltYWdlKGNv
bnN0IFJlbmRlckVsZW1lbnQmKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTgwLDYgKzU4MCwyMSBAQCBib29sIFJlbmRlclN0eWxlOjppc0lkZW1wb3RlbnRUZXh0QXV0
b3NpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgUmVuZGVyU3R5bGU6Omhhc1BhaW50YWJs
ZUJhY2tncm91bmRJbWFnZSgpIGNvbnN0Cit7CisgICAgaWYgKCFoYXNCYWNrZ3JvdW5kSW1hZ2Uo
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgY29uc3QgRmlsbExheWVyJiBiYWNrZ3Jv
dW5kID0gYmFja2dyb3VuZExheWVycygpOworICAgIGlmICghYmFja2dyb3VuZC5oYXNMb2FkZWRD
YWNoZWRJbWFnZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoYmFja2dyb3Vu
ZFNpemVMZW5ndGgoKS5pc0VtcHR5KCkgJiYgYmFja2dyb3VuZFNpemVUeXBlKCkgPT0gRmlsbFNp
emVUeXBlOjpTaXplKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKwogQXV0b3NpemVTdGF0dXMgUmVuZGVyU3R5bGU6OmF1dG9zaXplU3RhdHVzKCkgY29uc3QK
IHsKICAgICByZXR1cm4gT3B0aW9uU2V0PEF1dG9zaXplU3RhdHVzOjpGaWVsZHM+Ojpmcm9tUmF3
KG1faW5oZXJpdGVkRmxhZ3MuYXV0b3NpemVTdGF0dXMpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC00MTUsNiArNDE1LDcgQEAgcHVibGljOgogICAgIGNvbnN0IExlbmd0aFNpemUmIGJhY2tn
cm91bmRTaXplTGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9iYWNrZ3JvdW5kRGF0YS0+YmFja2dy
b3VuZC5zaXplTGVuZ3RoKCk7IH0KICAgICBGaWxsTGF5ZXImIGVuc3VyZUJhY2tncm91bmRMYXll
cnMoKSB7IHJldHVybiBtX2JhY2tncm91bmREYXRhLmFjY2VzcygpLmJhY2tncm91bmQ7IH0KICAg
ICBjb25zdCBGaWxsTGF5ZXImIGJhY2tncm91bmRMYXllcnMoKSBjb25zdCB7IHJldHVybiBtX2Jh
Y2tncm91bmREYXRhLT5iYWNrZ3JvdW5kOyB9CisgICAgYm9vbCBoYXNQYWludGFibGVCYWNrZ3Jv
dW5kSW1hZ2UoKSBjb25zdDsKIAogICAgIFN0eWxlSW1hZ2UqIG1hc2tJbWFnZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPm1hc2suaW1hZ2UoKTsgfQogICAgIEZpbGxS
ZXBlYXQgbWFza1JlcGVhdFgoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxGaWxsUmVwZWF0
PihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5tYXNrLnJlcGVhdFgoKSk7IH0KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3Qu
Y3BwCShyZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR01vZGVsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU4LDYgKzE1OCwxMSBA
QCBzdGF0aWMgYm9vbCBpc0dyYXBoaWNzRWxlbWVudChjb25zdCBSZW5kCiAgICAgcmV0dXJuIHJl
bmRlcmVyLmlzU1ZHU2hhcGUoKSB8fCByZW5kZXJlci5pc1NWR1RleHQoKSB8fCByZW5kZXJlci5p
c1NWR0ltYWdlKCkgfHwgcmVuZGVyZXIuZWxlbWVudCgpLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp1
c2VUYWcpOwogfQogCitib29sIFJlbmRlclNWR01vZGVsT2JqZWN0OjpoYXNPd25QYWludGFibGVD
b250ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNHcmFwaGljc0VsZW1lbnQoKnRoaXMpOwor
fQorCiAvLyBUaGUgU1ZHIGFkZEZvY3VzUmluZ1JlY3RzKCkgbWV0aG9kIGFkZHMgcmVjdHMgaW4g
bG9jYWwgY29vcmRpbmF0ZXMgc28gdGhlIGRlZmF1bHQgYWJzb2x1dGVGb2N1c1JpbmdRdWFkcwog
Ly8gcmV0dXJucyBpbmNvcnJlY3QgdmFsdWVzIGZvciBTVkcgb2JqZWN0cy4gT3ZlcnJpZGluZyB0
aGlzIG1ldGhvZCBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIGFic29sdXRlIGJvdW5kcy4KIHZvaWQg
UmVuZGVyU1ZHTW9kZWxPYmplY3Q6OmFic29sdXRlRm9jdXNSaW5nUXVhZHMoVmVjdG9yPEZsb2F0
UXVhZD4mIHF1YWRzKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdNb2RlbE9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuaAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oCSh3b3JraW5nIGNvcHkp
CkBAIC02OSw2ICs2OSw3IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICBib29sIGlzUmVu
ZGVyU1ZHTW9kZWxPYmplY3QoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisgICAgYm9v
bCBoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3QgZmluYWw7CiAKICAgICAvLyBUaGlzIG1l
dGhvZCBzaG91bGQgbmV2ZXIgYmUgY2FsbGVkLCBTVkcgdXNlcyBhIGRpZmZlcmVudCBub2RlQXRQ
b2ludCBtZXRob2QKICAgICBib29sIG5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0Jiwg
SGl0VGVzdFJlc3VsdCYsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5l
ciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0QWN0aW9uKSBv
dmVycmlkZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDIwLTAzLTIzICBO
b2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQ
IChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGEgcnVudGltZSBmbGFnIGZvciBwYWludC10aW1pbmcgKHBh
aW50VGltaW5nRW5hYmxlZCkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFt
bDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHA6CisgICAgICAg
IChXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKToKKyAgICAgICAgKFdLUHJlZmVy
ZW5jZXNHZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNX
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjp1cGRhdGVQcmVmZXJlbmNlc1N0b3JlKToKKwogMjAy
MC0wMy0yOSAgZGRraWx6ZXJAYXBwbGUuY29tICA8ZGRraWx6ZXJAYXBwbGUuY29tQDI2OGY0NWNj
LWNkMDktMDQxMC1hYjNjLWQ1MjY5MWI0ZGJmYz4KIAogICAgICAgICBCdWlsZCBmaXggZm9yOiBb
aU9TXSBEZWxheSBwcm9jZXNzIHN1c3BlbnNpb24gZm9yIGEgd2hpbGUgYWZ0ZXIgbG9hZGluZyBh
biBhcHAgbGluawpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
CShyZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNl
cy55YW1sCSh3b3JraW5nIGNvcHkpCkBAIC04MzksNiArODM5LDEzIEBAIFVzZXJUaW1pbmdFbmFi
bGVkOgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgVXNlclRpbWluZyBBUEki
CiAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKK1BhaW50VGltaW5n
RW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IHRydWUKKyAgaHVtYW5SZWFk
YWJsZU5hbWU6ICJQYWludCBUaW1pbmciCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVu
YWJsZSBQYWludCBUaW1pbmcgQVBJIgorICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRG
ZWF0dXJlcworCiBCZWFjb25BUElFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1
ZTogdHJ1ZQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlcy5jcHAJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODE5LDYgKzE4MTks
MTYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0VXNlclRpbWluZ0VuYWJsZWQoVwogICAgIHJldHVy
biB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT51c2VyVGltaW5nRW5hYmxlZCgpOwogfQogCit2b2lk
IFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVm
ZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQoreworICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNl
dFBhaW50VGltaW5nRW5hYmxlZChmbGFnKTsKK30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0UGFp
bnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAg
cmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnBhaW50VGltaW5nRW5hYmxlZCgpOworfQor
CiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQogewogICAgIHRvSW1wbChwcmVmZXJlbmNl
c1JlZiktPnNldFJlc291cmNlVGltaW5nRW5hYmxlZChmbGFnKTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUu
aAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlc1JlZlByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNTAwLDYgKzUwMCwxMCBA
QCBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWluCiBXS19FWFBPUlQgYm9v
bCBXS1ByZWZlcmVuY2VzR2V0VXNlclRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CiAK
IC8vIERlZmF1bHRzIHRvIGZhbHNlCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0UGFp
bnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CitXS19FWFBPUlQg
Ym9vbCBXS1ByZWZlcmVuY2VzR2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYp
OworCisvLyBEZWZhdWx0cyB0byBmYWxzZQogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1Nl
dFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwogV0tf
RVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZl
cmVuY2VzUmVmKTsKIApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAko
cmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjIsNiAr
MTIyLDcgQEAgdm9pZCBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6dXBkYQogICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q2FjaGVBUElFbmFibGVk
KHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Y2FjaGVBUElFbmFi
bGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnNldEZldGNoQVBJRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5j
ZXNLZXk6OmZldGNoQVBJRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnVzZXJUaW1pbmdFbmFibGVkS2V5KCkpKTsKKyAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFBhaW50VGltaW5n
RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnBhaW50
VGltaW5nRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXNvdXJjZVRpbWluZ0VuYWJsZWRLZXkoKSkpOwogICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElLZWVw
QWxpdmVFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6
ZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3Moc3Rv
cmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXN0cmljdGVkSFRUUFJl
c3BvbnNlQWNjZXNzS2V5KCkpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDIwLTAzLTIzICBOb2FtIFJvc2VudGhhbCAg
PG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50
ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGEgcHJlZmVyZW5jZSBrZXkgZm9yIHBhaW50IHRpbWluZy4KKworICAgICAgICAqIFdl
YlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJQ
cmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgor
ICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBwYWludFRpbWluZ0VuYWJsZWRdKToKKyAgICAgICAg
KC1bV2ViUHJlZmVyZW5jZXMgc2V0UGFpbnRUaW1pbmdFbmFibGVkOl0pOgorICAgICAgICAqIFdl
YlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3
Lm1tOgorCiAyMDIwLTAzLTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgogCiAgICAgICAgIERyYWdEYXRhOjpjb250YWluc1VSTCgpIHNob3VsZCBhdm9pZCByZWFkaW5n
IFVSTCBzdHJpbmdzIGZyb20gdGhlIHBhc3RlYm9hcmQKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjYwLDYgKzI2MCw3
IEBACiAjZGVmaW5lIFdlYktpdEF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZFByZWZlcmVuY2VLZXkg
QCJXZWJLaXRBdHRhY2htZW50RWxlbWVudEVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdEludGVyc2Vj
dGlvbk9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRJbnRlcnNlY3Rpb25PYnNl
cnZlckVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdE1lbnVJdGVtRWxlbWVudEVuYWJsZWRQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0TWVudUl0ZW1FbGVtZW50RW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0UGFp
bnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFBhaW50VGltaW5nRW5hYmxlZCIK
ICNkZWZpbmUgV2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VXNl
clRpbWluZ0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZl
cmVuY2VLZXkgQCJXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdE1l
ZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0UHJlZmVyZW5jZUtleSBAIldl
YktpdE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0IgpJbmRleDogU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCShy
ZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02ODMsNiArNjgzLDcgQEAgKyAodm9pZClp
bml0aWFsaXplCiAjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKICAgICAgICAgQE5P
LCBXZWJLaXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5LAogI2VuZGlm
CisgICAgICAgIEBOTywgV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAg
ICAgICAgQE5PLCBXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAg
IEBOTywgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAg
QE5PLCBXZWJLaXRNZWRpYVVzZXJHZXN0dXJlSW5oZXJpdHNGcm9tRG9jdW1lbnQsCkBAIC0zMzA4
LDYgKzMzMDksMTYgQEAgLSAodm9pZClzZXRVc2VyVGltaW5nRW5hYmxlZDooQk9PTClmbGFnCiAg
ICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRVc2VyVGltaW5nRW5hYmxl
ZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKXBhaW50VGltaW5nRW5hYmxlZAoreworICAg
IHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFBhaW50VGltaW5nRW5hYmxlZFBy
ZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldFBhaW50VGltaW5nRW5hYmxlZDooQk9PTClm
bGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRQYWludFRp
bWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogLSAoQk9PTClyZXNvdXJjZVRpbWluZ0Vu
YWJsZWQKIHsKICAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRSZXNvdXJj
ZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkocmV2aXNp
b24gMjU5MTc5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlc1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjYxLDYgKzY2MSw3IEBAIEBpbnRlcmZh
Y2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGUpCiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9P
TCBrZXlnZW5FbGVtZW50RW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHVzZXJU
aW1pbmdFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcmVzb3VyY2VUaW1pbmdF
bmFibGVkOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcGFpbnRUaW1pbmdFbmFibGVkOwog
QHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbGlua1ByZWxvYWRFbmFibGVkOwogQHByb3BlcnR5
IChub25hdG9taWMpIEJPT0wgbWVkaWFVc2VyR2VzdHVyZUluaGVyaXRzRnJvbURvY3VtZW50Owog
QHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgaXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxl
ZDsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJl
dmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzE5Niw2ICszMTk2LDcgQEAgLSAodm9pZClfcHJlZmVy
ZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbgogCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy51c2VyVGlt
aW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMucmVzb3VyY2VUaW1pbmdFbmFi
bGVkKTsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFBh
aW50VGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5wYWludFRpbWluZ0VuYWJsZWQpOwogICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1ByZWxvYWRFbmFi
bGVkKHByZWZlcmVuY2VzLmxpbmtQcmVsb2FkRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZWRpYVByZWxvYWRpbmdFbmFibGVkKHByZWZl
cmVuY2VzLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0SXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZChw
cmVmZXJlbmNlcy5pc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKTsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDIw
LTAzLTIzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBs
ZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHByZWZlcmVuY2Uga2V5IGZvciBwYWludC10
aW1pbmcuCisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRs
OgorICAgICAgICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlBy
ZWZlcmVuY2VzLmg6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpu
b3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorCiAyMDIwLTAzLTE4ICB5b3Vlbm4gZmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHN1cmUgYSBwcmVmbGlnaHQgZmFpbHMg
aWYgcmVzcG9uc2UgaGVhZGVycyBhcmUgaW52YWxpZApJbmRleDogU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDI1OTE3
OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xOTcsNiArMTk3LDggQEAKIAogI2RlZmluZSBXZWJLaXRVc2Vy
VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFVzZXJUaW1pbmdFbmFibGVkIgogCisj
ZGVmaW5lIFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFBhaW50
VGltaW5nRW5hYmxlZCIKKwogI2RlZmluZSBXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVm
ZXJlbmNlS2V5ICJXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0
TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0TGlua1ByZWxvYWRFbmFibGVk
IgpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCShyZXZpc2lv
biAyNTkxNzkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yNTEsNiArMjUxLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRVc2VyVGltaW5nRW5hYmxlZChCT09MKTsKICAgICB2
aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcmVzb3VyY2VUaW1pbmdFbmFibGVkKF9P
dXRfIEJPT0wqKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0UmVz
b3VyY2VUaW1pbmdFbmFibGVkKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBwYWludFRpbWluZ0VuYWJsZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRQYWludFRpbWluZ0VuYWJsZWQoQk9PTCk7CiAgICAg
dmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGxpbmtQcmVsb2FkRW5hYmxlZChfT3V0
XyBCT09MKik7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldExpbmtQ
cmVsb2FkRW5hYmxlZChCT09MKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgbWVkaWFQcmVsb2FkaW5nRW5hYmxlZChfT3V0XyBCT09MKik7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyODMsNiArNTI4MywxMSBA
QCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlCiAgICAgICAgIHJldHVy
biBocjsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFVz
ZXJUaW1pbmdFbmFibGVkKCEhZW5hYmxlZCk7CiAKKyAgICBociA9IHByZWZzUHJpdmF0ZS0+cGFp
bnRUaW1pbmdFbmFibGVkKCZlbmFibGVkKTsKKyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAgICAg
cmV0dXJuIGhyOworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0UGFpbnRUaW1pbmdFbmFibGVkKCEhZW5hYmxlZCk7CisKICAgICBociA9IHByZWZzUHJpdmF0
ZS0+cmVzb3VyY2VUaW1pbmdFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkK
ICAgICAgICAgcmV0dXJuIGhyOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJm
YWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCShyZXZp
c2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xOTcsNiArMTk3LDggQEAg
aW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU0IDogSVdlYgogICAgIEhSRVNVTFQgc2V0
VXNlclRpbWluZ0VuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgcmVzb3Vy
Y2VUaW1pbmdFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOwogICAgIEhSRVNVTFQgc2V0UmVz
b3VyY2VUaW1pbmdFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIHBhaW50
VGltaW5nRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKKyAgICBIUkVTVUxUIHNldFBhaW50
VGltaW5nRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBsaW5rUHJlbG9h
ZEVuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MKik7CiAgICAgSFJFU1VMVCBzZXRMaW5rUHJlbG9h
ZEVuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgbWVkaWFQcmVsb2FkaW5n
RW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE3OSkKKysrIFRvb2xzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDIwLTAzLTIzICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChm
aXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHByZWZlcmVuY2Uga2V5IGZvciBwYWludC10aW1pbmcuCisKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChy
ZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJl
bmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0
Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpyZXNldFByZWZl
cmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKwogMjAyMC0wMy0yOCAgQWxleCBDaHJpc3RlbnNl
biAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI1Nzk2
MykgVUkgcHJvY2VzcyBjcmFzaGVzIHdoZW4gc2V0dGluZyBuYXZpZ2F0aW9uIGRlbGVnYXRlIGlu
c2lkZSBuYXZpZ2F0aW9uIGRlbGVnYXRlIGNhbGxiYWNrcwpJbmRleDogVG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMjU5MTc5KQorKysgVG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDA0LDYgKzEwMDQsNyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0
CiAgICAgW3ByZWZlcmVuY2VzIHNldE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkOllFU107CiAg
ICAgW3ByZWZlcmVuY2VzIHNldFJlc291cmNlVGltaW5nRW5hYmxlZDpZRVNdOwogICAgIFtwcmVm
ZXJlbmNlcyBzZXRVc2VyVGltaW5nRW5hYmxlZDpZRVNdOworICAgIFtwcmVmZXJlbmNlcyBzZXRQ
YWludFRpbWluZ0VuYWJsZWQ6WUVTXTsKIAogICAgIFtwcmVmZXJlbmNlcyBzZXRDYWNoZUFQSUVu
YWJsZWQ6Tk9dOwogICAgIHByZWZlcmVuY2VzLm1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxlZCA9IFlF
UzsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAko
cmV2aXNpb24gMjU5MTc5KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJU
cmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODk5LDYgKzg5OSw3IEBAIHN0YXRpYyB2b2lkIHJl
c2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3QKICAgICBwcmVmc1ByaXZhdGUtPnNldEN1c3RvbUVs
ZW1lbnRzRW5hYmxlZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGUtPnNldFJlc291cmNlVGltaW5n
RW5hYmxlZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGUtPnNldFVzZXJUaW1pbmdFbmFibGVkKFRS
VUUpOworICAgIHByZWZzUHJpdmF0ZS0+c2V0UGFpbnRUaW1pbmdFbmFibGVkKFRSVUUpOwogICAg
IHByZWZzUHJpdmF0ZS0+c2V0RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkKFRSVUUpOwogICAgIHBy
ZWZzUHJpdmF0ZS0+Y2xlYXJOZXR3b3JrTG9hZGVyU2Vzc2lvbigpOwogCkluZGV4OiBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMjU5MTc5KQorKysg
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTkzMSw2ICs5MzEsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2Vz
VG9DCiAgICAgV0tQcmVmZXJlbmNlc1NldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChwcmVmZXJl
bmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChw
cmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbmdFbmFibGVk
KHByZWZlcmVuY2VzLCB0cnVlKTsKKyAgICBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFi
bGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQcmVsb2Fk
aW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldE1lZGlh
UGxheWJhY2tBbGxvd3NJbmxpbmUocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5j
ZXNTZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZShwcmVm
ZXJlbmNlcywgZmFsc2UpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5MTc5KQorKysgTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMjAtMDMtMjMg
IE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBG
Q1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0cyBmb3Igc29tZSBmaXJzdC1jb250ZW50ZnVs
LXBhaW50IChGQ1ApIHVzZS1jYXNlcy4KKworICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wYWlu
dC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNl
LWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5j
ZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanM6IEFkZGVkLgorICAgICAgICAgICAg
ICAgIFRlc3QgZXhpc3RlbmNlIG9mIHBhaW50IHRpbWluZyBBUEkgb24gdGhlIHdpbmRvdyBvYmpl
Y3QuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC1m
cmFtZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmly
c3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9y
bWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtd2l0aC13b3JrZXItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWlu
dC13aXRoLXdvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVz
b3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1h
cGkvcmVzb3VyY2VzL3dvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgICAgICAgICBUZXN0IHRo
YXQgRkNQIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNyb3NzLW9yaWdpbiBmcmFtZXMgYW5kIHdvcmtl
cnMuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmly
c3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZv
cm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBp
LXV0aWxzLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5jIHdhaXRGb3JGQ1ApOgorICAgICAgICAg
ICAgICAgIFRlc3QgdGhhdCBwZXJmb3JtYW5jZSBvYnNlcnZlcnMgYXJlIGNhbGxlZCBmb3IgRkNQ
LgorCiAyMDIwLTAzLTI4ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5j
b20+CiAKICAgICAgICAgUmVncmVzc2lvbjogZmFzdC9oaWRwaS9pbWFnZS1zcmNzZXQtc3ZnLWNh
bnZhcy0yeC5odG1sIGlzIGZhaWxpbmcgY29uc2lzdGVudGx5IG9uIGlPUyBFV1MKSW5kZXg6IExh
eW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy90
ZXN0cy1vcHRpb25zLmpzb24JKHJldmlzaW9uIDI1OTE3OSkKKysrIExheW91dFRlc3RzL3Rlc3Rz
LW9wdGlvbnMuanNvbgkod29ya2luZyBjb3B5KQpAQCAtMTcsNiArMTcsOSBAQAogICAgICJpbXBv
cnRlZC93M2MvY3NzL2Nzcy12YWx1ZXMvdmhfbm90X3JlZnJlc2hpbmdfb25fY2hyb21lLmh0bWwi
OiBbCiAgICAgICAgICJzbG93IgogICAgIF0sCisgICAgImltcG9ydGVkL3czYy9wYWludC10aW1p
bmcvZmlyc3QtaW1hZ2UtY2hpbGQuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKICAg
ICAiaW1wb3J0ZWQvdzNjL3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3Vw
ZGF0aW5nLXRoZS1maW5pc2hlZC1zdGF0ZS5odG1sIjogWwogICAgICAgICAic2xvdyIKICAgICBd
LApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTkxNzkpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsNzggQEAKKzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3Jn
PgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBvcnRlZCB0ZXN0
LXN1aXRlIGZyb20gdzNjIHRvIGNvdmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FzZXMuCisg
ICAgICAgIFRoZSBmY3Atb25seSBjYXNlcyBhcmUgaW1wb3J0ZWQsIHdoaWxlIHRoZSBvdGhlciBv
bmVzIGFyZSBub3Qgc2luY2UgV2ViS2l0IGRvZXMgbm90IHN1cHBvcnQgZmlyc3QtcGFpbnQuCisK
KyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQt
c2l6ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1p
bWFnZS1zZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmct
aW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRl
eHQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNk
LXJvdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRy
YW5zaXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2Nl
bmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3BhY2l0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJv
dW5kcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJv
dW5kcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFn
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBz
ZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1v
cGFjaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxp
dHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXN2Zy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1
ZG8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atdmlk
ZW8tZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hp
dGVzcGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1y
dGwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNl
cy9jaXJjbGUuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJj
ZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qczogQWRkZWQuCisgICAg
ICAgICh3YWl0VGltZSk6CisgICAgICAgIChhc3luYyBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBh
aW50KToKKyAgICAgICAgKGFzeW5jIGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAg
ICAgKHRlc3RfZmNwKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisKIDIwMjAtMDMtMjYgIEFsZXhleSBT
aHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIFN5bmMgd3B0L2RvbXhw
YXRoIGFuZCByZS1zeW5jIHdwdC9jc3MvY3Nzb20tdmlldyBmcm9tIHVwc3RyZWFtCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNv
bgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9y
dC1leHBlY3RhdGlvbnMuanNvbgkocmV2aXNpb24gMjU5MTc5KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24JKHdvcmtpbmcgY29w
eSkKQEAgLTEzLDYgKzEzLDggQEAKICAgICAiY3NzL2dlb21ldHJ5IjogImltcG9ydCIsIAogICAg
ICJjc3Mvc3VwcG9ydCI6ICJpbXBvcnQiLCAKICAgICAiY3VzdG9tLWVsZW1lbnRzIjogImltcG9y
dCIsIAorICAgICJwYWludC10aW1pbmcvIjogImltcG9ydCIsIAorICAgICJwYWludC10aW1pbmcv
ZmNwLW9ubHkiOiAiaW1wb3J0IiwgCiAgICAgInNoYWRvdy1kb20iOiAiaW1wb3J0IiwgCiAgICAg
InRvb2xzIjogImltcG9ydCIsIAogICAgICJ3ZWItYW5pbWF0aW9ucyI6ICJpbXBvcnQiLCAKQEAg
LTMxOSw3ICszMjEsOCBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvb3JpZW50YXRpb24tZXZl
bnQiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvb3JpZW50YXRpb24tc2Vuc29y
IjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BhZ2UtdmlzaWJpbGl0eSI6ICJz
a2lwIiwgCi0gICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmciOiAic2tpcCIsIAor
ICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5IjogImltcG9ydCIs
IAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcyI6ICJpbXBv
cnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtaGFuZGxlciI6ICJza2lwIiwg
CiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LW1ldGhvZC1iYXNpYy1jYXJkIjogInNr
aXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtbWV0aG9kLWlkIjogInNraXAi
LCAKQEAgLTQwMCw3ICs0MDMsNyBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvd2VidXNiIjog
InNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3dlYnZyIjogInNraXAiLCAKICAgICAi
d2ViLXBsYXRmb3JtLXRlc3RzL3dlYnZ0dCI6ICJza2lwIiwgCi0gICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJ4ciI6ICJpbXBvcnQiLAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIiOiAi
aW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzIjogImltcG9ydCIsIAog
ICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMiOiAic2tpcCIsIAogICAgICJ3ZWItcGxh
dGZvcm0tdGVzdHMveC1mcmFtZS1vcHRpb25zIjogInNraXAiLCAKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tn
cm91bmQgc2l6ZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gYmFja2dyb3VuZCBzaXplPC90aXRs
ZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAg
ICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNr
Z3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgYmFj
a2dyb3VuZC1zaXplOiAwIDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBk
ZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAg
ICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2
IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgc2l6ZS4iKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBw
YWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBpbWFnZSBpbiBpbWFnZS1zZXQuIAorCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWJnLWltYWdlLXNldC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1p
bWFnZS1zZXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
ZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0PC90aXRsZT4KKzxzdHlsZT4KKyAg
ICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Ag
c2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBiYWNrZ3JvdW5kLWlt
YWdlOiAtd2Via2l0LWltYWdlLXNldCh1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKSAxeCk7
CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXNldCh1cmwoLi4vcmVzb3VyY2VzL2Np
cmNsZXMucG5nKSAxeCk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4K
KzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVl
IHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBz
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2
aXNpYmxlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Q
ZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBmaXJlIGZvciBiYWNrZ3Jv
dW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7
CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisK
KyAgICAvKiBjb250ZW50ZnVsIGFuZCBwcmVGQ1AgY2xhc3NlcyBhcmUgZGVmaW5lZCBpbiB0ZXN0
X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4ucHJlRkNQIHsKKyAgICAgICAgdmlzaWJpbGl0eTog
aGlkZGVuOworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwsICAjbWFpbi5wcmVGQ1Agewor
ICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsK
KyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlz
aWJsZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4K
KyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dyb3Vu
ZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBDYW52YXMgc2hvdWxkIGNvdW50IGFz
IGNvbnRlbnRmdWwgd2hlbiBjb250ZXh0IGlzIGNyZWF0ZWQgCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1jYW52YXMtY29udGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMt
Y29udGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4
dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCB3aGVuIGNh
bnZhcyBjb250ZXh0IGlzIGNyZWF0ZWQ8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lk
dGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBh
aW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBu
ZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAg
IGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICBjb25zdCBjYW52YXMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FudmFzJyk7CisgICAgY29uc3QgY29udGV4dCA9
IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworICAgIGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgMTAw
LCAxMDApOworICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdD
YW52YXMgc2hvdWxkIGNvdW50IGFzIGNvbnRlbnRmdWwgd2hlbiBjb250ZXh0IGlzIGNyZWF0ZWQn
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3Jh
ZGllbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBHcmFkaWVudHMg
c2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3Jh
ZGllbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1h
bmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIG5vdCBmaXJlIHdpdGggZ3JhZGllbnQt
b25seSBiYWNrZ3JvdW5kczwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3
aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGJhY2tncm91bmQt
aW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIG9yYW5nZSwgYmx1ZSk7CisgICAgfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVz
dChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1h
bmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAg
Y29uc3QgbWFpbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluJyk7CisgICAgICBhd2Fp
dCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOwor
ICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAgJ0dyYWRp
ZW50cyBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwnKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNj
ZW5kYW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyByb3RhdGluZyBpbnRvIHZp
ZXcuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVz
Y2VuZGFudC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qt
cm90YXRlLWRlc2NlbmRhbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBU
ZXN0OiBGQ1AgZHVlIHRvIDNkIHJldmVhbGluZyBvZiBkZXNjZW5kYW50czwvdGl0bGU+Cis8c3R5
bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwor
ICAgICAgICB0b3A6IDA7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCg0NWRlZyk7CisgICAg
ICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7CisgICAgfQorCisgICAgLyoKKyAgICAg
ICBUaGlzIHRlc3RzIHRoYXQgZ2l2ZW4gbXVsdGlwbGljYXRpb24gZWZmZWN0IG9mIDNkIHRyYW5z
Zm9ybXMgb24gYm91bmRpbmcgcmVjdCwKKyAgICAgICBBbiBlbGVtZW50IGNvdW50cyBhcyBjb250
ZW50ZnVsL3BhaW50YWJsZSBvbmx5IHdoZW4gaXRzIGJvdW5kaW5nIHJlY3QgaXMgdHJ1bHkgbm9u
LWVtcHR5ICovCisgICAgI2NoaWxkIHsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDQ1ZGVn
KTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9m
Y3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06
IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJj
aGlsZCI+VGV4dDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyByb3RhdGlu
ZyBpbnRvIHZpZXcuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldy4gCisKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGlt
aW5nIFRlc3Q6IEZDUCBkdWUgdG8gM2Qgcm90YXRpb24gaW50byB2aWV3PC90aXRsZT4KKzxzdHls
ZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoOTBk
ZWcpOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICB9
CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0
LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7Cisg
ICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj5UZXh0PC9kaXY+Cis8c2NyaXB0PgorICAg
IHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byAzZCByb3RhdGlv
biBpbnRvIHZpZXcuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS1zY2FsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS1zY2FsZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8g
c2NhbGUgYmVjb21pbmcgcG9zaXRpdmUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RFWFQKKworUEFTUyBGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIHdoZW4gcmV2ZWFsZWQgZHVyaW5nIHRyYW5zaXRpb24uIAorCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgaW4gdHJhbnNpdGlvbjwv
dGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3Jt
OiBzY2FsZSgwKTsKKyAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwczsKKyAgICAgICAg
cG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAgLyogY29u
dGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFp
bi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKKyAgICB9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRFWFQ8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3Ao
IkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcgdHJhbnNp
dGlvbi4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS1zY2FsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtc2NhbGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNj
YWxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0
byBzY2FsZSBjaGFuZ2U8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lk
dGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7Cisg
ICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3Vy
Y2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRl
ZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAg
ICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48
L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorSU5WSVNJQkxFCisKK1BBU1MgRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlz
aWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFp
bnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgc3RpbGwgZmlyZSBmb3IgaW52aXNpYmxlIHRleHQ8
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZl
OworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
IHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7Cisg
ICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNj
cmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlz
aWJsZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIElOVklTSUJMRQor
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiIpCis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRh
bnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRl
c2NlbmRhbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4
dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3Rv
ciBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0
eS1kZXNjZW5kYW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVz
Y2VuZGFudC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2Nl
bmRhbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVl
IHRvIGFuY2VzdG9yIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAg
ICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAw
cHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0K
KworICAgICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29u
dGVudGZ1bCBhbmQgaW50ZXJtZWRpYXRlIGNsYXNzZXMgYXJlIGRlZmluZWQgaW4gdGVzdF9mY3Ag
c2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0
eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgI2NoaWxkIHsKKyAgICAgICAg
b3BhY2l0eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgeworICAgICAgICBv
cGFjaXR5OiAwOworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFj
aXR5OiAwLjU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlk
PSJjaGlsZCI+VGV4dDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3Np
dGl2ZSBvcGFjaXR5LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LW9wYWNpdHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFj
aXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVsZW1l
bnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9w
YWNpdHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVl
IHRvIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6
IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAg
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3Jv
dW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgb3BhY2l0
eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFjaXR5
OiAwLjE7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+
CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIG9wYWNp
dHktcmV2ZWFsZWQgZWxlbWVudC4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0
LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQu
IAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHRyYW5zZm9y
bS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudDwvdGl0bGU+Cis8c3R5bGU+CisgICAg
I21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMDBweCk7
CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBi
YWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisK
KyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAq
LworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBp
bnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW91dC1vZi1ib3VuZHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBU
ZXN0OiBGQ1AgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50PC90aXRsZT4KKzxzdHls
ZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgbGVmdDogLTEwMDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZl
OworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNv
dXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMg
ZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7Cisg
ICAgICAgIGxlZnQ6IDBweDsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2
PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBk
dWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIikKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtZGlzcGxheS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQg
dGV4dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+
Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRv
LWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3Np
dGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhU
IjsKKyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNs
YXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRm
dWw6YWZ0ZXIgeworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxk
aXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1p
bWFnZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LWltYWdlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNl
dWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1l
bGVtZW50IGltYWdlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVh
ZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1
ZG8tZWxlbWVudCBpbWFnZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4g
dGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAg
ICBjb250ZW50OiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4iKQor
PC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4gCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0dGlu
ZyBwb3NpdGl2ZSBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAg
IHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDog
IlRFWFQiOworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwg
Y2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVu
dGZ1bDphZnRlciB7CisgICAgICAgIG9wYWNpdHk6IDAuNTsKKyAgICB9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxk
aXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZl
IG9wYWNpdHkuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LXRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZD
UCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlz
IGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0
ZXIgeworICAgICAgICBjb250ZW50OiAiVEVYVCIKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9
Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4KKzwv
Ym9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2li
aWxpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFu
Y2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcg
dmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjog
cmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAg
ICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xh
c3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1
bDphZnRlciB7CisgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+
Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlz
aWJsZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
c3ZnLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIHdoZW4gU1ZHIGJlY29tZXMgY29udGVudGZ1bC4gCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1zdmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQg
VGltaW5nIFRlc3Q6IEZDUCB3aXRoIFNWRzwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4gewor
ICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxl
ZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgIH0KKworICAgICNjaXJj
bGUgeworICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNs
YXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRm
dWwgI2NpcmNsZSB7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0Pgor
PGRpdiBpZD0ibWFpbiI+CisgIDxzdmcgdmlld0JveD0iMCAwIDEwIDEwIiB4bWxucz0iaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmciCisgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hsaW5rIj4KKyAgICA8ZGVmcz4KKyAgICAgIDxjaXJjbGUgaWQ9Im15Q2lyY2xlIiBj
eD0iNSIgY3k9IjUiIHI9IjQiIHN0cm9rZT0iYmx1ZSIvPgorICAgIDwvZGVmcz4KKyAgICA8dXNl
IGlkPSJjaXJjbGUiIGhyZWY9IiNteUNpcmNsZSIgZmlsbD0iZ3JlZW4iIC8+CisgIDwvc3ZnPgor
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIHdoZW4gU1ZHIGJlY29tZXMgY29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisK
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVGV4dCBpbnB1dCBzaG91bGQgYmVjb21lIGNv
bnRlbnRmdWwgd2hlbiBpdHMgdmFsdWUgaXMgbm9uLWVtcHR5IAorCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdGV4dC1pbnB1dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRp
dGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIGZvciBub24tZW1wdHkg
dGV4dCBpbnB1dDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPGlucHV0IGlkPSJpbnB1dCIgdHlwZT0idGV4dCIgLz4KKzxz
Y3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25k
aXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qg
c3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50
ZnVsUGFpbnQoKTsKKyAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2lucHV0Jyk7CisgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJyAgJyk7CisgICAg
ICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgICBpbnB1dC5zZXRB
dHRyaWJ1dGUoJ3ZhbHVlJywgJ3ZhbHVlJyk7CisgICAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRl
bnRmdWxQYWludCgpOworICB9LCAnVGV4dCBpbnB1dCBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwg
d2hlbiBpdHMgdmFsdWUgaXMgbm9uLWVtcHR5Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorQQorCitQQVNTIEZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQgZmlyZXMgb25seSB3aGVuIHNvbWUgb2YgdGhlIHRleHQgaXMgdmlzaWJs
ZSwgY29uc2lkZXJpbmcgOjpmaXJzdC1sZXR0ZXIuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlw
b2dyYXBoaWMtcHNldWRvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFw
aGljLXBzZXVkby5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhp
Yy1wc2V1ZG8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
c2hvdWxkIG5vdCBmaXJlIHdoZW4gYWxsIHRleHQgaXMgaGlkZGVuIGR1ZSB0byB0eXBvZ3JhcGhp
YyBwc2V1ZG8tZWxlbWVudHM8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAg
cG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgfQorCisgICAgI21haW4gKjo6Zmlyc3QtbGV0dGVyIHsKKyAgICAgICAg
b3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQg
aW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgKjo6Zmlyc3QtbGV0
dGVyIHsKKyAgICAgICAgb3BhY2l0eTogMTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1h
aW4iPgorICAgIDxkaXY+QTwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIG9ubHkgd2hlbiBzb21lIG9mIHRoZSB0ZXh0IGlz
IHZpc2libGUsIGNvbnNpZGVyaW5nIDo6Zmlyc3QtbGV0dGVyLiIpCis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29tZSBj
b250ZW50ZnVsIHdoZW4gZmlyc3QgZnJhbWUgaXMgbG9hZGVkIAorCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdmlkZW8tZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJh
bWUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRlZCB2
aWRlbyBmcmFtZTwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHZpZGVvIGlkPSJ2aWRlbyIgYXV0b3BsYXk+PC92aWRlbz4K
KzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVj
b25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNu
J3Qgc3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250
ZW50ZnVsUGFpbnQoKTsKKyAgICAgIGNvbnN0IHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3ZpZGVvJyk7CisgICAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3NyYycsICcvbWVkaWEvdGVz
dC5tcDQnKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICB2
aWRlby5vbmNhbnBsYXkgPSByZXNvbHZlOworICAgICAgfSk7CisgICAgICBhd2FpdCBhc3NlcnRG
aXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAnVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50
ZnVsIHdoZW4gZmlyc3QgZnJhbWUgaXMgbG9hZGVkJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29tZSBjb250
ZW50ZnVsIHdoZW4gcG9zdGVyIGlzIGxvYWRlZCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVv
LXBvc3Rlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBsb2FkZWQgdmlkZW8g
cG9zdGVyPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8dmlkZW8gaWQ9InZpZGVvIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAi
PjwvdmlkZW8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNz
ZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRp
bWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0
Q29udGVudGZ1bFBhaW50KCk7CisgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndmlkZW8nKTsKKyAgICBjb25zdCBzcmMgPSAnLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5n
JzsKKyAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpOworICAgIGltYWdlLnNyYyA9IHNyYzsK
KyAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3Bvc3RlcicsIHNyYyk7CisgICAgYXdhaXQgbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIGltYWdlLm9ubG9hZCA9IGFzeW5jICgpID0+IHJl
c29sdmUoKTsKKyAgICB9KQorICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7
CisgIH0sICdWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBwb3N0ZXIgaXMgbG9h
ZGVkJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13
aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVz
cGFjZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3Bh
Y2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQ
QVNTIFdoaXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsLiAKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
d2hpdGVzcGFjZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNl
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogV2hpdGVzcGFjZSBz
aG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWw8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWlu
IHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7Cisg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9y
ZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDAgMDsKKyAg
ICB9CisKKyAgICAjdGV4dCB7CisgICAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAg
LyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAg
ICAjbWFpbi5jb250ZW50ZnVsICN0ZXh0eworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXYgaWQ9IndoaXRlc3BhY2UiPiAg
IDwvZGl2PgorICAgIDxkaXYgaWQ9InRleHQiPlRFWFQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4K
KyAgICB0ZXN0X2ZjcCgiV2hpdGVzcGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwu
IikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgt
cnRsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgRkNQIHNo
b3VsZCBmaXJlIHdoZW4gY29vcmRpbmF0ZXMgYXJlIG5lZ2F0aXZlLCBpZiB3aXRoaW4gZG9jdW1l
bnQgc2Nyb2xsYWJsZSBhcmVhIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMw
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRp
bWluZyBUZXN0OiBGQ1AgZHVlIHRvIGRpcmVjdGlvbiBjaGFuZ2U8L3RpdGxlPgorPHN0eWxlPgor
ICAjdGV4dCB7CisgICAgcmlnaHQ6IC0xMDBweDsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7Cisg
IH0KKworICBib2R5IHsKKyAgICBkaXJlY3Rpb246IHJ0bDsKKyAgfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5IGRpcmVjdGlvbj0iUlRMIj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRp
bHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0idGV4dCI+VEVYVDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlz
ZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVy
Zm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7Cisg
ICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2Fk
JywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAg
ICAgZG9jdW1lbnQuYm9keS5zdHlsZS5kaXJlY3Rpb24gPSAnbHRyJworICAgICAgYXdhaXQgYXNz
ZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ0ZDUCBzaG91bGQgZmlyZSB3aGVuIGNv
b3JkaW5hdGVzIGFyZSBuZWdhdGl2ZSwgaWYgd2l0aGluIGRvY3VtZW50IHNjcm9sbGFibGUgYXJl
YScpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS93M2MtaW1w
b3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS93M2MtaW1wb3J0LmxvZwkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS93M2MtaW1wb3J0LmxvZwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQzIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRo
ZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4g
V2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHVi
OgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVu
IHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0
CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2
YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
TGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0
ZXBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2Vu
ZGFudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWlu
dmlzaWJsZS1zY2FsZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0
eS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW92ZXJmbG93Lmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
b3BhY2l0eS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
c3ZnLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC10ZXh0LWlucHV0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1w
b3N0ZXIuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUu
c3ZnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L3Jlc291cmNlcy9jaXJjbGUuc3ZnCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorPHN2
ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSI+CisgICA8
Y2lyY2xlIGN4PSIxMDAiIGN5PSI1MCIgcj0iNDAiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0
aD0iMiIgZmlsbD0ibm9uZSIgLz4KKzwvc3ZnPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBh
aW50aW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KKzxk
aXYgaWQ9ImltYWdlIj48L2Rpdj4KKzxzY3JpcHQ+CisgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ0lNRycpOworICBpbWcuc3JjID0gJ2NpcmNsZXMucG5nJzsKKyAgaW1nLm9u
bG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGZ1bmN0aW9uIHNlbmRQYWludEVudHJpZXMoKSB7Cisg
ICAgICBjb25zdCBwYWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdw
YWludCcpOworICAgICAgaWYgKHBhaW50RW50cmllcy5sZW5ndGggPCAyKSB7CisgICAgICAgIHNl
dFRpbWVvdXQoc2VuZFBhaW50RW50cmllcywgMjApOworICAgICAgICByZXR1cm47CisgICAgICB9
CisgICAgICBsZXQgZW50cnlDb250ZW50cyA9IHBhaW50RW50cmllcy5sZW5ndGggKyAnJzsKKyAg
ICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFpbnRFbnRyaWVzLmxlbmd0aDsgaSsrKSB7CisgICAg
ICAgIGNvbnN0IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAgICAgICBlbnRyeUNvbnRlbnRz
ICs9ICcgJyArIGVudHJ5LmVudHJ5VHlwZSArICcgJyAgKyBlbnRyeS5uYW1lOworICAgICAgfQor
ICAgICAgcGFyZW50LnBvc3RNZXNzYWdlKGVudHJ5Q29udGVudHMsICcqJyk7CisgICAgfTsKKyAg
ICBzZW5kUGFpbnRFbnRyaWVzKCk7CisgIH07CisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdp
bWFnZScpLmFwcGVuZENoaWxkKGltZyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9y
ZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdD4KKyAgc2VsZi5hZGRFdmVudExp
c3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZSkgeworICAgIC8vIFNlbmQgcGFpbnQtdGltaW5n
IGVudHJpZXMgdXBvbiByZWNlaXZpbmcgYSBtZXNzYWdlLgorICAgIGNvbnN0IHBhaW50RW50cmll
cyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3BhaW50Jyk7CisgICAgbGV0IGVudHJ5
Q29udGVudHMgPSBwYWludEVudHJpZXMubGVuZ3RoICsgJyc7CisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgIGNvbnN0IGVudHJ5ID0gcGFp
bnRFbnRyaWVzW2ldOworICAgICAgZW50cnlDb250ZW50cyArPSAnICcgKyBlbnRyeS5lbnRyeVR5
cGUgKyAnICcgICsgZW50cnkubmFtZTsKKyAgICB9CisgICAgcGFyZW50LnBvc3RNZXNzYWdlKGVu
dHJ5Q29udGVudHMsICcqJyk7CisgIH0pOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRp
bHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L3Jlc291cmNlcy91dGlscy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU2IEBACisvLyBO
dW1iZXIgbWlsbGlzZWNvbmRzIHRvIHdhaXQgZm9yIENTUyByZXNvdXJjZXMgdG8gbG9hZC4KK2Nv
bnN0IG51bU1pbGxpc2Vjb25kc1dhaXQgPSA1MDsKKworLy8gV2UgdXNlIHJlcXVlc3RBbmltYXRp
b25GcmFtZSgpIGNhbGxzIHRvIGZvcmNlIHRoZSB1c2VyIGFnZW50IHRvIHBhaW50IGFuZCBnaXZl
IGVub3VnaAorLy8gdGltZSBmb3IgRkNQIHRvIHNob3cgdXAgaW4gdGhlIHBlcmZvcm1hbmNlIHRp
bWVsaW5lLiBIZW5jZSwgc2V0IHxudW1GcmFtZXNXYWl0aW5nfCB0bworLy8gMyBhbmQgdXNlIHRo
YXQgY29uc3RhbnQgd2hlbmV2ZXIgdGhlIHRlc3QgbmVlZHMgdG8gd2FpdCBmb3IgdGhlIG5leHQg
cGFpbnQgdG8gb2NjdXIuCitjb25zdCBudW1GcmFtZXNXYWl0aW5nID0gMzsKKworZnVuY3Rpb24g
d2FpdFRpbWUodCkgeworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0LnN0ZXBfdGlt
ZW91dChyZXNvbHZlLCBudW1NaWxsaXNlY29uZHNXYWl0KSk7Cit9CisKK2Z1bmN0aW9uIHdhaXRG
b3JBbmltYXRpb25GcmFtZXMoY291bnQpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUg
PT4geworICAgIGlmIChjb3VudC0tIDw9IDApIHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9IGVs
c2UgeworICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgd2FpdEZv
ckFuaW1hdGlvbkZyYW1lcyhjb3VudCkudGhlbihyZXNvbHZlKTsKKyAgICAgIH0pOworICAgIH0K
KyAgfSk7Cit9CisKKy8vIEFzc2VydHMgdGhhdCB0aGVyZSBpcyBjdXJyZW50bHkgbm8gRkNQIHJl
cG9ydGVkLCBldmVuIGFmdGVyIHNvbWUgd2FpdC4KK2FzeW5jIGZ1bmN0aW9uIGFzc2VydE5vRmly
c3RDb250ZW50ZnVsUGFpbnQodCkgeworICBpZiAodCkKKyAgICBhd2FpdCB3YWl0VGltZSh0KTsK
KworICBhd2FpdCB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKG51bUZyYW1lc1dhaXRpbmcpOworICBh
c3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ2ZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQnKS5sZW5ndGgsIDAsICdGaXJzdCBjb250ZW50ZnVsIHBhaW50IG1hcmtlZCB0b28g
ZWFybHkuICcpOworfQorCisvLyBBc3NlcnRzIHRoYXQgRkNQIGlzIHJlcG9ydGVkLCBwb3NzaWJs
eSBhZnRlciBzb21lIHdhaXQuIFRoZSB3YWl0IGlzIG5lZWRlZAorLy8gYmVjYXVzZSBzb21ldGlt
ZXMgdGhlIEZDUCByZWxpZXMgb24gc29tZSBDU1MgcmVzb3VyY2VzIHRvIGZpbmlzaCBsb2FkaW5n
LgorYXN5bmMgZnVuY3Rpb24gYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQodCkgeworICBpZiAo
dCkKKyAgICBhd2FpdCB3YWl0VGltZSh0KTsKKyAgYXdhaXQgd2FpdEZvckFuaW1hdGlvbkZyYW1l
cyhudW1GcmFtZXNXYWl0aW5nKTsKKyAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRy
aWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoLCAxLCAnRXhwZWN0ZWQg
Zmlyc3QgY29udGVudGZ1bCBwYWludCBub3QgZm91bmQuICcpOworfQorCitmdW5jdGlvbiB0ZXN0
X2ZjcChsYWJlbCkgeworICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0
eWxlJyk7CisgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOworICByZXR1cm4gcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBl
cmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOwor
ICAgIGNvbnN0IG1haW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbicpOworICAgIGF3
YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7
CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIG1haW4uY2xh
c3NOYW1lID0gJ3ByZUZDUCc7CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWlu
dCgpOworICAgIG1haW4uY2xhc3NOYW1lID0gJ2NvbnRlbnRmdWwnOworICAgIGF3YWl0IGFzc2Vy
dEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sIGxhYmVsKTsKK30KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNl
cy93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMjEgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9y
dGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBk
aXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQK
KworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQg
dG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUK
K1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWlu
dC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZworL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5k
aW5nLXBhaW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy91dGlscy5qcwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50
LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorQmFzaWMgSW50ZXJmYWNlIHRl
c3QgZm9yIHBhaW50LXRpbWluZyBBUElzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUGVyZm9ybWFuY2VQYWludFRpbWluZworUEFTUyBQZXJmb3JtYW5jZVBhaW50VGltaW5nIGlz
IGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcucHJvdG90eXBlLnRvSlNPTiBp
cyBkZWZpbmVkLgorUEFTUyBuZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5n
ICduZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygpJykuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1p
bmctZnJhbWVzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACitQ
YWludCBBUEkgc2hvdWxkIGJlIGF2YWlsYWJsZSBmb3Igc2FtZS1vcmlnaW4gZnJhbWVzIGJ1dCBu
b3QgdG8gY3Jvc3Mtb3JpZ2luL3NhbmRib3hlZCBmcmFtZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQQVNTIHJlY2VpdmVkRXZlbnQuc291cmNlIGlzIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKS5jb250ZW50V2luZG93CitQQVNTIHJlY2VpdmVkRW50
cnkubmFtZSBpcyAnZmlyc3QtY29udGVudGZ1bC1wYWludCcKK1BBU1MgZGlkUmVjZWl2ZU1lc3Nh
Z2VGcm9tU2FuZGJveGVkSWZyYW1lIGlzIGZhbHNlCitQQVNTIEFycmF5LmlzQXJyYXkobm9uU2Fu
ZGJveFN1cHBvcnRlZFR5cGVzKSBpcyB0cnVlCitQQVNTIEFycmF5LmlzQXJyYXkoc2FuZGJveFN1
cHBvcnRlZFR5cGVzKSBpcyB0cnVlCitQQVNTIGRpZFJlY2VpdmVNZXNzYWdlIGlzIHRydWUKK1BB
U1Mgbm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIHRydWUKK1BB
U1Mgc2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIGZhbHNlCitQQVNT
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXMg
ZmlyZWQgZm9yIHNhbWUtb3JpZ2luIGZyYW1lIGJ1dCBub3QgZm9yIGNyb3NzLW9yaWdpbiBmcmFt
ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKKwor
VEVYVApJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFt
ZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQt
dGltaW5nLWZyYW1lcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw2NyBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRp
diBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKyAgICA8aWZyYW1lIHdpZHRoPSIxMDAiIGhlaWdodD0i
MTAwIiBpZD0ibm9uU2FuZGJveGVkIiBzcmM9Ii4vcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1s
Ij48L2lmcmFtZT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+Cis8aWZyYW1lIGlkPSJzYW5k
Ym94ZWQiIHNyYz0iLi9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwiIHNhbmRib3g9ImFsbG93
LXNjcmlwdHMiPjwvaWZyYW1lPgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKworICAgIFRF
WFQKKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJQYWludCBBUEkgc2hvdWxkIGJlIGF2YWlsYWJs
ZSBmb3Igc2FtZS1vcmlnaW4gZnJhbWVzIGJ1dCBub3QgdG8gY3Jvc3Mtb3JpZ2luL3NhbmRib3hl
ZCBmcmFtZXMuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit3aW5kb3cuZGlkUmVj
ZWl2ZU1lc3NhZ2UgPSBmYWxzZTsKKword2luZG93Lm9ubG9hZCA9IGFzeW5jICgpID0+IHsKKyAg
ICBjb25zdCBzYW5kYm94ZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2FuZGJveGVkJyk7
CisgICAgY29uc3Qgbm9uU2FuZGJveGVkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNh
bmRib3hlZCcpOworICAgIGNvbnN0IGZjcE1lc3NhZ2VQcm9taXNlID0gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB7CisgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBldmVudCA9PiB7CisgICAgICAg
ICAgICB3aW5kb3cucmVjZWl2ZWRFdmVudCA9IGV2ZW50OworICAgICAgICAgICAgY29uc3QgaXNG
cm9tU2FuZGJveGVkID0gZXZlbnQuc291cmNlID09PSBzYW5kYm94ZWQuY29udGVudFdpbmRvdzsK
KyAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpOworICAg
ICAgICAgICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHsKKyAgICAgICAgICAgICAgICBjYXNlICdz
dXBwb3J0ZWQnOgorICAgICAgICAgICAgICAgICAgICBpZiAoaXNGcm9tU2FuZGJveGVkKQorICAg
ICAgICAgICAgICAgICAgICAgICAgd2luZG93LnNhbmRib3hTdXBwb3J0ZWRUeXBlcyA9IG1lc3Nh
Z2Uuc3VwcG9ydGVkOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
ICAgICAgICB3aW5kb3cubm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzID0gbWVzc2FnZS5zdXBwb3J0
ZWQ7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgJ3Jl
Y2VpdmVkJzoKKyAgICAgICAgICAgICAgICAgICAgd2luZG93LmRpZFJlY2VpdmVNZXNzYWdlRnJv
bVNhbmRib3hlZElmcmFtZSA9IGlzRnJvbVNhbmRib3hlZDsKKyAgICAgICAgICAgICAgICAgICAg
d2luZG93LnJlY2VpdmVkRW50cnkgPSBtZXNzYWdlLmVudHJ5OworICAgICAgICAgICAgICAgICAg
ICBkaWRSZWNlaXZlTWVzc2FnZSA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCdyZWNlaXZlZEV2ZW50LnNvdXJjZScsICJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2Fu
ZGJveGVkJykuY29udGVudFdpbmRvdyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgn
cmVjZWl2ZWRFbnRyeS5uYW1lJywgIidmaXJzdC1jb250ZW50ZnVsLXBhaW50JyIpOworICAgICAg
ICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgfQorICAgICAgICB9OworICAgIH0pOworCisgICAgc2FuZGJveGVkLmNvbnRlbnRX
aW5kb3cucG9zdE1lc3NhZ2UoInBhaW50IiwgIioiKTsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7
CisgICAgbm9uU2FuZGJveGVkLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoInBhaW50IiwgIioi
KTsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgYXdhaXQgZmNwTWVzc2FnZVByb21pc2U7
CisgICAgc2hvdWxkQmVGYWxzZSgnZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1l
Jyk7CisgICAgc2hvdWxkQmVUcnVlKCdBcnJheS5pc0FycmF5KG5vblNhbmRib3hTdXBwb3J0ZWRU
eXBlcyknKTsKKyAgICBzaG91bGRCZVRydWUoJ0FycmF5LmlzQXJyYXkoc2FuZGJveFN1cHBvcnRl
ZFR5cGVzKScpOworICAgIHNob3VsZEJlVHJ1ZSgnZGlkUmVjZWl2ZU1lc3NhZ2UnKTsKKyAgICBz
aG91bGRCZVRydWUoJ25vblNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygicGFpbnQiKScp
OworICAgIHNob3VsZEJlRmFsc2UoJ3NhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygicGFp
bnQiKScpOworICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVu
dGZ1bC1wYWludCBjYWxsYmFjayB3YXMgZmlyZWQgZm9yIHNhbWUtb3JpZ2luIGZyYW1lIGJ1dCBu
b3QgZm9yIGNyb3NzLW9yaWdpbiBmcmFtZSIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXItZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
YWludC10aW1pbmctd2l0aC13b3JrZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMTMgQEAKK1BhaW50IEFQSSBzaG91bGQgbm90IGJlIGF2YWlsYWJsZSBpbiB3b3JrZXIg
Y29udGV4dHMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFBlcmZvcm1h
bmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyB0cnVl
CitQQVNTIHdvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgZmFs
c2UKK1BBU1Mgd29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygibWFyayIpIGlzIHRy
dWUKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzIGRpZCBub3Qg
aW5jbHVkZSAncGFpbnQnIGZvciB3b3JrZXJzCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3BhaW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29y
a2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIEhUTUw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJQYWlu
dCBBUEkgc2hvdWxkIG5vdCBiZSBhdmFpbGFibGUgaW4gd29ya2VyIGNvbnRleHRzLiIpOword2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworY29uc3Qgd29ya2VyID0gbmV3IFdvcmtlcigiLi9y
ZXNvdXJjZXMvd29ya2VyLmh0bWwiKTsKK3dvcmtlci5vbm1lc3NhZ2UgPSBldmVudCA9PiB7Cisg
ICAgd2luZG93LndvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMgPSBKU09OLnBhcnNlKGV2ZW50LmRh
dGEpOworICAgIHNob3VsZEJlVHJ1ZSgnUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRy
eVR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnd29ya2VyU3Vw
cG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKScpOworICAgIHNob3VsZEJlVHJ1ZSgn
d29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygibWFyayIpJyk7CisgICAgdGVzdFBh
c3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzIGRpZCBub3QgaW5j
bHVkZSAncGFpbnQnIGZvciB3b3JrZXJzIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCit3
b3JrZXIucG9zdE1lc3NhZ2UoInN0YXJ0Iik7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZp
cnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVs
LXBhaW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAorUEFTUyBkaWRSZWNlaXZl
Rmlyc3RDb250ZW50ZnVsUGFpbnQgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVz
KCkubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3Qt
Y29udGVudGZ1bC1wYWludCIpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiLCAicGFpbnQiKS5sZW5ndGggaXMgMQor
UEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCBpcyAxCitQ
QVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3
YXNuJ3QgZmlyZWQgYWdhaW4gCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKK1RFWFQyCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVy
Zm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJz
dC1jb250ZW50ZnVsLXBhaW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgSFRNTD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkVuc3VyZSBQ
ZXJmb3JtYW5jZU9ic2VydmVycyBhcmUgbm90aWZpZWQgb25jZSBmb3IgZmlyc3QtY29udGVudGZ1
bC1wYWludC4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAKKyhhc3luYyAoKSA9
PiB7CisgICAgd2luZG93LmRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCA9IGZhbHNlOwor
ICAgIHdpbmRvdy5zdGFydFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICBhd2FpdCB3YWl0
Rm9yRkNQKCk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIGNv
bnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZW50cnlMaXN0ID0+IHsKKyAg
ICAgICAgICAgIHdpbmRvdy5lbnRyeUxpc3QgPSBlbnRyeUxpc3Q7CisgICAgICAgICAgICBzaG91
bGRCZSgnZW50cnlMaXN0LmdldEVudHJpZXMoKS5sZW5ndGgnLCAiMSIpOworICAgICAgICAgICAg
c2hvdWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBh
aW50IikubGVuZ3RoJywgMSk7CisgICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0LmdldEVu
dHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICAgICAgICAgIHdpbmRvdy5m
Y3BFbnRyeSA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzKClbMF07CisgICAgICAgICAgICBzaG91bGRC
ZUZhbHNlKCdkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQnKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCdmY3BFbnRyeS5uYW1lJywgJyJmaXJzdC1jb250ZW50ZnVsLXBhaW50IicpOworICAg
ICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5LmVudHJ5VHlwZScsICcicGFpbnQiJyk7CisgICAg
ICAgICAgICBzaG91bGRCZVRydWUoJ2ZjcEVudHJ5LnN0YXJ0VGltZSA+IHdpbmRvdy5zdGFydFRp
bWUnKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgnZmNwRW50cnkuc3RhcnRUaW1lIDwgcGVy
Zm9ybWFuY2Uubm93KCknKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5kdXJhdGlv
bicsICIwIik7CisgICAgICAgICAgICBkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQgPSB0
cnVlOworICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9KTsKKworICAgICAgICBvYnNl
cnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbJ3BhaW50J119KTsKKyAgICAgICAgZG9jdW1lbnQu
Ym9keS5pbm5lclRleHQgPSAnVEVYVCc7CisgICAgfSkKKyAgICBkb2N1bWVudC5ib2R5LmlubmVy
VGV4dCA9ICdURVhUMic7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIHNob3VsZEJlVHJ1
ZSgnZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50Jyk7CisgICAgc2hvdWxkQmUoJ3BlcmZv
cm1hbmNlLmdldEVudHJpZXMoKS5sZW5ndGgnLCAiMSIpOworICAgIHNob3VsZEJlKCdwZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikubGVuZ3RoJywg
IjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3Qt
Y29udGVudGZ1bC1wYWludCIsICJwYWludCIpLmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUo
J3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAg
ICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQg
Y2FsbGJhY2sgd2Fzbid0IGZpcmVkIGFnYWluICIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSko
KTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1z
dWJmcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBI
VE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+IHsKKyAgICAgICAgbGlzdC5nZXRFbnRyaWVzKCku
Zm9yRWFjaChlbnRyeSA9PiB7CisgICAgICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdl
KEpTT04uc3RyaW5naWZ5KHt0eXBlOiAncmVjZWl2ZWQnLCBlbnRyeX0pLCAnKicpOworICAgICAg
ICB9KTsKKyAgICB9KTsKKworICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsicGFp
bnQiXX0pOworICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBlID0+IHsKKyAgICAgICAgd2luZG93LnBh
cmVudC5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7c3VwcG9ydGVkOiBQZXJmb3JtYW5jZU9i
c2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMsIHR5cGU6ICdzdXBwb3J0ZWQnfSksICcqJyk7Cisg
ICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gIlRFWFQiOworICAgIH0KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5q
cwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2Vz
L3BhaW50LWFwaS11dGlscy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUgQEAKK2FzeW5j
IGZ1bmN0aW9uIHdhaXRGb3JGQ1AoKQoreworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUg
PT4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHJlc29sdmUoKSkpOworICAgIHJldHVybiB3
aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWlu
dCcpLmxlbmd0aCA9PSAxOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50
LXRpbWluZy1hcGkuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTMgQEAKK2lmIChzZWxmLmltcG9ydFNjcmlwdHMpCisgICAgaW1wb3J0U2NyaXB0cygiLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIik7CisKK2lmIChzZWxmLndpbmRvdykKKyAgICBk
ZXNjcmlwdGlvbigiQmFzaWMgSW50ZXJmYWNlIHRlc3QgZm9yIHBhaW50LXRpbWluZyBBUElzLiIp
OworCitkZWJ1ZygiUGVyZm9ybWFuY2VQYWludFRpbWluZyIpOworc2hvdWxkQmVEZWZpbmVkKCJQ
ZXJmb3JtYW5jZVBhaW50VGltaW5nIik7CitzaG91bGRCZURlZmluZWQoYFBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcucHJvdG90eXBlLnRvSlNPTmApOworc2hvdWxkVGhyb3coYG5ldyBQZXJmb3JtYW5j
ZVBhaW50VGltaW5nKClgKTsKKworaWYgKHNlbGYuaW1wb3J0U2NyaXB0cykKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29y
a2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291
cmNlcy93b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorc2VsZi5vbm1lc3NhZ2UgPSAoKSA9PiB7CisgICAgc2VsZi5wb3N0TWVzc2FnZShKU09OLnN0
cmluZ2lmeShQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMpKTsKK30KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmcKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3Zu
Om1pbWUtdHlwZSA9IGltYWdlL3BuZwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2Np
cmNsZXMucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIwor
aW1hZ2UvcG5nClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKCmlWQk9SdzBLR2dvQUFB
QU5TVWhFVWdBQUFDUUFBQUJJQ0FZQUFBQ2VObGU1QUFBQzdtbERRMUJKUTBNZ1VISnZabWxzWlFB
QWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0a0NKSldhdG9SZFEyL1JGaWF3emJIN1pGa0dR
elNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytBSG5yd1pDOUtoVnBGS042cktHS2hGeTN4elc1
TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FCT1FOeDFLaUVXbHNmRUpxCi9JZ0FqcUlKUVRR
bFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4
Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVlTUcxRHlzOXhGa2lmRUExTGM1L1RiaFR6U1hU
UUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpFTDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVP
czk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0eHFwCitEWENGRjhR
VFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpXa2hQMTB4dStMcUhCWDBtMXhPdjRuZFdV
ZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURVaFFFRVVFWVppd1VFQ0dQQm94TkxKeVB5T3JC
aHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6KwpLQ0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5
MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4Cm11d2FQ
K3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1OXNmenM5NGk3UExy
WFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZsUFh2WHgvR2ZOeEdQaUtURW1kb3JuSVltWHhT
N3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZnWUpxOAo5UzlkUDF0NHZVWi9EUFZSbEJuTTBs
U0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJdmJPREltYnB0VTNIdkVLRmxwVzV6CnJn
SVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVP
NjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xwZHRpWjB4MXVIS0U1UXZmRXAwcGxrL3F2OFJH
dy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFlSXVKQUFBQQpDWEJJV1hNQUFBc1RBQUFMRXdF
QW1wd1lBQUFHWjBsRVFWUm9CZTJhVVc5VlJSREhkNjh0RVZKTFcyS0N4Q1kraWdRRG9Za0tmZ0o4
CjlNa25FdkVkdm9DbWtTK0E3MnBDUXNLVGovSUpCQ1NCMU5Tb1BKcVUxQ2FrZ05pQWFlTmRmLyta
T1QyMzU5N1NGdTdsNlV5eTUrek8KMloyWm5aM2RuWmw3YzVyUEplMEtTc3BwaHA3N1UwbVBxRC9k
SEZVUnlKdVlSSjhEOUprRzg0ejZROTY5WDNzNk5xcGpqWGFqS1NMZApFR1FmOVJXSU8rbVN6c0wx
QksxWnlpR0toRmpsdVVTSFh4aHpuZlpURXlPbncrRFhRN0NPOWVReEVKNGprRmlQUVZERWxtMXdL
Wi95ClBwZEtPYzNiaGJBUHpRZERUYmg4ay9lVmxQTVAxaU9uSTdRZlVOK2dETlpZN2w4eTEwcEtr
d3daWnlDekxtY1I0bXZhcDR4d1NiOUMKN3lidGhWVHlIN3ovRHZ6QmxNdFJtSjVrekdud3h3Ti9G
NkcrWXN4MTJvZjRMb0dlVVBxMTFSQ29YaUt0dTFxbGZNZmpjMm9zWGI2RwpBSmZCMzZFTm1tSjly
RlhYaFJPVU5JZUFGNkh4R1MyWTUrK2hjVDdHemZDV2JXMFZxaUZRWmJnUGJWRHEvc3lBRHlnM0dQ
Y0Y3M3NtClFMSmxGQ0hOVkxiUjVTMkJoSk90U2JQQ3VjMmw5QzdOYjJtZm9keUcxb2RCcHhLcW1v
S01aQk0wMzBtS3BBYTZ2L000Q3BkdktCZUQKd0N6TXRUd3I2Z0hVaE5RU0JZZXFwbVUvQ09wZUtw
MlA2WENaY3NGcGQ5NERMMTdpcWVWeldwcFNOTVpCalJ2UmdtYXlDYU4xbHpCdgowMmVLYit5Z3RC
Yjl0d29Ec2dmMFRXVXR4a3c1RFdnbGJFbTB4Y09YWE5wVTJTS1F0dmFiSUZkWmMyeUdaU3FtbVV2
ZzMySGdYNVRICk1haWFQYzBkd1ZscXJHaUlWc3FYbkRZOG5CYzhqWGUxN1BPNStBR0czYkNiVXZt
UkRqZE14ZEtNQ0xrOTdNaDlGeDA2MEg0TG12ZFQKN3Y3RUc1dktuMkRvMm4yeXAwZXlRczFDaGdp
d3RZMjVHYkFRV3A3L1ZCa1NpSlpvQXNZRHJSaFBJU1JEU1IyL0R0Z05kdWlkOHExdAp1MGtHWEMy
VEJnd0RzdEhNbk81RlBEaEdFbWViODE1QmV6UFNrTzRtd1RsN0pzNFpnZSttc0huL01xUm5KMmhE
TG5qWjZXL1U5NmVPClg1UjhzNU4xRWZRZEpOVjFvYTNvb2xyZm9UMUU4MG53RUsvRjRDMXUySkJ1
YlYyVVJVZDZ2aFZzUjZHWjVveWNoM2dhYjJTUUxJRTkKRWIyNW02eW1FOWpQaFNhWjRiUkZleU40
TFRoSjh4ejhJZ0V4NjBpN0tGVmQ5L1pJbitzK1pYZzZ1QXhqcmhGM0pYUnJlOXNQcVZISwpVOTkv
RlU5NUFac2FHaVhydmRIR3FBWHk5R1RsK0RPOC9kWTIxTWdlNGlGZTR1bWdLMlJUUTdvMEFYT3VW
SW1UVzlXUndUNDNEM2c2CnVBeSt5L0NCSFU2YWxINzd1alhGaHlHL1JGdmVoUUR2VWhBeVlOU0tE
blM1eVZYRlY3WmVvemZxNnNMV2dld21vNkRnZ0E3R2FWTmQKTVlkY1B2QWNiVGxnY3B4OERsU0dD
S0k1R1R6RTZ6Z0hzb0lCY1p2V3dmZ3MyRjV4cHZqQUF2ZjBScUVwK1Y1aHlNRXJLVEl4cnBKbApI
Z0h0N3VMRzc4cDV4NDQ2eDVCWS9yTzh4TWNtbnZWLzZZZDhkcWVaOGJOTDl6Y29Mc0J2anZkaGVL
MUlRNUl0VG1hRktrS1pRMDQxClRWQmVVMlZJSUZxaUNSZ1BzUmRQZ1dTSUE4ZkRrU1BtdVdWQ0Zm
UGtjTWpOczdOcmhZRzBYaHcwVnVlTy9LRDdrQkx0TS9CVFdLUU4KcFFEU2c0dUlPdVNqUEdDQWJ2
enpERGlHUzNBQjNDcHQrZFZ5OHVXd2EvbjJJcHkwTDV1WjRqM0IrRCtoL1dYUXZtMjhqS2RGczA0
MwpCTklNZFB0dU1CZ2diaW9LZzh5OWxKQWVCdmtNRlFiSlZ4SzRLWHE5OTFscDh3MTZ5SUNYZkRJ
UkJwVkV0QXNQZ1VleHRYY1JBdW1UCmlJdlJEQVgxS1c1U29LZzRxckE5WHpoUUZNMytRQkVrRUx4
NkppWTk5WUNXVG11cGpvaW9XYkRPRm5HeUkzSzV5bmZ0Q0oxVHk5U1YKT0pERy9vbWltMXU0WlFx
NzFrTHBxMHhNdTBrUkJqWVRtdkVvUTd5MmlzQzJiK2FIZk4xMWVHMmZiRmlFK0MyK1B5L1o4Qkhm
MzRlaApsdVV1eHN0dTJudXl3Y2JIUTNhZyswWUJwR1lNNFVqSDJCWHp2SFNNOWVZcTRnUzJReS9T
TWI2YjlweU9NV3J4Y0cxNXFDUVBRTXNBCkg0cjg4SXpiV2V4WWNBZlBJbDhaTUJlbEo2eThyeWNu
ZHBld0dyQmtJVXZmcThxTXZJNFFpaHAwREF3R0YzaUNQcE4wK0pkK3NoVmgKZDRhdEZyVnovNUgz
Nk5uMmczaTk3Skt0bVY1ZVdZNXgwSklaamtlYlk5UUNTeHR1d0w3Y1ZiMHkzemJIMk56S3RVMVZ0
VGJINkxhegovZE90VEg1VW0yUGNYa3U5WDlvY1k2ODJ0cXUzT2NidE5OUEV1NlBSNWhpYmVxbmJi
WTZ4MXNWZWFtMk9zZFpXbTJPc2RURzQxalYwCm0yUHMxMDZiWSt6WFNZMXBjNHkxTHJ4V2hlSnRq
akhPRkV2UEtZL1UrMmVVTnNkSWluZmdINXJhSEdQL24rTDhkNjhsUXY1WG1tUFUKWHpORzk3ZkIv
d0ZaYmcwNUVFTnVOd0FBQUFCSlJVNUVya0pnZ2c9PQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394904</attachid>
            <date>2020-03-30 04:51:06 -0700</date>
            <delta_ts>2020-03-30 05:29:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200330145103.patch</filename>
            <type>text/plain</type>
            <size>136014</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDExMiBAQAorMjAyMC0wMy0yMyAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BhaW50LXRpbWluZy8jZmlyc3QtY29udGVudGZ1bC1wYWludC4KKyAgICAgICAgQ3VycmVu
dGx5IG11dHVhbGx5IGV4Y2x1c2l2ZSB0byB2aXN1YWxseS1ub24tZW1wdHkgaGV1cmlzdGljcy4K
KworICAgICAgICBXaGVuIHRoZSBmcmFtZSBwYWludHMgb3IgZmx1c2hlcyB0aGUgY29tcG9zaXRp
bmcgc3RhdGUsIGl0IG1hcmtzIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgYXMgYSBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IHBlcmZvcm1hbmNlIGVudHJ5LgorCisgICAgICAgIFRlc3RzOiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
dmlzaWJpbGl0eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10ZXh0LWlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdpdGgtcnRsLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9maXJz
dC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5j
ZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sCisgICAgICAgICAg
ICAgICBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAorICAgICAgICAgICAg
ICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBT
b3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRU
aW1pbmcuaDogCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDoKKyAg
ICAgICAgICAgICAgICBBZGQgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNlLgor
CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFibGVk
IGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgUGFpbnRUaW1pbmdFbmFibGVkIHJ1bnRpbWUg
ZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJp
bmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNQYWludCBjb25zdCk6CisgICAgICAgICAgICAgICAgQWRk
IGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIHBhaW50IGVudHJpZXMuCisKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6CisgICAgICAgICAgICAgICAgQWRk
ICJwYWludCIgdG8gc3VwcG9ydGVkRW50cnlUeXBlcyB3aGVuIGluIGVsaWdpYmxlIGJyb3dzaW5n
IGNvbnRleHQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aXNDb250ZW50ZnVsIGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRWxlbWVudDo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVySFRNTENhbnZhczo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6Omhhc093blBhaW50YWJs
ZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck9iamVjdDo6Y29udGFpbnNQYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVmlkZW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlkZW86Omhh
c093blBhaW50YWJsZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJW
aWRlby5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSBjb25zdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aGFz
UGFpbnRhYmxlQmFja2dyb3VuZEltYWdlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVs
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR01vZGVsT2JqZWN0OjpoYXNP
d25QYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR01vZGVsT2JqZWN0Lmg6CisgICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciBjb21wdXRp
bmcgd2hldGhlciBlbGVtZW50cyBhcmUgY29udGVudGZ1bCAmIHBhaW50YWJsZS4KKworICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CitgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzRnJh
bWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzdXBwb3J0c1BhaW50VGltaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bWFya1BhaW50VGltaW5nSWZOZWVkZWQpOgor
ICAgICAgICAgICAgICAgIE1hcmsgZmlyc3QtY29udGVudGZ1bC1wYWludCBvbmNlIHdoZW4gY29t
cG9zaXRpbmcvcGFpbnRpbmcuCisKIDIwMjAtMDMtMjkgIERhdmlkIEtpbHplciAgPGRka2lsemVy
QGFwcGxlLmNvbT4KIAogICAgICAgICBXaW5kb3dzIGJ1aWxkIGZpeDogV2ViIEluc3BlY3Rvcjog
c3VwcG9ydCBlZGl0aW5nIGNvb2tpZSBrZXkvdmFsdWVzIGZyb20gaW5zcGVjdG9yCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTkzNiw2ICs5MzYsNyBAQCBzZXQoV2ViQ29y
ZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNr
LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwKICAgICBwYWdl
L1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1p
bmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbAogICAgIHBhZ2Uv
UGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5p
ZGwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gMjU5MTc5KQor
KysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAt
OTI2LDYgKzkyNiw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlci5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyQ2FsbGJhY2suaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdC5pZGwgXAorICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVBh
aW50VGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcu
aWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsIFwKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzE5OCw2ICszMTk4LDcgQEAgSlNQZXJmb3JtYW5jZU5h
dmlnYXRpb24uY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCiBKU1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXJDYWxsYmFjay5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAKK0pT
UGVyZm9ybWFuY2VQYWludFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5j
cHAKIEpTUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlVGltaW5nLmNw
cApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMzgwMSw2ICsxMzgwMSw4
IEBACiAJCUNBMDkxRDg2MjNDRjkwNzgwMEFENDM0NiAvKiBTdHlsZUltYWdlU2V0LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFN0eWxlSW1hZ2VTZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDQTA5MUQ4OTIzQ0Y5MDg4MDBBRDQzNDYgLyogU3R5bGVJbWFnZVNldC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTdHlsZUltYWdlU2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUNBMTYzNURDMjA3MkU3NjkwMEU3RDJDRSAvKiBSZWZlcnJlclBvbGljeS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWZlcnJlclBvbGljeS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkzM0Q1MjQwN0Q2NDAwMDcxMjQxQSAvKiBQZXJmb3Jt
YW5jZVBhaW50VGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0ExOTMzRDgyNDA3RURDRjAwNzEyNDFB
IC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBl
cmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
QTNCRjY3QjEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Nyb2xsQW5pbWF0b3IuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5p
bWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xsQW5pbWF0b3Iu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0E1MkJBRTUyM0QwQUYxNjAwREUwQjg0
IC8qIFN0eWxlQ3Vyc29ySW1hZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVDdXJzb3JJ
bWFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDk0Nyw2ICsyMDk0OSw4
IEBACiAJCQkJQTVBOTkzM0ExRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJF
bnRyeUxpc3QuY3BwICovLAogCQkJCUE1QTk5MzNCMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3Jt
YW5jZU9ic2VydmVyRW50cnlMaXN0LmggKi8sCiAJCQkJQTVBOTkzM0MxRTM3RkFGRDAwNUI1RTRE
IC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsICovLAorCQkJCUNBMTkzM0Q1MjQw
N0Q2NDAwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmggKi8sCisJCQkJQ0ExOTMz
RDgyNDA3RURDRjAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsICovLAogCQkJ
CTg2NTEyRURCMTU0QTJBRUUwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNw
cCAqLywKIAkJCQk4NjUxMkVEQzE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZy5oICovLAogCQkJCTg2NTEyRUREMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nLmlkbCAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAkocmV2aXNpb24gMjU5
MTc5KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3Vz
dG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsOSArMzUsMTEgQEAKICNpbmNsdWRlICJKU0RP
TUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlTWFyay5oIgogI2luY2x1ZGUgIkpT
UGVyZm9ybWFuY2VNZWFzdXJlLmgiCisjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVBhaW50VGltaW5n
LmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VNZWFzdXJlLmgiCisjaW5j
bHVkZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaCIKIAogCkBAIC00Niw2ICs0OCw5IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7
CiAKIEpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxQZXJmb3JtYW5jZUVudHJ5PiYmIGVudHJ5KQogewor
ICAgIGlmIChpczxQZXJmb3JtYW5jZVBhaW50VGltaW5nPihlbnRyeSkpCisgICAgICAgIHJldHVy
biBjcmVhdGVXcmFwcGVyPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGdsb2JhbE9iamVjdCwgV1RG
TW92ZShlbnRyeSkpOworCiAgICAgaWYgKGlzPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+KGVu
dHJ5KSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgJKHJldmlzaW9uIDI1
OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aAkod29ya2luZyBjb3B5KQpAQCAtMTc5LDYgKzE3OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBtYWNybyhQZXJmb3JtYW5jZU1lYXN1cmUpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9i
c2VydmVyKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCkgXAorICAg
IG1hY3JvKFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcpIFwKICAg
ICBtYWNybyhQb2ludGVyRXZlbnQpIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJ
KHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzEsNiArNzEsNyBAQAogI2luY2x1ZGUgIk92ZXJmbG93RXZlbnQu
aCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZU92ZXJsYXlDb250cm9sbGVyLmgi
CisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXIuaCIK
ICNpbmNsdWRlICJSZW5kZXJFbWJlZGRlZE9iamVjdC5oIgogI2luY2x1ZGUgIlJlbmRlckZ1bGxT
Y3JlZW4uaCIKQEAgLTk4MSw2ICs5ODIsNyBAQCBib29sIEZyYW1lVmlldzo6Zmx1c2hDb21wb3Np
dGluZ1N0YXRlRm9yCiAjZW5kaWYKIAogICAgIHJlbmRlclZpZXctPmNvbXBvc2l0b3IoKS5mbHVz
aFBlbmRpbmdMYXllckNoYW5nZXMoJnJvb3RGcmFtZUZvckZsdXNoID09IG1fZnJhbWUucHRyKCkp
OworICAgIG1hcmtQYWludFRpbWluZ0lmTmVlZGVkKCk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0K
QEAgLTQwODcsNiArNDA4OSwzOCBAQCB2b2lkIEZyYW1lVmlldzo6d2lsbFBhaW50Q29udGVudHMo
R3JhcGhpCiAgICAgbV9pc1BhaW50aW5nID0gdHJ1ZTsKIH0KIAorYm9vbCBGcmFtZVZpZXc6OnN1
cHBvcnRzUGFpbnRUaW1pbmcoKSBjb25zdAoreworICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQoKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgcmV0dXJuIGZyYW1lKCkuaXNNYWluRnJhbWUoKSAKKyAgICB8fCBm
cmFtZSgpLmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkuY2FuQWNjZXNzKGZyYW1lKCkubWFp
bkZyYW1lKCkuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSk7Cit9CisKK3ZvaWQgRnJhbWVW
aWV3OjptYXJrUGFpbnRUaW1pbmdJZk5lZWRlZCgpCit7CisgICAgaWYgKG1fZGlkTWFya0ZpcnN0
Q29udGVudGZ1bFBhaW50KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9maXJzdFZpc3Vh
bGx5Tm9uRW1wdHlMYXlvdXRNaWxlc3RvbmVJc1BlbmRpbmcpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGlmICghc3VwcG9ydHNQYWludFRpbWluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBj
b25zdCBhdXRvKiBkb2N1bWVudCA9IGZyYW1lKCkuZG9jdW1lbnQoKTsKKyAgICBjb25zdCBhdXRv
KiB3aW5kb3cgPSBkb2N1bWVudC0+ZG9tV2luZG93KCk7CisgICAgaWYgKCF3aW5kb3cpCisgICAg
ICAgIHJldHVybjsKKworICAgIGlmICghcmVuZGVyVmlldygpLT5jb250YWluc1BhaW50YWJsZUNv
bnRlbnQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9kaWRNYXJrRmlyc3RDb250ZW50ZnVs
UGFpbnQgPSB0cnVlOworICAgIHdpbmRvdy0+cGVyZm9ybWFuY2UoKS5yZXBvcnRGaXJzdENvbnRl
bnRmdWxQYWludCgpOworfQorCiB2b2lkIEZyYW1lVmlldzo6ZGlkUGFpbnRDb250ZW50cyhHcmFw
aGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIGRpcnR5UmVjdCwgUGFpbnRpbmdT
dGF0ZSYgcGFpbnRpbmdTdGF0ZSkKIHsKICAgICBtX2lzUGFpbnRpbmcgPSBmYWxzZTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtNjU4LDYgKzY1OCw4IEBAIHB1
YmxpYzoKIAogICAgIGJvb2wgaW5VcGRhdGVFbWJlZGRlZE9iamVjdHMoKSBjb25zdCB7IHJldHVy
biBtX2luVXBkYXRlRW1iZWRkZWRPYmplY3RzOyB9CiAKKyAgICBib29sIHN1cHBvcnRzUGFpbnRU
aW1pbmcoKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAgIGJvb2wgc2Nyb2xsQ29udGVudHNGYXN0
UGF0aChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYgcmVjdFRvU2Ny
b2xsLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCkgZmluYWw7CiAgICAgdm9pZCBzY3JvbGxDb250
ZW50c1Nsb3dQYXRoKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QpIGZpbmFsOwpAQCAtODE1LDYg
KzgxNyw5IEBAIHByaXZhdGU6CiAgICAgfTsKICAgICB2b2lkIG92ZXJyaWRlVmlld3BvcnRTaXpl
Rm9yQ1NTVmlld3BvcnRVbml0cyhPdmVycmlkZVZpZXdwb3J0U2l6ZSk7CiAKKyAgICB2b2lkIG1h
cmtQYWludFRpbWluZ0lmTmVlZGVkKCk7CisgICAgYm9vbCBtX2RpZE1hcmtGaXJzdENvbnRlbnRm
dWxQYWludCB7IGZhbHNlIH07CisKICAgICBzdGF0aWMgTW9ub3RvbmljVGltZSBzQ3VycmVudFBh
aW50VGltZVN0YW1wOyAvLyB1c2VkIGZvciBkZXRlY3RpbmcgZGVjb2RlZCByZXNvdXJjZSB0aHJh
c2ggaW4gdGhlIGNhY2hlCiAKICAgICBjb25zdCBSZWY8RnJhbWU+IG1fZnJhbWU7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQy
LDcgQEAKICNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNlcnZlci5oIgorI2luY2x1
ZGUgIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQ
ZXJmb3JtYW5jZVVzZXJUaW1pbmcuaCIKQEAgLTEyNCw2ICsxMjUsOSBAQCBWZWN0b3I8UmVmUHRy
PFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3JtCiAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9y
KG1fdXNlclRpbWluZy0+Z2V0TWVhc3VyZXMoKSk7CiAgICAgfQogCisgICAgaWYgKG1fZmlyc3RD
b250ZW50ZnVsUGFpbnQpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVs
UGFpbnQpOworCiAgICAgc3RkOjpzb3J0KGVudHJpZXMuYmVnaW4oKSwgZW50cmllcy5lbmQoKSwg
UGVyZm9ybWFuY2VFbnRyeTo6c3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKTsKICAgICByZXR1cm4g
ZW50cmllczsKIH0KQEAgLTEzNSw2ICsxMzksOSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNl
RW50cnk+PiBQZXJmb3JtCiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVu
dHJ5VHlwZSwgInJlc291cmNlIikpCiAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVz
b3VyY2VUaW1pbmdCdWZmZXIpOwogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYg
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkKKyAgICAg
ICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAobV91
c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShl
bnRyeVR5cGUsICJtYXJrIikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3Vz
ZXJUaW1pbmctPmdldE1hcmtzKCkpOwpAQCAtMTU3LDYgKzE2NCw5IEBAIFZlY3RvcjxSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICAgICAgfQogICAgIH0KIAorICAgIGlmICht
X2ZpcnN0Q29udGVudGZ1bFBhaW50ICYmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkgJiYgbmFtZSA9PSAiZmly
c3QtY29udGVudGZ1bC1wYWludCIpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250
ZW50ZnVsUGFpbnQpOworCiAgICAgaWYgKG1fdXNlclRpbWluZykgewogICAgICAgICBpZiAoZW50
cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlw
ZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWlu
Zy0+Z2V0TWFya3MobmFtZSkpOwpAQCAtMTgwLDYgKzE5MCwxMyBAQCB2b2lkIFBlcmZvcm1hbmNl
OjpzZXRSZXNvdXJjZVRpbWluZ0J1ZmZlCiAgICAgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlckZ1bGxG
bGFnID0gZmFsc2U7CiB9CiAKK3ZvaWQgUGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0Q29udGVudGZ1
bFBhaW50KCkKK3sKKyAgICBBU1NFUlQoIW1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworICAgIG1f
Zmlyc3RDb250ZW50ZnVsUGFpbnQgPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nOjpjcmVhdGVGaXJz
dENvbnRlbnRmdWxQYWludChub3coKSk7CisgICAgcXVldWVFbnRyeSgqbV9maXJzdENvbnRlbnRm
dWxQYWludCk7Cit9CisKIHZvaWQgUGVyZm9ybWFuY2U6OmFkZFJlc291cmNlVGltaW5nKFJlc291
cmNlVGltaW5nJiYgcmVzb3VyY2VUaW1pbmcpCiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCShyZXZpc2lvbiAy
NTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ1LDYgKzQ1LDcgQEAgY2xhc3MgTG9hZFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNl
RW50cnk7CiBjbGFzcyBQZXJmb3JtYW5jZU5hdmlnYXRpb247CiBjbGFzcyBQZXJmb3JtYW5jZU9i
c2VydmVyOworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNl
VGltaW5nOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291cmNlVGltaW5nOwpA
QCAtNzcsNiArNzgsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZFJlc291cmNlVGltaW5nKFJl
c291cmNlVGltaW5nJiYpOwogCisgICAgdm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgp
OworCiAgICAgdm9pZCByZW1vdmVBbGxPYnNlcnZlcnMoKTsKICAgICB2b2lkIHJlZ2lzdGVyUGVy
Zm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CiAgICAgdm9pZCB1bnJlZ2lz
dGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CkBAIC0xMjEsNiAr
MTI0LDcgQEAgcHJpdmF0ZToKIAogICAgIE1vbm90b25pY1RpbWUgbV90aW1lT3JpZ2luOwogCisg
ICAgUmVmUHRyPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IG1fZmlyc3RDb250ZW50ZnVsUGFpbnQ7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFVzZXJUaW1pbmc+IG1fdXNlclRpbWluZzsKIAogICAgIEdl
bmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV9wZXJmb3JtYW5jZVRpbWVs
aW5lVGFza1F1ZXVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
Y3BwCShyZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
RW50cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCwxMSBAQCBPcHRpb25hbDxQZXJm
b3JtYW5jZUVudHJ5OjpUeXBlPiBQZXJmb3JtCiAgICAgICAgICAgICByZXR1cm4gT3B0aW9uYWw8
VHlwZT4oVHlwZTo6UmVzb3VyY2UpOwogICAgIH0KIAorICAgIGlmIChSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnBhaW50VGltaW5nRW5hYmxlZCgpKSB7CisgICAgICAg
IGlmIChlbnRyeVR5cGUgPT0gInBhaW50IikKKyAgICAgICAgICAgIHJldHVybiBPcHRpb25hbDxU
eXBlPihUeXBlOjpQYWludCk7CisgICAgfQorCiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgJKHJldmlzaW9uIDI1
OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCSh3b3JraW5n
IGNvcHkpCkBAIC01Miw2ICs1Miw3IEBAIHB1YmxpYzoKICAgICAgICAgTWFyayA9IDEgPDwgMSwK
ICAgICAgICAgTWVhc3VyZSA9IDEgPDwgMiwKICAgICAgICAgUmVzb3VyY2UgPSAxIDw8IDMsCisg
ICAgICAgIFBhaW50ID0gMSA8PCA0CiAgICAgfTsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkg
Y29uc3QgPSAwOwpAQCAtNjIsNiArNjMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Jlc291cmNl
KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OlJlc291cmNlOyB9CiAgICAgYm9vbCBp
c01hcmsoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWFyazsgfQogICAgIGJvb2wg
aXNNZWFzdXJlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1lYXN1cmU7IH0KKyAg
ICBib29sIGlzUGFpbnQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UGFpbnQ7IH0K
IAogICAgIHN0YXRpYyBib29sIHN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbihjb25zdCBSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeT4mIGEsIGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYikK
ICAgICB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5j
cHAJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMywxNSArMTEzLDI5IEBAIHZvaWQgUGVy
Zm9ybWFuY2VPYnNlcnZlcjo6ZGVsaXZlcigpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRGaXJlT2JzZXJ2ZXJDYWxsYmFjaygqY29udGV4dCk7CiB9CiAKLVZlY3RvcjxTdHJpbmc+
IFBlcmZvcm1hbmNlT2JzZXJ2ZXI6OnN1cHBvcnRlZEVudHJ5VHlwZXMoKQorc3RhdGljIGJvb2wg
c3VwcG9ydHNQYWludFRpbWluZyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogewot
ICAgIHJldHVybiB7CisgICAgaWYgKCFpczxEb2N1bWVudD4oY29udGV4dCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGF1dG8qIHZpZXcgPSBkb3duY2FzdDxEb2N1bWVudD4oY29udGV4
dCkudmlldygpOworICAgIHJldHVybiB2aWV3ICYmIHZpZXctPnN1cHBvcnRzUGFpbnRUaW1pbmco
KTsKK30KKworVmVjdG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50
cnlUeXBlcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQoreworICAgIFZlY3RvcjxT
dHJpbmc+IGVudHJ5VHlwZXMgPSB7CiAgICAgICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQu
b3JnL2IvMTg0MzYzPiBBZGQgc3VwcG9ydCBmb3IgTmF2aWdhdGlvbiBUaW1pbmcgTGV2ZWwgMgog
ICAgICAgICAvLyAibmF2aWdhdGlvbiJfcywKICAgICAgICAgIm1hcmsiX3MsCiAgICAgICAgICJt
ZWFzdXJlIl9zLAogICAgICAgICAicmVzb3VyY2UiX3MKICAgICB9OworCisgICAgaWYgKHN1cHBv
cnRzUGFpbnRUaW1pbmcoY29udGV4dCkpCisgICAgICAgIGVudHJ5VHlwZXMuYXBwZW5kKCJwYWlu
dCJfcyk7CisKKyAgICByZXR1cm4gZW50cnlUeXBlczsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgJKHJl
dmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihjb250ZXh0LCBXVEZNb3ZlKGNh
bGxiYWNrKSkpOwogICAgIH0KIAotICAgIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRF
bnRyeVR5cGVzKCk7CisgICAgc3RhdGljIFZlY3RvcjxTdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlw
ZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogCiAgICAgdm9pZCBkaXNhc3NvY2lhdGUoKTsK
IApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCShy
ZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2
ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiBdIGludGVyZmFjZSBQZXJm
b3JtYW5jZU9ic2VydmVyIHsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgb2JzZXJ2ZShQ
ZXJmb3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsK
LSAgICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PERPTVN0cmluZz4gc3Vw
cG9ydGVkRW50cnlUeXBlczsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0g
c3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHN1cHBvcnRl
ZEVudHJ5VHlwZXM7CiB9OwogCiBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IHsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCShu
b25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWlu
Zy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZyBm
aW5hbCA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVm
PFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IGNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KGRvdWJs
ZSB0aW1lU3RhbXApCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3Jt
YW5jZVBhaW50VGltaW5nKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50Il9zLCB0aW1lU3RhbXApKTsK
KyAgICB9CisKK3ByaXZhdGU6CisgICAgUGVyZm9ybWFuY2VQYWludFRpbWluZyhjb25zdCBTdHJp
bmcmIG5hbWUsIGRvdWJsZSB0aW1lU3RhbXApCisgICAgICAgIDogUGVyZm9ybWFuY2VFbnRyeShu
YW1lLCB0aW1lU3RhbXAsIHRpbWVTdGFtcCkKKyAgICB7CisgICAgfQorCisgICAgQVNDSUlMaXRl
cmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJwYWludCJfczsgfQorICAgIFR5
cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFR5cGU6OlBhaW50OyB9CisKKyAgICB+UGVy
Zm9ybWFuY2VQYWludFRpbWluZygpID0gZGVmYXVsdDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpQZXJmb3JtYW5j
ZVBhaW50VGltaW5nKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpQZXJm
b3JtYW5jZUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnkuaXNQYWludCgpOyB9CitTUEVDSUFM
SVpFX1RZUEVfVFJBSVRTX0VORCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlUGFpbnRUaW1pbmcuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VQYWludFRpbWluZy5pZGwJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRpYSBGb3VuZGF0aW9uLiBB
bGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BhaW50LXRpbWluZy8KKwor
dHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKworWworICAgIEVuYWJsZWRBdFJ1
bnRpbWU9UGFpbnRUaW1pbmcsCisgICAgRXhwb3NlZD0oV2luZG93KSwKK10gaW50ZXJmYWNlIFBl
cmZvcm1hbmNlUGFpbnRUaW1pbmcgOiBQZXJmb3JtYW5jZUVudHJ5IHsKK307CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkocmV2aXNpb24gMjU5
MTc5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VXNlclRp
bWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1VzZXJUaW1pbmdFbmFibGVkID0gaXNF
bmFibGVkOyB9CiAgICAgYm9vbCB1c2VyVGltaW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
aXNVc2VyVGltaW5nRW5hYmxlZDsgfQogCisgICAgdm9pZCBzZXRQYWludFRpbWluZ0VuYWJsZWQo
Ym9vbCBpc0VuYWJsZWQpIHsgbV9pc1BhaW50VGltaW5nRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQor
ICAgIGJvb2wgcGFpbnRUaW1pbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1BhaW50VGlt
aW5nRW5hYmxlZDsgfQorCiAgICAgYm9vbCBwZXJmb3JtYW5jZVRpbWVsaW5lRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIHJlc291cmNlVGltaW5nRW5hYmxlZCgpIHx8IHVzZXJUaW1pbmdFbmFibGVk
KCk7IH0KIAogICAgIHZvaWQgc2V0U2hhZG93RE9NRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBt
X2lzU2hhZG93RE9NRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQpAQCAtNDI0LDYgKzQyNyw3IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX2lzTGlua1ByZWxvYWRFbmFibGVkIHsgdHJ1ZSB9OwogICAgIGJv
b2wgbV9pc0xpbmtQcmVmZXRjaEVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc01lZGlh
UHJlbG9hZGluZ0VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1BhaW50VGltaW5nRW5h
YmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzUmVzb3VyY2VUaW1pbmdFbmFibGVkIHsgZmFs
c2UgfTsKICAgICBib29sIG1faXNVc2VyVGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9v
bCBtX2lzSW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQgeyBmYWxzZSB9OwpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMjU5
MTc5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMjksNiArMzI5LDUwIEBAIFN0eWxlRGlmZmVyZW5jZSBSZW5kZXJFbGVt
ZW50OjphZGp1c3RTdHkKICAgICByZXR1cm4gZGlmZjsKIH0KIAorYm9vbCBSZW5kZXJFbGVtZW50
Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIGlmICghb3BhY2l0eSgp
IHx8IGlzU1ZHSGlkZGVuQ29udGFpbmVyKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IGF1dG8gaGFzUG90ZW50aWFsbHlWaXNpYmxlUmVnaW9ucyA9IFsmXSgpIHsKKyAgICAgICAgaWYg
KHN0eWxlKCkudmlzaWJpbGl0eSgpICE9IFZpc2liaWxpdHk6OlZpc2libGUpCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgYXV0byBkb2N1bWVudFJlY3QgPSB2aWV3KCkuZG9j
dW1lbnRSZWN0KCk7CisKKyAgICAgICAgaWYgKGF1dG8qIGN1cnJlbnQgPSBlbGVtZW50KCkpCisg
ICAgICAgICAgICByZXR1cm4gY3VycmVudC0+Ym91bmRpbmdDbGllbnRSZWN0KCkuaW50ZXJzZWN0
cyhkb2N1bWVudFJlY3QpOworCisgICAgICAgIHJldHVybiBpc1Zpc2libGVJbkRvY3VtZW50UmVj
dChkb2N1bWVudFJlY3QpOworICAgIH07CisKKyAgICBpZiAoaXNDb250ZW50ZnVsKCkgJiYgaGFz
UG90ZW50aWFsbHlWaXNpYmxlUmVnaW9ucygpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAg
IGZvciAoY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJPYmplY3QgPSBmaXJzdENoaWxkKCk7IHJl
bmRlck9iamVjdDsgcmVuZGVyT2JqZWN0ID0gcmVuZGVyT2JqZWN0LT5uZXh0U2libGluZygpKSB7
CisgICAgICAgIGlmIChyZW5kZXJPYmplY3QtPmNvbnRhaW5zUGFpbnRhYmxlQ29udGVudCgpKQor
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQor
Citib29sIFJlbmRlckVsZW1lbnQ6OmlzQ29udGVudGZ1bCgpIGNvbnN0Cit7CisgICAgaWYgKGhh
c093blBhaW50YWJsZUNvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAo
c3R5bGUoKS5oYXNQYWludGFibGVCYWNrZ3JvdW5kSW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8UmVuZGVyT2JqZWN0
PigqdGhpcykpIHsKKyAgICAgICAgaWYgKGlzPFJlbmRlclRleHQ+KGNoaWxkKSAmJiAhZG93bmNh
c3Q8UmVuZGVyVGV4dD4oY2hpbGQpLmNvbnRhaW5zT25seUhUTUxXaGl0ZXNwYWNlKCkpCisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGlu
bGluZSBib29sIFJlbmRlckVsZW1lbnQ6Omhhc0ltbWVkaWF0ZU5vbldoaXRlc3BhY2VUZXh0Q2hp
bGRPckJvcmRlck9yT3V0bGluZSgpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvJiBjaGlsZCA6IGNo
aWxkcmVuT2ZUeXBlPFJlbmRlck9iamVjdD4oKnRoaXMpKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMCw2
ICsxMDAsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlydHlMaW5lc0Zyb21DaGFu
Z2VkQ2hpbGQoUmVuZGVyT2JqZWN0JikgeyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgaGFzT3duUGFp
bnRhYmxlQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisKICAgICBib29sIGFuY2Vz
dG9yTGluZUJveERpcnR5KCkgY29uc3QgeyByZXR1cm4gbV9hbmNlc3RvckxpbmVCb3hEaXJ0eTsg
fQogICAgIHZvaWQgc2V0QW5jZXN0b3JMaW5lQm94RGlydHkoYm9vbCBmID0gdHJ1ZSk7CiAKQEAg
LTEzOSw2ICsxNDEsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1RyYW5zcGFyZW50KCkgY29uc3Qg
eyByZXR1cm4gc3R5bGUoKS5vcGFjaXR5KCkgPCAxLjBmOyB9CiAgICAgZmxvYXQgb3BhY2l0eSgp
IGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkub3BhY2l0eSgpOyB9CiAKKyAgICBib29sIGNvbnRhaW5z
UGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IGZpbmFsOworCiAgICAgYm9vbCB2aXNpYmxlVG9IaXRU
ZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS52aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0
eTo6VmlzaWJsZSAmJiBzdHlsZSgpLnBvaW50ZXJFdmVudHMoKSAhPSBQb2ludGVyRXZlbnRzOjpO
b25lOyB9CiAKICAgICBib29sIGhhc0JhY2tncm91bmQoKSBjb25zdCB7IHJldHVybiBzdHlsZSgp
Lmhhc0JhY2tncm91bmQoKTsgfQpAQCAtMzE2LDYgKzMyMCw4IEBAIHByaXZhdGU6CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBjb21wdXRlRmlyc3RMaW5lU3R5bGUoKSBjb25zdDsK
ICAgICB2b2lkIGludmFsaWRhdGVDYWNoZWRGaXJzdExpbmVTdHlsZSgpOwogCisgICAgYm9vbCBp
c0NvbnRlbnRmdWwoKSBjb25zdDsKKwogICAgIGJvb2wgY2FuRGVzdHJveURlY29kZWREYXRhKCkg
ZmluYWwgeyByZXR1cm4gIWlzVmlzaWJsZUluVmlld3BvcnQoKTsgfQogICAgIFZpc2libGVJblZp
ZXdwb3J0U3RhdGUgaW1hZ2VGcmFtZUF2YWlsYWJsZShDYWNoZWRJbWFnZSYsIEltYWdlQW5pbWF0
aW5nU3RhdGUsIGNvbnN0IEludFJlY3QqIGNoYW5nZVJlY3QpIGZpbmFsOwogICAgIHZvaWQgZGlk
UmVtb3ZlQ2FjaGVkSW1hZ2VDbGllbnQoQ2FjaGVkSW1hZ2UmKSBmaW5hbDsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5jcHAJKHJldmlzaW9uIDI1
OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsMTEgQEAgUmVuZGVySFRNTENhbnZhczo6UmVuZGVy
SFRNTENhbnZhcyhIVE1MQwogewogfQogCitib29sIFJlbmRlckhUTUxDYW52YXM6Omhhc093blBh
aW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiAhIWNhbnZhc0VsZW1lbnQoKS5y
ZW5kZXJpbmdDb250ZXh0KCk7Cit9CisKIEhUTUxDYW52YXNFbGVtZW50JiBSZW5kZXJIVE1MQ2Fu
dmFzOjpjYW52YXNFbGVtZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4gZG93bmNhc3Q8SFRNTENh
bnZhc0VsZW1lbnQ+KG5vZGVGb3JOb25Bbm9ueW1vdXMoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmgJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ0LDYgKzQ0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGVsZW1lbnQoKSBjb25zdCA9IGRl
bGV0ZTsKICAgICBib29sIHJlcXVpcmVzTGF5ZXIoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29s
IGlzQ2FudmFzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIGJvb2wgaGFz
T3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGNvbnN0IGNoYXIqIHJl
bmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiUmVuZGVySFRNTENhbnZhcyI7IH0K
ICAgICB2b2lkIHBhaW50UmVwbGFjZWQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSBv
dmVycmlkZTsKICAgICB2b2lkIGludHJpbnNpY1NpemVDaGFuZ2VkKCkgb3ZlcnJpZGUgeyBjYW52
YXNTaXplQ2hhbmdlZCgpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bWFnZS5jcHAJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzOSw2ICszMzksMTEgQEAgdm9pZCBS
ZW5kZXJJbWFnZTo6dXBkYXRlSW50cmluc2ljU2l6ZUlmTgogICAgIHNldEludHJpbnNpY1NpemUo
bmV3U2l6ZSk7CiB9CiAKK2Jvb2wgUmVuZGVySW1hZ2U6Omhhc093blBhaW50YWJsZUNvbnRlbnQo
KSBjb25zdAoreworICAgIHJldHVybiBtX2ltYWdlUmVzb3VyY2UtPmNhY2hlZEltYWdlKCkgJiYg
IW1faW1hZ2VSZXNvdXJjZS0+aW1hZ2VTaXplKDEpLmlzRW1wdHkoKTsKK30KKwogdm9pZCBSZW5k
ZXJJbWFnZTo6dXBkYXRlSW5uZXJDb250ZW50UmVjdCgpCiB7CiAgICAgLy8gUHJvcGFnYXRlIGNv
bnRhaW5lciBzaXplIHRvIGltYWdlIHJlc291cmNlLgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckltYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckltYWdlLmgJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC03Niw2ICs3Niw3IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGREaXNwbGF5QnJva2VuSW1hZ2VJY29uKCkg
Y29uc3Q7CiAKKyAgICBib29sIGhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdCBvdmVycmlk
ZTsKICAgICBib29sIGhhc05vbkJpdG1hcEltYWdlKCkgY29uc3Q7CiAKICAgICBib29sIGlzRWRp
dGFibGVJbWFnZSgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuaAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzgsNiArMjc4LDggQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCBib29sIGlzUmVuZGVyU2Nyb2xsYmFyUGFydCgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgY29udGFpbnNQYWludGFibGVDb250ZW50KCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwogICAgIGJvb2wgaXNEb2N1bWVudEVsZW1lbnRSZW5k
ZXJlcigpIGNvbnN0IHsgcmV0dXJuIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkgPT0gJm1f
bm9kZTsgfQogICAgIGJvb2wgaXNCb2R5KCkgY29uc3QgeyByZXR1cm4gbm9kZSgpICYmIG5vZGUo
KS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmJvZHlUYWcpOyB9CiAgICAgYm9vbCBpc0hSKCkgY29u
c3QgeyByZXR1cm4gbm9kZSgpICYmIG5vZGUoKS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmhyVGFn
KTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCShyZXZpc2lvbiAy
NTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xNzksNyArMTc5LDcgQEAgcHVibGljOgogICAgIExheW91dFVuaXQgdG9wT2ZG
aXJzdFRleHQoKSBjb25zdDsKICAgICAKICAgICBib29sIGNvbnRhaW5zT25seUhUTUxXaGl0ZXNw
YWNlKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0aCkgY29uc3Q7Ci0gICAgCisgICAgYm9v
bCBjb250YWluc09ubHlIVE1MV2hpdGVzcGFjZSgpIGNvbnN0IHsgcmV0dXJuIGNvbnRhaW5zT25s
eUhUTUxXaGl0ZXNwYWNlKDAsIHRleHQoKS5sZW5ndGgoKSk7IH0gCiAgICAgYm9vbCBjYW5Vc2VT
aW1wbGlmaWVkVGV4dE1lYXN1cmluZygpIGNvbnN0IHsgcmV0dXJuIG1fY2FuVXNlU2ltcGxpZmll
ZFRleHRNZWFzdXJpbmc7IH0KIAogICAgIFZlY3RvcjxzdGQ6OnBhaXI8dW5zaWduZWQsIHVuc2ln
bmVkPj4gZHJhZ2dlZENvbnRlbnRSYW5nZXNCZXR3ZWVuT2Zmc2V0cyh1bnNpZ25lZCBzdGFydE9m
ZnNldCwgdW5zaWduZWQgZW5kT2Zmc2V0KSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJWaWRlby5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTIsNiArOTIs
MTQgQEAgdm9pZCBSZW5kZXJWaWRlbzo6aW50cmluc2ljU2l6ZUNoYW5nZWQoKQogICAgIHVwZGF0
ZUludHJpbnNpY1NpemUoKTsgCiB9CiAKK2Jvb2wgUmVuZGVyVmlkZW86Omhhc093blBhaW50YWJs
ZUNvbnRlbnQoKSBjb25zdAoreworICAgIGlmICh2aWRlb0VsZW1lbnQoKS5zaG91bGREaXNwbGF5
UG9zdGVySW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIFJlbmRlckltYWdlOjpoYXNPd25QYWludGFi
bGVDb250ZW50KCk7CisKKyAgICByZXR1cm4gdmlkZW9FbGVtZW50KCkucmVhZHlTdGF0ZSgpID4g
SFRNTE1lZGlhRWxlbWVudEVudW1zOjpIQVZFX01FVEFEQVRBOworfQorCiBib29sIFJlbmRlclZp
ZGVvOjp1cGRhdGVJbnRyaW5zaWNTaXplKCkKIHsKICAgICBMYXlvdXRTaXplIHNpemUgPSBjYWxj
dWxhdGVJbnRyaW5zaWNTaXplKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVmlkZW8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VmlkZW8uaAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZGVvLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3LDYgKzY3LDcgQEAgcHJpdmF0ZToKIAog
ICAgIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KICAg
ICBib29sIGlzVmlkZW8oKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisgICAgYm9vbCBo
YXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHBhaW50
UmVwbGFjZWQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSBmaW5hbDsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5jcHAJKHJldmlzaW9u
IDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNDAsNiArMzQwLDE1IEBAIGJvb2wgRmlsbExheWVyOjpjb250
YWluc0ltYWdlKFN0eWxlSW1hZ2UKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgRmlsbExh
eWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSgpIGNvbnN0Cit7CisgICAgZm9yIChhdXRvKiBsYXll
ciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5tX25leHQuZ2V0KCkpIHsKKyAgICAgICAg
aWYgKGxheWVyLT5tX2ltYWdlICYmIGxheWVyLT5tX2ltYWdlLT5pc0xvYWRlZCgpICYmIGxheWVy
LT5tX2ltYWdlLT5oYXNDYWNoZWRJbWFnZSgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBGaWxsTGF5ZXI6OmltYWdlc0FyZUxv
YWRlZCgpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvKiBsYXllciA9IHRoaXM7IGxheWVyOyBsYXll
ciA9IGxheWVyLT5tX25leHQuZ2V0KCkpIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9GaWxsTGF5ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvRmlsbExheWVyLmgJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ1LDYgKzE0
NSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgY29udGFpbnNJbWFnZShTdHlsZUltYWdlJikgY29u
c3Q7CiAgICAgYm9vbCBpbWFnZXNBcmVMb2FkZWQoKSBjb25zdDsKKyAgICBib29sIGhhc0xvYWRl
ZENhY2hlZEltYWdlKCkgY29uc3Q7CiAgICAgYm9vbCBoYXNJbWFnZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbmV4dCA/IGhhc0ltYWdlSW5BbnlMYXllcigpIDogbV9pbWFnZTsgfQogICAgIGJvb2wgaGFz
Rml4ZWRJbWFnZSgpIGNvbnN0OwogICAgIGJvb2wgaGFzT3BhcXVlSW1hZ2UoY29uc3QgUmVuZGVy
RWxlbWVudCYpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01ODAsNiAr
NTgwLDIxIEBAIGJvb2wgUmVuZGVyU3R5bGU6OmlzSWRlbXBvdGVudFRleHRBdXRvc2kKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBSZW5kZXJTdHlsZTo6aGFzUGFpbnRhYmxlQmFja2dyb3Vu
ZEltYWdlKCkgY29uc3QKK3sKKyAgICBpZiAoIWhhc0JhY2tncm91bmRJbWFnZSgpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBjb25zdCBGaWxsTGF5ZXImIGJhY2tncm91bmQgPSBiYWNr
Z3JvdW5kTGF5ZXJzKCk7CisgICAgaWYgKCFiYWNrZ3JvdW5kLmhhc0xvYWRlZENhY2hlZEltYWdl
KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChiYWNrZ3JvdW5kU2l6ZUxlbmd0
aCgpLmlzRW1wdHkoKSAmJiBiYWNrZ3JvdW5kU2l6ZVR5cGUoKSA9PSBGaWxsU2l6ZVR5cGU6OlNp
emUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBBdXRv
c2l6ZVN0YXR1cyBSZW5kZXJTdHlsZTo6YXV0b3NpemVTdGF0dXMoKSBjb25zdAogewogICAgIHJl
dHVybiBPcHRpb25TZXQ8QXV0b3NpemVTdGF0dXM6OkZpZWxkcz46OmZyb21SYXcobV9pbmhlcml0
ZWRGbGFncy5hdXRvc2l6ZVN0YXR1cyk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQxNSw2
ICs0MTUsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgTGVuZ3RoU2l6ZSYgYmFja2dyb3VuZFNpemVM
ZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2JhY2tncm91bmREYXRhLT5iYWNrZ3JvdW5kLnNpemVM
ZW5ndGgoKTsgfQogICAgIEZpbGxMYXllciYgZW5zdXJlQmFja2dyb3VuZExheWVycygpIHsgcmV0
dXJuIG1fYmFja2dyb3VuZERhdGEuYWNjZXNzKCkuYmFja2dyb3VuZDsgfQogICAgIGNvbnN0IEZp
bGxMYXllciYgYmFja2dyb3VuZExheWVycygpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2dyb3VuZERh
dGEtPmJhY2tncm91bmQ7IH0KKyAgICBib29sIGhhc1BhaW50YWJsZUJhY2tncm91bmRJbWFnZSgp
IGNvbnN0OwogCiAgICAgU3R5bGVJbWFnZSogbWFza0ltYWdlKCkgY29uc3QgeyByZXR1cm4gbV9y
YXJlTm9uSW5oZXJpdGVkRGF0YS0+bWFzay5pbWFnZSgpOyB9CiAgICAgRmlsbFJlcGVhdCBtYXNr
UmVwZWF0WCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEZpbGxSZXBlYXQ+KG1fcmFyZU5v
bkluaGVyaXRlZERhdGEtPm1hc2sucmVwZWF0WCgpKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAJKHJldmlz
aW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9k
ZWxPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTgsNiArMTU4LDExIEBAIHN0YXRpYyBi
b29sIGlzR3JhcGhpY3NFbGVtZW50KGNvbnN0IFJlbmQKICAgICByZXR1cm4gcmVuZGVyZXIuaXNT
VkdTaGFwZSgpIHx8IHJlbmRlcmVyLmlzU1ZHVGV4dCgpIHx8IHJlbmRlcmVyLmlzU1ZHSW1hZ2Uo
KSB8fCByZW5kZXJlci5lbGVtZW50KCktPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnVzZVRhZyk7CiB9
CiAKK2Jvb2wgUmVuZGVyU1ZHTW9kZWxPYmplY3Q6Omhhc093blBhaW50YWJsZUNvbnRlbnQoKSBj
b25zdAoreworICAgIHJldHVybiBpc0dyYXBoaWNzRWxlbWVudCgqdGhpcyk7Cit9CisKIC8vIFRo
ZSBTVkcgYWRkRm9jdXNSaW5nUmVjdHMoKSBtZXRob2QgYWRkcyByZWN0cyBpbiBsb2NhbCBjb29y
ZGluYXRlcyBzbyB0aGUgZGVmYXVsdCBhYnNvbHV0ZUZvY3VzUmluZ1F1YWRzCiAvLyByZXR1cm5z
IGluY29ycmVjdCB2YWx1ZXMgZm9yIFNWRyBvYmplY3RzLiBPdmVycmlkaW5nIHRoaXMgbWV0aG9k
IHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgYWJzb2x1dGUgYm91bmRzLgogdm9pZCBSZW5kZXJTVkdN
b2RlbE9iamVjdDo6YWJzb2x1dGVGb2N1c1JpbmdRdWFkcyhWZWN0b3I8RmxvYXRRdWFkPiYgcXVh
ZHMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2Jq
ZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdNb2RlbE9iamVjdC5oCShyZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDYg
KzY5LDcgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIGJvb2wgaXNSZW5kZXJTVkdNb2Rl
bE9iamVjdCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKyAgICBib29sIGhhc093blBh
aW50YWJsZUNvbnRlbnQoKSBjb25zdCBmaW5hbDsKIAogICAgIC8vIFRoaXMgbWV0aG9kIHNob3Vs
ZCBuZXZlciBiZSBjYWxsZWQsIFNWRyB1c2VzIGEgZGlmZmVyZW50IG5vZGVBdFBvaW50IG1ldGhv
ZAogICAgIGJvb2wgbm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVz
dWx0JiwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVyLCBjb25zdCBM
YXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRlc3RBY3Rpb24pIG92ZXJyaWRlOwpJ
bmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50
aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgYSBydW50aW1lIGZsYWcgZm9yIHBhaW50LXRpbWluZyAocGFpbnRUaW1pbmdF
bmFibGVkKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVy
ZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldFBh
aW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXNSZWZQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dDb250ZXh0TWFu
YWdlckNvbm5lY3Rpb246OnVwZGF0ZVByZWZlcmVuY2VzU3RvcmUpOgorCiAyMDIwLTAzLTI5ICBk
ZGtpbHplckBhcHBsZS5jb20gIDxkZGtpbHplckBhcHBsZS5jb21AMjY4ZjQ1Y2MtY2QwOS0wNDEw
LWFiM2MtZDUyNjkxYjRkYmZjPgogCiAgICAgICAgIEJ1aWxkIGZpeCBmb3I6IFtpT1NdIERlbGF5
IHByb2Nlc3Mgc3VzcGVuc2lvbiBmb3IgYSB3aGlsZSBhZnRlciBsb2FkaW5nIGFuIGFwcCBsaW5r
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHJldmlzaW9u
IDI1OTE3OSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHdv
cmtpbmcgY29weSkKQEAgLTgzOSw2ICs4MzksMTMgQEAgVXNlclRpbWluZ0VuYWJsZWQ6CiAgIGh1
bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBVc2VyVGltaW5nIEFQSSIKICAgd2ViY29y
ZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAorUGFpbnRUaW1pbmdFbmFibGVkOgor
ICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogdHJ1ZQorICBodW1hblJlYWRhYmxlTmFtZTog
IlBhaW50IFRpbWluZyIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFBhaW50
IFRpbWluZyBBUEkiCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisK
IEJlYWNvbkFQSUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNw
cAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4MTksNiArMTgxOSwxNiBAQCBib29s
IFdLUHJlZmVyZW5jZXNHZXRVc2VyVGltaW5nRW5hYmxlZChXCiAgICAgcmV0dXJuIHRvSW1wbChw
cmVmZXJlbmNlc1JlZiktPnVzZXJUaW1pbmdFbmFibGVkKCk7CiB9CiAKK3ZvaWQgV0tQcmVmZXJl
bmNlc1NldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
LCBib29sIGZsYWcpCit7CisgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0UGFpbnRUaW1p
bmdFbmFibGVkKGZsYWcpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRQYWludFRpbWluZ0Vu
YWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+cGFpbnRUaW1pbmdFbmFibGVkKCk7Cit9CisKIHZvaWQgV0tQ
cmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZl
cmVuY2VzUmVmLCBib29sIGZsYWcpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0
UmVzb3VyY2VUaW1pbmdFbmFibGVkKGZsYWcpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCShyZXZpc2lv
biAyNTkxNzkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
UmVmUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MDAsNiArNTAwLDEwIEBAIFdLX0VYUE9S
VCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRVc2VyVGltaW4KIFdLX0VYUE9SVCBib29sIFdLUHJlZmVy
ZW5jZXNHZXRVc2VyVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIAogLy8gRGVmYXVs
dHMgdG8gZmFsc2UKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0Vu
YWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKK1dLX0VYUE9SVCBib29sIFdLUHJl
ZmVyZW5jZXNHZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CisKKy8vIERl
ZmF1bHRzIHRvIGZhbHNlCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VU
aW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9v
bCBXS1ByZWZlcmVuY2VzR2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYp
OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCShyZXZpc2lvbiAy
NTkxNzkpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMiw2ICsxMjIsNyBAQCB2
b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjp1cGRhCiAgICAgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRDYWNoZUFQSUVuYWJsZWQoc3RvcmUuZ2V0
Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpjYWNoZUFQSUVuYWJsZWRLZXkoKSkp
OwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hB
UElFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6ZmV0
Y2hBUElFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnNldFVzZXJUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6dXNlclRpbWluZ0VuYWJsZWRLZXkoKSkpOworICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1pbmdFbmFibGVkKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFpbnRUaW1pbmdFbmFi
bGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnNldFJlc291cmNlVGltaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OnJlc291cmNlVGltaW5nRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJs
ZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpmZXRjaEFQSUtl
ZXBBbGl2ZUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0UmVzdHJpY3RlZEhUVFBSZXNwb25zZUFjY2VzcyhzdG9yZS5nZXRCb29s
VmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nl
c3NLZXkoKSkpOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5
MTc5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJr
aXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBw
cmVmZXJlbmNlIGtleSBmb3IgcGFpbnQgdGltaW5nLgorCisgICAgICAgICogV2ViVmlldy9XZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgt
W1dlYlByZWZlcmVuY2VzIHBhaW50VGltaW5nRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVm
ZXJlbmNlcyBzZXRQYWludFRpbWluZ0VuYWJsZWQ6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisKIDIw
MjAtMDMtMjcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAg
ICAgRHJhZ0RhdGE6OmNvbnRhaW5zVVJMKCkgc2hvdWxkIGF2b2lkIHJlYWRpbmcgVVJMIHN0cmlu
Z3MgZnJvbSB0aGUgcGFzdGVib2FyZApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZpc2lv
biAyNTkxNzkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNjAsNiArMjYwLDcgQEAKICNkZWZp
bmUgV2ViS2l0QXR0YWNobWVudEVsZW1lbnRFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEF0
dGFjaG1lbnRFbGVtZW50RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2
ZXJFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxl
ZCIKICNkZWZpbmUgV2ViS2l0TWVudUl0ZW1FbGVtZW50RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRNZW51SXRlbUVsZW1lbnRFbmFibGVkIgorI2RlZmluZSBXZWJLaXRQYWludFRpbWluZ0Vu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkIgogI2RlZmluZSBX
ZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRVc2VyVGltaW5nRW5h
YmxlZCIKICNkZWZpbmUgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBA
IldlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TWVkaWFDb250ZW50
VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFD
b250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQiCkluZGV4OiBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHJldmlzaW9uIDI1
OTE3OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTY4Myw2ICs2ODMsNyBAQCArICh2b2lkKWluaXRpYWxpemUK
ICNpZiBFTkFCTEUoSU5URVJTRUNUSU9OX09CU0VSVkVSKQogICAgICAgICBATk8sIFdlYktpdElu
dGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXksCiAjZW5kaWYKKyAgICAgICAg
QE5PLCBXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8s
IFdlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJL
aXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktp
dE1lZGlhVXNlckdlc3R1cmVJbmhlcml0c0Zyb21Eb2N1bWVudCwKQEAgLTMzMDgsNiArMzMwOSwx
NiBAQCAtICh2b2lkKXNldFVzZXJUaW1pbmdFbmFibGVkOihCT09MKWZsYWcKICAgICBbc2VsZiBf
c2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5j
ZUtleV07CiB9CiAKKy0gKEJPT0wpcGFpbnRUaW1pbmdFbmFibGVkCit7CisgICAgcmV0dXJuIFtz
ZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtl
eV07Cit9CisKKy0gKHZvaWQpc2V0UGFpbnRUaW1pbmdFbmFibGVkOihCT09MKWZsYWcKK3sKKyAg
ICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFBhaW50VGltaW5nRW5hYmxl
ZFByZWZlcmVuY2VLZXldOworfQorCiAtIChCT09MKXJlc291cmNlVGltaW5nRW5hYmxlZAogewog
ICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFJlc291cmNlVGltaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXldOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCShyZXZpc2lvbiAyNTkxNzkp
CisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02NjEsNiArNjYxLDcgQEAgQGludGVyZmFjZSBXZWJQcmVm
ZXJlbmNlcyAoV2ViUHJpdmF0ZSkKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGtleWdlbkVs
ZW1lbnRFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgdXNlclRpbWluZ0VuYWJs
ZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCByZXNvdXJjZVRpbWluZ0VuYWJsZWQ7CitA
cHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBwYWludFRpbWluZ0VuYWJsZWQ7CiBAcHJvcGVydHkg
KG5vbmF0b21pYykgQk9PTCBsaW5rUHJlbG9hZEVuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21p
YykgQk9PTCBtZWRpYVVzZXJHZXN0dXJlSW5oZXJpdHNGcm9tRG9jdW1lbnQ7CiBAcHJvcGVydHkg
KG5vbmF0b21pYykgQk9PTCBpc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkOwpJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMjU5
MTc5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMTk2LDYgKzMxOTYsNyBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5n
ZWQ6KFdlYlByZWZlcmVuCiAKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldFVzZXJUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnVzZXJUaW1pbmdFbmFibGVk
KTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFJlc291
cmNlVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5yZXNvdXJjZVRpbWluZ0VuYWJsZWQpOworICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1pbmdF
bmFibGVkKHByZWZlcmVuY2VzLnBhaW50VGltaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMaW5rUHJlbG9hZEVuYWJsZWQocHJlZmVy
ZW5jZXMubGlua1ByZWxvYWRFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLnNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQocHJlZmVyZW5jZXMubWVk
aWFQcmVsb2FkaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRJc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKHByZWZlcmVuY2Vz
LmlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQpOwpJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0NoYW5nZUxvZwkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4v
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMDMtMjMgIE5v
YW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1Ag
KGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgcHJlZmVyZW5jZSBrZXkgZm9yIHBhaW50LXRpbWluZy4KKwor
ICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6CisgICAgICAg
ICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMu
aDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZl
cmVuY2VzQ2hhbmdlZCk6CisKIDIwMjAtMDMtMTggIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgogCiAgICAgICAgIE1ha2Ugc3VyZSBhIHByZWZsaWdodCBmYWlscyBpZiByZXNwb25z
ZSBoZWFkZXJzIGFyZSBpbnZhbGlkCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24gMjU5MTc5KQorKysgU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE5Nyw2ICsxOTcsOCBAQAogCiAjZGVmaW5lIFdlYktpdFVzZXJUaW1pbmdFbmFi
bGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0VXNlclRpbWluZ0VuYWJsZWQiCiAKKyNkZWZpbmUgV2Vi
S2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0UGFpbnRUaW1pbmdFbmFi
bGVkIgorCiAjZGVmaW5lIFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkg
IldlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZCIKIAogI2RlZmluZSBXZWJLaXRMaW5rUHJlbG9h
ZEVuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWQiCkluZGV4OiBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgJKHJldmlzaW9uIDI1OTE3OSkK
KysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI1MSw2ICsyNTEsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIHNldFVzZXJUaW1pbmdFbmFibGVkKEJPT0wpOwogICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSByZXNvdXJjZVRpbWluZ0VuYWJsZWQoX091dF8gQk9PTCop
OwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRSZXNvdXJjZVRpbWlu
Z0VuYWJsZWQoQk9PTCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHBh
aW50VGltaW5nRW5hYmxlZChfT3V0XyBCT09MKik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIHNldFBhaW50VGltaW5nRW5hYmxlZChCT09MKTsKICAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgbGlua1ByZWxvYWRFbmFibGVkKF9PdXRfIEJPT0wqKTsK
ICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0TGlua1ByZWxvYWRFbmFi
bGVkKEJPT0wpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBtZWRpYVBy
ZWxvYWRpbmdFbmFibGVkKF9PdXRfIEJPT0wqKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YlZpZXcuY3BwCShyZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTI4Myw2ICs1MjgzLDExIEBAIEhSRVNVTFQg
V2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2UKICAgICAgICAgcmV0dXJuIGhyOwogICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0Vu
YWJsZWQoISFlbmFibGVkKTsKIAorICAgIGhyID0gcHJlZnNQcml2YXRlLT5wYWludFRpbWluZ0Vu
YWJsZWQoJmVuYWJsZWQpOworICAgIGlmIChGQUlMRUQoaHIpKQorICAgICAgICByZXR1cm4gaHI7
CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRp
bWluZ0VuYWJsZWQoISFlbmFibGVkKTsKKwogICAgIGhyID0gcHJlZnNQcml2YXRlLT5yZXNvdXJj
ZVRpbWluZ0VuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQogICAgICAgICBy
ZXR1cm4gaHI7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwJKHJldmlzaW9uIDI1OTE3
OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5Nyw2ICsxOTcsOCBAQCBpbnRlcmZhY2Ug
SVdlYlByZWZlcmVuY2VzUHJpdmF0ZTQgOiBJV2ViCiAgICAgSFJFU1VMVCBzZXRVc2VyVGltaW5n
RW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CiAgICAgSFJFU1VMVCByZXNvdXJjZVRpbWluZ0Vu
YWJsZWQoW291dCwgcmV0dmFsXSBCT09MKik7CiAgICAgSFJFU1VMVCBzZXRSZXNvdXJjZVRpbWlu
Z0VuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOworICAgIEhSRVNVTFQgcGFpbnRUaW1pbmdFbmFi
bGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOworICAgIEhSRVNVTFQgc2V0UGFpbnRUaW1pbmdFbmFi
bGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKICAgICBIUkVTVUxUIGxpbmtQcmVsb2FkRW5hYmxlZChb
b3V0LCByZXR2YWxdIEJPT0wqKTsKICAgICBIUkVTVUxUIHNldExpbmtQcmVsb2FkRW5hYmxlZChb
aW5dIEJPT0wgZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBtZWRpYVByZWxvYWRpbmdFbmFibGVkKFtv
dXQsIHJldHZhbF0gQk9PTCopOwpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5MTc5KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50aGFs
ICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgcHJlZmVyZW5jZSBrZXkgZm9yIHBhaW50LXRpbWluZy4KKworICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0V2ViUHJl
ZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dp
bi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25z
aXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVyZW5jZXNUb0Nv
bnNpc3RlbnRWYWx1ZXMpOgorCiAyMDIwLTAzLTI4ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlz
dGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjU3OTYzKSBVSSBwcm9j
ZXNzIGNyYXNoZXMgd2hlbiBzZXR0aW5nIG5hdmlnYXRpb24gZGVsZWdhdGUgaW5zaWRlIG5hdmln
YXRpb24gZGVsZWdhdGUgY2FsbGJhY2tzCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
RHVtcFJlbmRlclRyZWUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tCShyZXZpc2lvbiAyNTkxNzkpCisrKyBUb29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwMDQsNiArMTAw
NCw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3QKICAgICBbcHJl
ZmVyZW5jZXMgc2V0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVy
ZW5jZXMgc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNl
dFVzZXJUaW1pbmdFbmFibGVkOllFU107CisgICAgW3ByZWZlcmVuY2VzIHNldFBhaW50VGltaW5n
RW5hYmxlZDpZRVNdOwogCiAgICAgW3ByZWZlcmVuY2VzIHNldENhY2hlQVBJRW5hYmxlZDpOT107
CiAgICAgcHJlZmVyZW5jZXMubWVkaWFDYXBhYmlsaXRpZXNFbmFibGVkID0gWUVTOwpJbmRleDog
VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCShyZXZpc2lvbiAy
NTkxNzkpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC04OTksNiArODk5LDcgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVm
ZXJlbmNlc1RvQ29uc2lzdAogICAgIHByZWZzUHJpdmF0ZS0+c2V0Q3VzdG9tRWxlbWVudHNFbmFi
bGVkKFRSVUUpOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFRS
VUUpOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0VXNlclRpbWluZ0VuYWJsZWQoVFJVRSk7CisgICAg
cHJlZnNQcml2YXRlLT5zZXRQYWludFRpbWluZ0VuYWJsZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2
YXRlLT5zZXREYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2YXRl
LT5jbGVhck5ldHdvcmtMb2FkZXJTZXNzaW9uKCk7CiAKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyNTkxNzkpCisrKyBUb29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMxLDYg
KzkzMSw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVyZW5jZXNUb0MKICAgICBX
S1ByZWZlcmVuY2VzU2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVl
KTsKICAgICBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2Vz
LCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWluZ0VuYWJsZWQocHJlZmVyZW5j
ZXMsIHRydWUpOworICAgIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQocHJlZmVy
ZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVByZWxvYWRpbmdFbmFibGVk
KHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQbGF5YmFja0Fs
bG93c0lubGluZShwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldElubGlu
ZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKHByZWZlcmVuY2VzLCBm
YWxzZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTkxNzkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMSBAQAorMjAyMC0wMy0yMyAgTm9hbSBSb3Nl
bnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3Qg
Y29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZGVkIHRlc3RzIGZvciBzb21lIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgKEZD
UCkgdXNlLWNhc2VzLgorCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1h
cGlzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BhaW50
LXRpbWluZy1hcGlzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNv
dXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qczogQWRkZWQuCisgICAgICAgICAgICAgICAgVGVzdCBl
eGlzdGVuY2Ugb2YgcGFpbnQgdGltaW5nIEFQSSBvbiB0aGUgd2luZG93IG9iamVjdC4KKworICAg
ICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50
ZnVsLXBhaW50LWZyYW1lcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkv
Zmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LXdpdGgtd29y
a2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNw
LXN1YmZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJj
ZXMvd29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAgICAgICAgIFRlc3QgdGhhdCBGQ1AgaXMg
bm90IGF2YWlsYWJsZSBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lcyBhbmQgd29ya2Vycy4KKworICAg
ICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50
ZnVsLXBhaW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBp
L3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbDogQWRkZWQu
CisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanM6
IEFkZGVkLgorICAgICAgICAoYXN5bmMgd2FpdEZvckZDUCk6CisgICAgICAgICAgICAgICAgVGVz
dCB0aGF0IHBlcmZvcm1hbmNlIG9ic2VydmVycyBhcmUgY2FsbGVkIGZvciBGQ1AuCisKIDIwMjAt
MDMtMjggIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZWdyZXNzaW9uOiBmYXN0L2hpZHBpL2ltYWdlLXNyY3NldC1zdmctY2FudmFzLTJ4Lmh0
bWwgaXMgZmFpbGluZyBjb25zaXN0ZW50bHkgb24gaU9TIEVXUwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTkxNzkpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzggQEAKKzIwMjAtMDMt
MjMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVu
dCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJbXBvcnRlZCB0ZXN0LXN1aXRlIGZyb20gdzNjIHRvIGNv
dmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FzZXMuCisgICAgICAgIFRoZSBmY3Atb25seSBj
YXNlcyBhcmUgaW1wb3J0ZWQsIHdoaWxlIHRoZSBvdGhlciBvbmVzIGFyZSBub3Qgc2luY2UgV2Vi
S2l0IGRvZXMgbm90IHN1cHBvcnQgZmlyc3QtcGFpbnQuCisKKyAgICAgICAgKiByZXNvdXJjZXMv
aW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250
ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGll
bnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qt
cm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRl
LWRlc2NlbmRhbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
c2NhbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtdGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLW9wYWNpdHkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJv
dW5kcy10cmFuc2xhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlz
cGxheS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBz
ZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXN2Zy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4
dC1pbnB1dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC12aWRlby1mcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdoaXRlc3BhY2UuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC13aXRoLXJ0bC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJj
bGVzLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1w
YWludC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL3Jlc291cmNlcy91dGlscy5qczogQWRkZWQuCisgICAgICAgICh3YWl0VGltZSk6CisgICAg
ICAgIChhc3luYyBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKGFzeW5j
IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKHRlc3RfZmNwKToKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0
LmxvZzogQWRkZWQuCisKIDIwMjAtMDMtMjYgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hA
Z21haWwuY29tPgogCiAgICAgICAgIFN5bmMgd3B0L2RvbXhwYXRoIGFuZCByZS1zeW5jIHdwdC9j
c3MvY3Nzb20tdmlldyBmcm9tIHVwc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgko
cmV2aXNpb24gMjU5MTc5KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9p
bXBvcnQtZXhwZWN0YXRpb25zLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTEzLDYgKzEzLDggQEAK
ICAgICAiY3NzL2dlb21ldHJ5IjogImltcG9ydCIsIAogICAgICJjc3Mvc3VwcG9ydCI6ICJpbXBv
cnQiLCAKICAgICAiY3VzdG9tLWVsZW1lbnRzIjogImltcG9ydCIsIAorICAgICJwYWludC10aW1p
bmcvIjogImltcG9ydCIsIAorICAgICJwYWludC10aW1pbmcvZmNwLW9ubHkiOiAiaW1wb3J0Iiwg
CiAgICAgInNoYWRvdy1kb20iOiAiaW1wb3J0IiwgCiAgICAgInRvb2xzIjogImltcG9ydCIsIAog
ICAgICJ3ZWItYW5pbWF0aW9ucyI6ICJpbXBvcnQiLCAKQEAgLTMxOSw3ICszMjEsOCBAQAogICAg
ICJ3ZWItcGxhdGZvcm0tdGVzdHMvb3JpZW50YXRpb24tZXZlbnQiOiAic2tpcCIsIAogICAgICJ3
ZWItcGxhdGZvcm0tdGVzdHMvb3JpZW50YXRpb24tc2Vuc29yIjogInNraXAiLCAKICAgICAid2Vi
LXBsYXRmb3JtLXRlc3RzL3BhZ2UtdmlzaWJpbGl0eSI6ICJza2lwIiwgCi0gICAgIndlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmciOiAic2tpcCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5IjogImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtaGFuZGxlciI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LW1ldGhvZC1iYXNpYy1jYXJkIjogInNraXAiLCAKICAgICAid2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtbWV0aG9kLWlkIjogInNraXAiLCAKQEAgLTQwMCw3ICs0MDMsNyBA
QAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvd2VidXNiIjogInNraXAiLCAKICAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL3dlYnZyIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3dl
YnZ0dCI6ICJza2lwIiwgCi0gICAgIndlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ciI6ICJpbXBvcnQi
LAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2xldHMiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMveC1mcmFtZS1v
cHRpb25zIjogInNraXAiLCAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgc2l6ZS4gCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWJhY2tncm91bmQtc2l6ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRl
c3Q6IEZDUCBkdWUgdG8gYmFja2dyb3VuZCBzaXplPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFp
biB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4v
cmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDA7Cisg
ICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNj
cmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgYmFja2dyb3VuZC1zaXpl
OiAxMDAlIDEwMCU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxz
Y3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRv
IGJhY2tncm91bmQgc2l6ZS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFj
a2dyb3VuZCBpbWFnZSBpbiBpbWFnZS1zZXQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1h
Z2Utc2V0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tncm91bmQgaW1h
Z2UgaW4gaW1hZ2Utc2V0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250
ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWlu
LmNvbnRlbnRmdWwgeworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWltYWdlLXNl
dCh1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKSAxeCk7CisgICAgICAgIGJhY2tncm91bmQt
aW1hZ2U6IGltYWdlLXNldCh1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKSAxeCk7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2Ug
aW4gaW1hZ2Utc2V0LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxlLiAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIHNob3VsZCBmaXJlIGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2
aXNpYmxlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBw
eDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGFu
ZCBwcmVGQ1AgY2xhc3NlcyBhcmUgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAg
I21haW4ucHJlRkNQIHsKKyAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOworICAgIH0KKworICAg
ICNtYWluLmNvbnRlbnRmdWwsICAjbWFpbi5wcmVGQ1AgeworICAgICAgICBiYWNrZ3JvdW5kLWlt
YWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAjbWFpbi5j
b250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKKyAgICB9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlz
aWJsZS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBDYW52YXMgc2hvdWxkIGNvdW50IGFzIGNvbnRlbnRmdWwgd2hlbiBjb250
ZXh0IGlzIGNyZWF0ZWQgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCB3aGVuIGNhbnZhcyBjb250ZXh0IGlzIGNyZWF0
ZWQ8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0
aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48
L2NhbnZhcz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3Nl
cnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGlt
aW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RD
b250ZW50ZnVsUGFpbnQoKTsKKyAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnY2FudmFzJyk7CisgICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOworICAgIGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgMTAwLCAxMDApOworICAgIGF3YWl0IGFz
c2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdDYW52YXMgc2hvdWxkIGNvdW50IGFz
IGNvbnRlbnRmdWwgd2hlbiBjb250ZXh0IGlzIGNyZWF0ZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBHcmFkaWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBj
b250ZW50ZnVsIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtZ3JhZGllbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0
OiBGQ1Agc2hvdWxkIG5vdCBmaXJlIHdpdGggZ3JhZGllbnQtb25seSBiYWNrZ3JvdW5kczwvdGl0
bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVu
dCh0byBib3R0b20sIG9yYW5nZSwgYmx1ZSk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJt
YWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAg
IGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWlu
dCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAgY29uc3QgbWFpbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdtYWluJyk7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9G
aXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAgJ0dyYWRpZW50cyBzaG91bGQgbm90IGNvdW50
IGFzIGNvbnRlbnRmdWwnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNk
LXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBp
dHMgYW5jZXN0b3IgZ2V0dGluZyByb3RhdGluZyBpbnRvIHZpZXcuIAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIDNkIHJl
dmVhbGluZyBvZiBkZXNjZW5kYW50czwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAg
ICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6
IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAg
ICAgIHRyYW5zZm9ybTogcm90YXRlWCg0NWRlZyk7CisgICAgICAgIHRyYW5zZm9ybS1zdHlsZTog
cHJlc2VydmUtM2Q7CisgICAgfQorCisgICAgLyoKKyAgICAgICBUaGlzIHRlc3RzIHRoYXQgZ2l2
ZW4gbXVsdGlwbGljYXRpb24gZWZmZWN0IG9mIDNkIHRyYW5zZm9ybXMgb24gYm91bmRpbmcgcmVj
dCwKKyAgICAgICBBbiBlbGVtZW50IGNvdW50cyBhcyBjb250ZW50ZnVsL3BhaW50YWJsZSBvbmx5
IHdoZW4gaXRzIGJvdW5kaW5nIHJlY3QgaXMgdHJ1bHkgbm9uLWVtcHR5ICovCisgICAgI2NoaWxk
IHsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDQ1ZGVnKTsKKyAgICB9CisKKyAgICAvKiBj
b250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNt
YWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJjaGlsZCI+VGV4dDwvZGl2PgorPC9k
aXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyByb3RhdGluZyBpbnRvIHZpZXcuIik7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qt
cm90YXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LTNkLXJvdGF0ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWlu
dmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NCBAQAorVGV4dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIDNk
IHJvdGF0aW9uIGludG8gdmlldy4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qt
cm90YXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3Rh
dGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0
ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8g
M2Qgcm90YXRpb24gaW50byB2aWV3PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDog
MHB4OworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoOTBkZWcpOworICAgICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVs
IGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRl
bnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2
IGlkPSJtYWluIj5UZXh0PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXcuIikKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2Fs
ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2Fs
ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mg
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gc2NhbGUgYmVjb21pbmcgcG9zaXRp
dmUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJh
bnNpdGlvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQgQEAKK1RFWFQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4g
cmV2ZWFsZWQgZHVyaW5nIHRyYW5zaXRpb24uIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBh
aW50IFRpbWluZyBUZXN0OiBGQ1AgaW4gdHJhbnNpdGlvbjwvdGl0bGU+Cis8c3R5bGU+CisgICAg
I21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKKyAgICAgICAg
dHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwczsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwor
ICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZp
bmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAg
ICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4i
PlRFWFQ8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcgdHJhbnNpdGlvbi4iKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJm
b3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBzY2FsZSBjaGFuZ2U8L3RpdGxl
PgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogc2Nh
bGUoMCk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAg
ICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAg
ICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2Ny
aXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7
CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91
dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAg
dGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHNjYWxlIGJlY29t
aW5nIHBvc2l0aXZlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNCBAQAorSU5WSVNJQkxFCisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4gCisKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1p
bnZpc2libGUtdGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBz
aG91bGQgc3RpbGwgZmlyZSBmb3IgaW52aXNpYmxlIHRleHQ8L3RpdGxlPgorPHN0eWxlPgorICAg
ICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAw
cHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsK
KyAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CisgICAgfQorCisgICAgLyogY29udGVu
dGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5j
b250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKKyAgICB9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIElOVklTSUJMRQorPC9kaXY+Cis8c2NyaXB0PgorICAg
IHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxl
bWVudCBiZWNvbWluZyB2aXNpYmxlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4dAorCitQQVNTIEZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHBvc2l0aXZlIG9w
YWNpdHkuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBl
cmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGFuY2VzdG9yIG9wYWNpdHk8
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9u
OiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0KKworICAgICNjaGlsZCB7CisgICAg
ICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBhbmQgaW50ZXJtZWRp
YXRlIGNsYXNzZXMgYXJlIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWlu
LmNvbnRlbnRmdWwgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0eTogMTsKKyAgICB9CisKKyAgICAj
bWFpbi5pbnRlcm1lZGlhdGUgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0eTogMTsKKyAgICB9CisK
KyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgeworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKwor
ICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFjaXR5OiAwLjU7CisgICAgfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJjaGlsZCI+VGV4dDwvZGl2Pgor
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiIpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVsZW1lbnQuIAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3BhY2l0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBl
cmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIG9wYWNpdHk8L3RpdGxlPgor
PHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2
ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVz
b3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAv
KiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAg
ICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFjaXR5OiAwLjE7CisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIG9wYWNpdHktcmV2ZWFsZWQgZWxlbWVudC4i
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1v
Zi1ib3VuZHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2Yt
Ym91bmRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9m
LWJvdW5kcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaW50ZXJzZWN0aW9uIHdpdGgg
ZG9jdW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRy
YW5zbGF0ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1v
Zi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byB0cmFuc2Zv
cm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBh
aW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBpbnRlcnNlY3Rpb24g
d2l0aCBkb2N1bWVudDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0
aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAg
ICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMDBweCk7CisgICAgICAgIHBvc2l0aW9uOiBy
ZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwo
Li4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNs
YXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRm
dWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlk
PSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1
bWVudC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3V0LW9mLWJvdW5kcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91
bmRzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGludGVy
c2VjdGlvbiB3aXRoIGRvY3VtZW50PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDog
LTEwMDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7Cisg
ICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOwor
ICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBz
Y3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIGxlZnQ6IDBweDsKKyAg
ICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxz
LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0
X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaW50ZXJzZWN0aW9uIHdp
dGggZG9jdW1lbnQuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4gCisKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+
Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAj
bWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgZGlzcGxheTog
bm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBk
aXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGltYWdlLiAKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5j
ZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZTwvdGl0
bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cisg
ICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAg
ICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLwor
ICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBjb250ZW50OiB1cmwoLi4vcmVz
b3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgor
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisK
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0
eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAor
CitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50
IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1vcGFjaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LW9wYWNpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtb3BhY2l0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRl
c3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5PC90
aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKwor
ICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiOworICAgICAgICBvcGFj
aXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0
ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAg
IG9wYWNpdHk6IDAuNTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIikKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRl
eHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC10ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBA
CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1l
bnQgdGV4dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0
bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1l
bnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjog
cmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Ag
c2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBjb250ZW50
OiAiVEVYVCIKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2Ny
aXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBw
c2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlz
aWJpbGl0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVj
b21pbmcgdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNp
YmlsaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZp
c2liaWxpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtdmlzaWJpbGl0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6
IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZTwvdGl0bGU+Cis8c3R5
bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjph
ZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgdmlzaWJpbGl0eTogaGlk
ZGVuOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0
X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAgIHZp
c2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwv
ZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4iKQorPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gU1ZHIGJlY29t
ZXMgY29udGVudGZ1bC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXN2Zy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCB3aXRo
IFNWRzwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7
CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgcG9z
aXRpb246IHJlbGF0aXZlOworICAgIH0KKworICAgICNjaXJjbGUgeworICAgICAgZGlzcGxheTog
bm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI2NpcmNsZSB7CisgICAgICAg
IGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgIDxz
dmcgdmlld0JveD0iMCAwIDEwIDEwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
CisgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKyAgICA8
ZGVmcz4KKyAgICAgIDxjaXJjbGUgaWQ9Im15Q2lyY2xlIiBjeD0iNSIgY3k9IjUiIHI9IjQiIHN0
cm9rZT0iYmx1ZSIvPgorICAgIDwvZGVmcz4KKyAgICA8dXNlIGlkPSJjaXJjbGUiIGhyZWY9IiNt
eUNpcmNsZSIgZmlsbD0iZ3JlZW4iIC8+CisgIDwvc3ZnPgorPC9kaXY+Cis8c2NyaXB0PgorICAg
IHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gU1ZHIGJlY29tZXMg
Y29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAor
CisKK1BBU1MgVGV4dCBpbnB1dCBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBpdHMgdmFs
dWUgaXMgbm9uLWVtcHR5IAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50
IFRpbWluZyBUZXN0OiBGQ1AgZHVlIGZvciBub24tZW1wdHkgdGV4dCBpbnB1dDwvdGl0bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PGlucHV0IGlkPSJpbnB1dCIgdHlwZT0idGV4dCIgLz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVz
dChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1h
bmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAg
YXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIp
KTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICAgIGNv
bnN0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0Jyk7CisgICAgICBpbnB1
dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJyAgJyk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0
Q29udGVudGZ1bFBhaW50KCk7CisgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ3Zh
bHVlJyk7CisgICAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAn
VGV4dCBpbnB1dCBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBpdHMgdmFsdWUgaXMgbm9u
LWVtcHR5Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNCBAQAorQQorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
b25seSB3aGVuIHNvbWUgb2YgdGhlIHRleHQgaXMgdmlzaWJsZSwgY29uc2lkZXJpbmcgOjpmaXJz
dC1sZXR0ZXIuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIG5vdCBmaXJlIHdoZW4g
YWxsIHRleHQgaXMgaGlkZGVuIGR1ZSB0byB0eXBvZ3JhcGhpYyBwc2V1ZG8tZWxlbWVudHM8L3Rp
dGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwor
ICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisg
ICAgI21haW4gKjo6Zmlyc3QtbGV0dGVyIHsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisK
KyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAq
LworICAgICNtYWluLmNvbnRlbnRmdWwgKjo6Zmlyc3QtbGV0dGVyIHsKKyAgICAgICAgb3BhY2l0
eTogMTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXY+QTwvZGl2
PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIG9ubHkgd2hlbiBzb21lIG9mIHRoZSB0ZXh0IGlzIHZpc2libGUsIGNvbnNpZGVyaW5n
IDo6Zmlyc3QtbGV0dGVyLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NCBAQAorCisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gZmlyc3Qg
ZnJhbWUgaXMgbG9hZGVkIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBh
aW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRlZCB2aWRlbyBmcmFtZTwvdGl0bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHZpZGVvIGlkPSJ2aWRlbyIgYXV0b3BsYXk+PC92aWRlbz4KKzxzY3JpcHQ+CisgIHByb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAg
ICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcs
IHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICAg
IGNvbnN0IHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpZGVvJyk7CisgICAgICB2
aWRlby5zZXRBdHRyaWJ1dGUoJ3NyYycsICcvbWVkaWEvdGVzdC5tcDQnKTsKKyAgICAgIGF3YWl0
IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICB2aWRlby5vbmNhbnBsYXkgPSByZXNv
bHZlOworICAgICAgfSk7CisgICAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgp
OworICB9LCAnVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gZmlyc3QgZnJhbWUg
aXMgbG9hZGVkJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBA
QAorCisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9zdGVyIGlz
IGxvYWRlZCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBU
aW1pbmcgVGVzdDogRkNQIGR1ZSB0byBsb2FkZWQgdmlkZW8gcG9zdGVyPC90aXRsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8dmlk
ZW8gaWQ9InZpZGVvIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvdmlkZW8+Cis8c2NyaXB0Pgor
ICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5k
b3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQu
Iik7CisgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcign
bG9hZCcsIHIpKTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7Cisg
ICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmlkZW8nKTsKKyAgICBj
b25zdCBzcmMgPSAnLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nJzsKKyAgICBjb25zdCBpbWFnZSA9
IG5ldyBJbWFnZSgpOworICAgIGltYWdlLnNyYyA9IHNyYzsKKyAgICB2aWRlby5zZXRBdHRyaWJ1
dGUoJ3Bvc3RlcicsIHNyYyk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Cisg
ICAgICAgIGltYWdlLm9ubG9hZCA9IGFzeW5jICgpID0+IHJlc29sdmUoKTsKKyAgICB9KQorICAg
IGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdWaWRlbyBzaG91bGQg
YmVjb21lIGNvbnRlbnRmdWwgd2hlbiBwb3N0ZXIgaXMgbG9hZGVkJyk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNTIFdoaXRlc3BhY2Ugc2hvdWxk
IG5vdCBjb3VudCBhcyBjb250ZW50ZnVsLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3Bh
Y2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogV2hpdGVzcGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNv
bnRlbnRmdWw8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246
IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcp
OworICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDAgMDsKKyAgICB9CisKKyAgICAjdGV4dCB7Cisg
ICAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBp
cyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICN0
ZXh0eworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9
Im1haW4iPgorICAgIDxkaXYgaWQ9IndoaXRlc3BhY2UiPiAgIDwvZGl2PgorICAgIDxkaXYgaWQ9
InRleHQiPlRFWFQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiV2hpdGVz
cGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwuIikKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgRkNQIHNob3VsZCBmaXJlIHdoZW4gY29vcmRp
bmF0ZXMgYXJlIG5lZ2F0aXZlLCBpZiB3aXRoaW4gZG9jdW1lbnQgc2Nyb2xsYWJsZSBhcmVhIAor
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atd2l0aC1ydGwuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1y
dGwuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRv
IGRpcmVjdGlvbiBjaGFuZ2U8L3RpdGxlPgorPHN0eWxlPgorICAjdGV4dCB7CisgICAgcmlnaHQ6
IC0xMDBweDsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgIH0KKworICBib2R5IHsKKyAgICBk
aXJlY3Rpb246IHJ0bDsKKyAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IGRpcmVjdGlvbj0i
UlRMIj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0i
dGV4dCI+VEVYVDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewor
ICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywg
IlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJvbWlz
ZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQg
YXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgICAgZG9jdW1lbnQuYm9keS5zdHls
ZS5kaXJlY3Rpb24gPSAnbHRyJworICAgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFp
bnQoKTsKKyAgfSwgJ0ZDUCBzaG91bGQgZmlyZSB3aGVuIGNvb3JkaW5hdGVzIGFyZSBuZWdhdGl2
ZSwgaWYgd2l0aGluIGRvY3VtZW50IHNjcm9sbGFibGUgYXJlYScpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS93M2MtaW1wb3J0LmxvZwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS93M2Mt
aW1wb3J0LmxvZwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACitUaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0Rv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNv
bS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2lt
cG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3Ig
cmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5k
LXNpemUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWJnLWltYWdlLXNldC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Z3JhZGllbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJv
dGF0ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLXRleHQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFu
c2xhdGUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLW92ZXJmbG93Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtdGV4dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBv
Z3JhcGhpYy1wc2V1ZG8uaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdp
dGgtcnRsLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy9jaXJjbGUuc3ZnCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3Zn
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSI+CisgICA8Y2lyY2xlIGN4PSIxMDAiIGN5PSI1
MCIgcj0iNDAiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgLz4K
Kzwvc3ZnPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KKzxkaXYgaWQ9ImltYWdlIj48L2Rpdj4K
KzxzY3JpcHQ+CisgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0lNRycpOwor
ICBpbWcuc3JjID0gJ2NpcmNsZXMucG5nJzsKKyAgaW1nLm9ubG9hZCA9IGZ1bmN0aW9uKCkgewor
ICAgIGZ1bmN0aW9uIHNlbmRQYWludEVudHJpZXMoKSB7CisgICAgICBjb25zdCBwYWludEVudHJp
ZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdwYWludCcpOworICAgICAgaWYgKHBh
aW50RW50cmllcy5sZW5ndGggPCAyKSB7CisgICAgICAgIHNldFRpbWVvdXQoc2VuZFBhaW50RW50
cmllcywgMjApOworICAgICAgICByZXR1cm47CisgICAgICB9CisgICAgICBsZXQgZW50cnlDb250
ZW50cyA9IHBhaW50RW50cmllcy5sZW5ndGggKyAnJzsKKyAgICAgIGZvciAobGV0IGkgPSAwOyBp
IDwgcGFpbnRFbnRyaWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gcGFp
bnRFbnRyaWVzW2ldOworICAgICAgICBlbnRyeUNvbnRlbnRzICs9ICcgJyArIGVudHJ5LmVudHJ5
VHlwZSArICcgJyAgKyBlbnRyeS5uYW1lOworICAgICAgfQorICAgICAgcGFyZW50LnBvc3RNZXNz
YWdlKGVudHJ5Q29udGVudHMsICcqJyk7CisgICAgfTsKKyAgICBzZW5kUGFpbnRFbnRyaWVzKCk7
CisgIH07CisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWFnZScpLmFwcGVuZENoaWxkKGlt
Zyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFt
ZS1zZW5kaW5nLXBhaW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNl
bmRpbmctcGFpbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2Vu
ZGluZy1wYWludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPHNjcmlwdD4KKyAgc2VsZi5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVu
Y3Rpb24oZSkgeworICAgIC8vIFNlbmQgcGFpbnQtdGltaW5nIGVudHJpZXMgdXBvbiByZWNlaXZp
bmcgYSBtZXNzYWdlLgorICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeVR5cGUoJ3BhaW50Jyk7CisgICAgbGV0IGVudHJ5Q29udGVudHMgPSBwYWludEVudHJp
ZXMubGVuZ3RoICsgJyc7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYWludEVudHJpZXMubGVu
Z3RoOyBpKyspIHsKKyAgICAgIGNvbnN0IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAgICAg
ZW50cnlDb250ZW50cyArPSAnICcgKyBlbnRyeS5lbnRyeVR5cGUgKyAnICcgICsgZW50cnkubmFt
ZTsKKyAgICB9CisgICAgcGFyZW50LnBvc3RNZXNzYWdlKGVudHJ5Q29udGVudHMsICcqJyk7Cisg
IH0pOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3V0aWxzLmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU2IEBACisvLyBOdW1iZXIgbWlsbGlzZWNvbmRzIHRv
IHdhaXQgZm9yIENTUyByZXNvdXJjZXMgdG8gbG9hZC4KK2NvbnN0IG51bU1pbGxpc2Vjb25kc1dh
aXQgPSA1MDsKKworLy8gV2UgdXNlIHJlcXVlc3RBbmltYXRpb25GcmFtZSgpIGNhbGxzIHRvIGZv
cmNlIHRoZSB1c2VyIGFnZW50IHRvIHBhaW50IGFuZCBnaXZlIGVub3VnaAorLy8gdGltZSBmb3Ig
RkNQIHRvIHNob3cgdXAgaW4gdGhlIHBlcmZvcm1hbmNlIHRpbWVsaW5lLiBIZW5jZSwgc2V0IHxu
dW1GcmFtZXNXYWl0aW5nfCB0bworLy8gMyBhbmQgdXNlIHRoYXQgY29uc3RhbnQgd2hlbmV2ZXIg
dGhlIHRlc3QgbmVlZHMgdG8gd2FpdCBmb3IgdGhlIG5leHQgcGFpbnQgdG8gb2NjdXIuCitjb25z
dCBudW1GcmFtZXNXYWl0aW5nID0gMzsKKworZnVuY3Rpb24gd2FpdFRpbWUodCkgeworICByZXR1
cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0LnN0ZXBfdGltZW91dChyZXNvbHZlLCBudW1NaWxs
aXNlY29uZHNXYWl0KSk7Cit9CisKK2Z1bmN0aW9uIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoY291
bnQpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGlmIChjb3VudC0t
IDw9IDApIHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9IGVsc2UgeworICAgICAgcmVxdWVzdEFu
aW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgd2FpdEZvckFuaW1hdGlvbkZyYW1lcyhjb3Vu
dCkudGhlbihyZXNvbHZlKTsKKyAgICAgIH0pOworICAgIH0KKyAgfSk7Cit9CisKKy8vIEFzc2Vy
dHMgdGhhdCB0aGVyZSBpcyBjdXJyZW50bHkgbm8gRkNQIHJlcG9ydGVkLCBldmVuIGFmdGVyIHNv
bWUgd2FpdC4KK2FzeW5jIGZ1bmN0aW9uIGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCkg
eworICBpZiAodCkKKyAgICBhd2FpdCB3YWl0VGltZSh0KTsKKworICBhd2FpdCB3YWl0Rm9yQW5p
bWF0aW9uRnJhbWVzKG51bUZyYW1lc1dhaXRpbmcpOworICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1h
bmNlLmdldEVudHJpZXNCeU5hbWUoJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5ndGgsIDAs
ICdGaXJzdCBjb250ZW50ZnVsIHBhaW50IG1hcmtlZCB0b28gZWFybHkuICcpOworfQorCisvLyBB
c3NlcnRzIHRoYXQgRkNQIGlzIHJlcG9ydGVkLCBwb3NzaWJseSBhZnRlciBzb21lIHdhaXQuIFRo
ZSB3YWl0IGlzIG5lZWRlZAorLy8gYmVjYXVzZSBzb21ldGltZXMgdGhlIEZDUCByZWxpZXMgb24g
c29tZSBDU1MgcmVzb3VyY2VzIHRvIGZpbmlzaCBsb2FkaW5nLgorYXN5bmMgZnVuY3Rpb24gYXNz
ZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQodCkgeworICBpZiAodCkKKyAgICBhd2FpdCB3YWl0VGlt
ZSh0KTsKKyAgYXdhaXQgd2FpdEZvckFuaW1hdGlvbkZyYW1lcyhudW1GcmFtZXNXYWl0aW5nKTsK
KyAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1jb250
ZW50ZnVsLXBhaW50JykubGVuZ3RoLCAxLCAnRXhwZWN0ZWQgZmlyc3QgY29udGVudGZ1bCBwYWlu
dCBub3QgZm91bmQuICcpOworfQorCitmdW5jdGlvbiB0ZXN0X2ZjcChsYWJlbCkgeworICBjb25z
dCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CisgIGRvY3VtZW50Lmhl
YWQuYXBwZW5kQ2hpbGQoc3R5bGUpOworICByZXR1cm4gcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4g
eworICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcs
ICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgIGNvbnN0IG1haW4gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbicpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4g
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgYXdhaXQgYXNzZXJ0Tm9G
aXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIG1haW4uY2xhc3NOYW1lID0gJ3ByZUZDUCc7Cisg
ICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIG1haW4uY2xhc3NO
YW1lID0gJ2NvbnRlbnRmdWwnOworICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50
KCk7CisgIH0sIGxhYmVsKTsKK30KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVz
b3VyY2VzL3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjEgQEAKK1Ro
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJ
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6
Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9U
IG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRp
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZp
bGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2Np
cmNsZS5zdmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNl
cy9jaXJjbGVzLnBuZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVz
b3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwpJbmRl
eDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGlt
aW5nLWFwaXMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxMyBAQAorQmFzaWMgSW50ZXJmYWNlIHRlc3QgZm9yIHBhaW50LXRpbWluZyBB
UElzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUGVyZm9ybWFuY2VQYWludFRp
bWluZworUEFTUyBQZXJmb3JtYW5jZVBhaW50VGltaW5nIGlzIGRlZmluZWQuCitQQVNTIFBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcucHJvdG90eXBlLnRvSlNPTiBpcyBkZWZpbmVkLgorUEFTUyBuZXcg
UGVyZm9ybWFuY2VQYWludFRpbWluZygpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IGZ1bmN0
aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgUGVyZm9ybWFuY2VQYWlu
dFRpbWluZygpJykuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1h
cGlzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50
LXRpbWluZy1hcGlzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
MCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZy
YW1lcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACitQYWludCBBUEkgc2hvdWxkIGJlIGF2
YWlsYWJsZSBmb3Igc2FtZS1vcmlnaW4gZnJhbWVzIGJ1dCBub3QgdG8gY3Jvc3Mtb3JpZ2luL3Nh
bmRib3hlZCBmcmFtZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHJl
Y2VpdmVkRXZlbnQuc291cmNlIGlzIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94
ZWQnKS5jb250ZW50V2luZG93CitQQVNTIHJlY2VpdmVkRW50cnkubmFtZSBpcyAnZmlyc3QtY29u
dGVudGZ1bC1wYWludCcKK1BBU1MgZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1l
IGlzIGZhbHNlCitQQVNTIEFycmF5LmlzQXJyYXkobm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzKSBp
cyB0cnVlCitQQVNTIEFycmF5LmlzQXJyYXkoc2FuZGJveFN1cHBvcnRlZFR5cGVzKSBpcyB0cnVl
CitQQVNTIGRpZFJlY2VpdmVNZXNzYWdlIGlzIHRydWUKK1BBU1Mgbm9uU2FuZGJveFN1cHBvcnRl
ZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIHRydWUKK1BBU1Mgc2FuZGJveFN1cHBvcnRlZFR5
cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIGZhbHNlCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIg
Zmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXMgZmlyZWQgZm9yIHNhbWUtb3JpZ2lu
IGZyYW1lIGJ1dCBub3QgZm9yIGNyb3NzLW9yaWdpbiBmcmFtZQorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKKworVEVYVApJbmRleDogTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmct
ZnJhbWVzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhU
TUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxz
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rp
dj4KKyAgICA8aWZyYW1lIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBpZD0ibm9uU2FuZGJveGVk
IiBzcmM9Ii4vcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sIj48L2lmcmFtZT4KKzxkaXYgY2xh
c3M9InNwYWNlciI+PC9kaXY+Cis8aWZyYW1lIGlkPSJzYW5kYm94ZWQiIHNyYz0iLi9yZXNvdXJj
ZXMvZmNwLXN1YmZyYW1lLmh0bWwiIHNhbmRib3g9ImFsbG93LXNjcmlwdHMiPjwvaWZyYW1lPgor
PGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKworICAgIFRFWFQKKworPHNjcmlwdD4KK2Rlc2Ny
aXB0aW9uKCJQYWludCBBUEkgc2hvdWxkIGJlIGF2YWlsYWJsZSBmb3Igc2FtZS1vcmlnaW4gZnJh
bWVzIGJ1dCBub3QgdG8gY3Jvc3Mtb3JpZ2luL3NhbmRib3hlZCBmcmFtZXMuIik7Cit3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7Cit3aW5kb3cuZGlkUmVjZWl2ZU1lc3NhZ2UgPSBmYWxzZTsK
Kword2luZG93Lm9ubG9hZCA9IGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBzYW5kYm94ZWQgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2FuZGJveGVkJyk7CisgICAgY29uc3Qgbm9uU2FuZGJv
eGVkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNhbmRib3hlZCcpOworICAgIGNvbnN0
IGZjcE1lc3NhZ2VQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIHdp
bmRvdy5vbm1lc3NhZ2UgPSBldmVudCA9PiB7CisgICAgICAgICAgICB3aW5kb3cucmVjZWl2ZWRF
dmVudCA9IGV2ZW50OworICAgICAgICAgICAgY29uc3QgaXNGcm9tU2FuZGJveGVkID0gZXZlbnQu
c291cmNlID09PSBzYW5kYm94ZWQuY29udGVudFdpbmRvdzsKKyAgICAgICAgICAgIGNvbnN0IG1l
c3NhZ2UgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpOworICAgICAgICAgICAgc3dpdGNoIChtZXNz
YWdlLnR5cGUpIHsKKyAgICAgICAgICAgICAgICBjYXNlICdzdXBwb3J0ZWQnOgorICAgICAgICAg
ICAgICAgICAgICBpZiAoaXNGcm9tU2FuZGJveGVkKQorICAgICAgICAgICAgICAgICAgICAgICAg
d2luZG93LnNhbmRib3hTdXBwb3J0ZWRUeXBlcyA9IG1lc3NhZ2Uuc3VwcG9ydGVkOworICAgICAg
ICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cubm9uU2Fu
ZGJveFN1cHBvcnRlZFR5cGVzID0gbWVzc2FnZS5zdXBwb3J0ZWQ7CisgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgJ3JlY2VpdmVkJzoKKyAgICAgICAgICAg
ICAgICAgICAgd2luZG93LmRpZFJlY2VpdmVNZXNzYWdlRnJvbVNhbmRib3hlZElmcmFtZSA9IGlz
RnJvbVNhbmRib3hlZDsKKyAgICAgICAgICAgICAgICAgICAgd2luZG93LnJlY2VpdmVkRW50cnkg
PSBtZXNzYWdlLmVudHJ5OworICAgICAgICAgICAgICAgICAgICBkaWRSZWNlaXZlTWVzc2FnZSA9
IHRydWU7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCdyZWNlaXZlZEV2ZW50LnNvdXJj
ZScsICJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJykuY29udGVudFdpbmRv
dyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgncmVjZWl2ZWRFbnRyeS5uYW1lJywg
IidmaXJzdC1jb250ZW50ZnVsLXBhaW50JyIpOworICAgICAgICAgICAgICAgICAgICByZXNvbHZl
KCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9
OworICAgIH0pOworCisgICAgc2FuZGJveGVkLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoInBh
aW50IiwgIioiKTsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgbm9uU2FuZGJveGVkLmNv
bnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoInBhaW50IiwgIioiKTsKKyAgICBhd2FpdCB3YWl0Rm9y
RkNQKCk7CisgICAgYXdhaXQgZmNwTWVzc2FnZVByb21pc2U7CisgICAgc2hvdWxkQmVGYWxzZSgn
ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1lJyk7CisgICAgc2hvdWxkQmVUcnVl
KCdBcnJheS5pc0FycmF5KG5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcyknKTsKKyAgICBzaG91bGRC
ZVRydWUoJ0FycmF5LmlzQXJyYXkoc2FuZGJveFN1cHBvcnRlZFR5cGVzKScpOworICAgIHNob3Vs
ZEJlVHJ1ZSgnZGlkUmVjZWl2ZU1lc3NhZ2UnKTsKKyAgICBzaG91bGRCZVRydWUoJ25vblNhbmRi
b3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygicGFpbnQiKScpOworICAgIHNob3VsZEJlRmFsc2Uo
J3NhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygicGFpbnQiKScpOworICAgIHRlc3RQYXNz
ZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3
YXMgZmlyZWQgZm9yIHNhbWUtb3JpZ2luIGZyYW1lIGJ1dCBub3QgZm9yIGNyb3NzLW9yaWdpbiBm
cmFtZSIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0
aC13b3JrZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3Jr
ZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKK1BhaW50IEFQ
SSBzaG91bGQgbm90IGJlIGF2YWlsYWJsZSBpbiB3b3JrZXIgY29udGV4dHMuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVk
RW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyB0cnVlCitQQVNTIHdvcmtlclN1cHBvcnRl
ZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgZmFsc2UKK1BBU1Mgd29ya2VyU3VwcG9y
dGVkRW50cnlUeXBlcy5pbmNsdWRlcygibWFyayIpIGlzIHRydWUKK1BBU1MgUGVyZm9ybWFuY2VP
YnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzIGRpZCBub3QgaW5jbHVkZSAncGFpbnQnIGZvciB3
b3JrZXJzCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdv
cmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWlu
dC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJQYWludCBBUEkgc2hvdWxkIG5vdCBiZSBh
dmFpbGFibGUgaW4gd29ya2VyIGNvbnRleHRzLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOworY29uc3Qgd29ya2VyID0gbmV3IFdvcmtlcigiLi9yZXNvdXJjZXMvd29ya2VyLmh0bWwi
KTsKK3dvcmtlci5vbm1lc3NhZ2UgPSBldmVudCA9PiB7CisgICAgd2luZG93LndvcmtlclN1cHBv
cnRlZEVudHJ5VHlwZXMgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpOworICAgIHNob3VsZEJlVHJ1
ZSgnUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWlu
dCIpJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnd29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5pbmNs
dWRlcygicGFpbnQiKScpOworICAgIHNob3VsZEJlVHJ1ZSgnd29ya2VyU3VwcG9ydGVkRW50cnlU
eXBlcy5pbmNsdWRlcygibWFyayIpJyk7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNl
cnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzIGRpZCBub3QgaW5jbHVkZSAncGFpbnQnIGZvciB3b3Jr
ZXJzIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCit3b3JrZXIucG9zdE1lc3NhZ2UoInN0
YXJ0Iik7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
ZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Ut
b2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxMCBAQAorUEFTUyBkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQg
aXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKCkubGVuZ3RoIGlzIDEKK1BBU1Mg
cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIpLmxl
bmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQiLCAicGFpbnQiKS5sZW5ndGggaXMgMQorUEFTUyBwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCBpcyAxCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2
ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXNuJ3QgZmlyZWQgYWdhaW4gCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK1RFWFQyCklu
ZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmly
c3QtY29udGVudGZ1bC1wYWludC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1h
bmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkVuc3VyZSBQZXJmb3JtYW5jZU9ic2VydmVycyBh
cmUgbm90aWZpZWQgb25jZSBmb3IgZmlyc3QtY29udGVudGZ1bC1wYWludC4iKTsKK3dpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAKKyhhc3luYyAoKSA9PiB7CisgICAgd2luZG93LmRpZFJl
Y2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCA9IGZhbHNlOworICAgIHdpbmRvdy5zdGFydFRpbWUg
PSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgYXdhaXQg
bmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBl
cmZvcm1hbmNlT2JzZXJ2ZXIoZW50cnlMaXN0ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5lbnRy
eUxpc3QgPSBlbnRyeUxpc3Q7CisgICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0LmdldEVu
dHJpZXMoKS5sZW5ndGgnLCAiMSIpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2VudHJ5TGlzdC5n
ZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikubGVuZ3RoJywgMSk7Cisg
ICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0LmdldEVudHJpZXNCeVR5cGUoInBhaW50Iiku
bGVuZ3RoJywgIjEiKTsKKyAgICAgICAgICAgIHdpbmRvdy5mY3BFbnRyeSA9IGVudHJ5TGlzdC5n
ZXRFbnRyaWVzKClbMF07CisgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCdkaWRSZWNlaXZlRmly
c3RDb250ZW50ZnVsUGFpbnQnKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5uYW1l
JywgJyJmaXJzdC1jb250ZW50ZnVsLXBhaW50IicpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2Zj
cEVudHJ5LmVudHJ5VHlwZScsICcicGFpbnQiJyk7CisgICAgICAgICAgICBzaG91bGRCZVRydWUo
J2ZjcEVudHJ5LnN0YXJ0VGltZSA+IHdpbmRvdy5zdGFydFRpbWUnKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlVHJ1ZSgnZmNwRW50cnkuc3RhcnRUaW1lIDwgcGVyZm9ybWFuY2Uubm93KCknKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5kdXJhdGlvbicsICIwIik7CisgICAgICAgICAg
ICBkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQgPSB0cnVlOworICAgICAgICAgICAgcmVz
b2x2ZSgpOworICAgICAgICB9KTsKKworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5
cGVzOiBbJ3BhaW50J119KTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAnVEVY
VCc7CisgICAgfSkKKyAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICdURVhUMic7CisgICAg
YXdhaXQgd2FpdEZvckZDUCgpOworICAgIHNob3VsZEJlVHJ1ZSgnZGlkUmVjZWl2ZUZpcnN0Q29u
dGVudGZ1bFBhaW50Jyk7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXMoKS5s
ZW5ndGgnLCAiMSIpOworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1l
KCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgn
cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIsICJw
YWludCIpLmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeVR5cGUoInBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3Jt
YW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2Fzbid0IGZpcmVk
IGFnYWluICIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSkoKTsKKworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMv
ZmNwLXN1YmZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQ+CisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihs
aXN0ID0+IHsKKyAgICAgICAgbGlzdC5nZXRFbnRyaWVzKCkuZm9yRWFjaChlbnRyeSA9PiB7Cisg
ICAgICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHt0eXBl
OiAncmVjZWl2ZWQnLCBlbnRyeX0pLCAnKicpOworICAgICAgICB9KTsKKyAgICB9KTsKKworICAg
IG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsicGFpbnQiXX0pOworICAgIHdpbmRvdy5v
bm1lc3NhZ2UgPSBlID0+IHsKKyAgICAgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZShKU09O
LnN0cmluZ2lmeSh7c3VwcG9ydGVkOiBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5
VHlwZXMsIHR5cGU6ICdzdXBwb3J0ZWQnfSksICcqJyk7CisgICAgICAgIGRvY3VtZW50LmJvZHku
aW5uZXJUZXh0ID0gIlRFWFQiOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3Vy
Y2VzL3BhaW50LWFwaS11dGlscy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcwkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUgQEAKK2FzeW5jIGZ1bmN0aW9uIHdhaXRGb3JGQ1Ao
KQoreworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVxdWVzdEFuaW1hdGlvbkZy
YW1lKCgpID0+IHJlc29sdmUoKSkpOworICAgIHJldHVybiB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0
RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0aCA9PSAxOworfQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanMJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10
aW1pbmctYXBpLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKK2lmIChzZWxmLmlt
cG9ydFNjcmlwdHMpCisgICAgaW1wb3J0U2NyaXB0cygiLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIik7CisKK2lmIChzZWxmLndpbmRvdykKKyAgICBkZXNjcmlwdGlvbigiQmFzaWMgSW50
ZXJmYWNlIHRlc3QgZm9yIHBhaW50LXRpbWluZyBBUElzLiIpOworCitkZWJ1ZygiUGVyZm9ybWFu
Y2VQYWludFRpbWluZyIpOworc2hvdWxkQmVEZWZpbmVkKCJQZXJmb3JtYW5jZVBhaW50VGltaW5n
Iik7CitzaG91bGRCZURlZmluZWQoYFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcucHJvdG90eXBlLnRv
SlNPTmApOworc2hvdWxkVGhyb3coYG5ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKClgKTsKKwor
aWYgKHNlbGYuaW1wb3J0U2NyaXB0cykKKyAgICBmaW5pc2hKU1Rlc3QoKTsKSW5kZXg6IExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtl
ci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorc2VsZi5vbm1lc3NhZ2UgPSAo
KSA9PiB7CisgICAgc2VsZi5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShQZXJmb3JtYW5jZU9i
c2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMpKTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxh
eTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3Bu
ZwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIworaW1hZ2UvcG5nClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDUUFBQUJJQ0FZ
QUFBQ2VObGU1QUFBQzdtbERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRB
aUNGcHJEcko0a0NKSldhdG9SZFEyL1JGaWF3emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3Jl
UmUyaApCLytBSG5yd1pDOUtoVnBGS042cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhB
RFhMU05QV0FCT1FOeDFLaUVXbHNmRUpxCi9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9Q
Z1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZ
OHV5UE9VNTVlTUcxRHlzOXhGa2lmRUExTGM1L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RC
Mmx1WnNiSQpFTDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFq
TlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0eHFwCitEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2Sktn
bkNRT01wa1lZQnpXa2hQMTB4dStMcUhCWDBtMXhPdjRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdE
aDBNR2d5YURVaFFFRVVFWVppd1VFQ0dQQm94TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050
dzl0MUdrM1R6KwpLQ0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVa
bTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1
WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsr
NnF2SlBtVmZsUFh2WHgvR2ZOeEdQaUtURW1kb3JuSVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGlu
U2JaSDZKTlZnWUpxOAo5UzlkUDF0NHZVWi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhm
OEYrVDNpdWVmS0FJdmJPREltYnB0VTNIdkVLRmxwVzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5
ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJW
TEZyT1pWV0xwZHRpWjB4MXVIS0U1UXZmRXAwcGxrL3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2
YjhDOC9VWEFlSXVKQUFBQQpDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFHWjBsRVFWUm9CZTJh
VVc5VlJSREhkNjh0RVZKTFcyS0N4Q1kraWdRRG9Za0tmZ0o4CjlNa25FdkVkdm9DbWtTK0E3MnBD
UXNLVGovSUpCQ1NCMU5Tb1BKcVUxQ2FrZ05pQWFlTmRmLytaT1QyMzU5N1NGdTdsNlV5eTUrek8K
MloyWm5aM2RuWmw3YzVyUEplMEtTc3BwaHA3N1UwbVBxRC9kSEZVUnlKdVlSSjhEOUprRzg0ejZR
OTY5WDNzNk5xcGpqWGFqS1NMZApFR1FmOVJXSU8rbVN6c0wxQksxWnlpR0toRmpsdVVTSFh4aHpu
ZlpURXlPbncrRFhRN0NPOWVReEVKNGprRmlQUVZERWxtMXdLWi95ClBwZEtPYzNiaGJBUHpRZERU
Ymg4ay9lVmxQTVAxaU9uSTdRZlVOK2dETlpZN2w4eTEwcEtrd3daWnlDekxtY1I0bXZhcDR4d1Ni
OUMKN3lidGhWVHlIN3ovRHZ6QmxNdFJtSjVrekdud3h3Ti9GNkcrWXN4MTJvZjRMb0dlVVBxMTFS
Q29YaUt0dTFxbGZNZmpjMm9zWGI2RwpBSmZCMzZFTm1tSjlyRlhYaFJPVU5JZUFGNkh4R1MyWTUr
K2hjVDdHemZDV2JXMFZxaUZRWmJnUGJWRHEvc3lBRHlnM0dQY0Y3M3NtClFMSmxGQ0hOVkxiUjVT
MkJoSk90U2JQQ3VjMmw5QzdOYjJtZm9keUcxb2RCcHhLcW1vS01aQk0wMzBtS3BBYTZ2L000Q3Bk
dktCZUQKd0N6TXRUd3I2Z0hVaE5RU0JZZXFwbVUvQ09wZUtwMlA2WENaY3NGcGQ5NERMMTdpcWVW
eldwcFNOTVpCalJ2UmdtYXlDYU4xbHpCdgowMmVLYit5Z3RCYjl0d29Ec2dmMFRXVXR4a3c1RFdn
bGJFbTB4Y09YWE5wVTJTS1F0dmFiSUZkWmMyeUdaU3FtbVV2ZzMySGdYNVRICk1haWFQYzBkd1Zs
cXJHaUlWc3FYbkRZOG5CYzhqWGUxN1BPNStBR0czYkNiVXZtUkRqZE14ZEtNQ0xrOTdNaDlGeDA2
MEg0TG12ZFQKN3Y3RUc1dktuMkRvMm4yeXAwZXlRczFDaGdpd3RZMjVHYkFRV3A3L1ZCa1NpSlpv
QXNZRHJSaFBJU1JEU1IyL0R0Z05kdWlkOHExdAp1MGtHWEMyVEJnd0RzdEhNbk81RlBEaEdFbWVi
ODE1QmV6UFNrTzRtd1RsN0pzNFpnZSttc0huL01xUm5KMmhETG5qWjZXL1U5NmVPClg1UjhzNU4x
RWZRZEpOVjFvYTNvb2xyZm9UMUU4MG53RUsvRjRDMXUySkJ1YlYyVVJVZDZ2aFZzUjZHWjVveWNo
M2dhYjJTUUxJRTkKRWIyNW02eW1FOWpQaFNhWjRiUkZleU40TFRoSjh4ejhJZ0V4NjBpN0tGVmQ5
L1pJbitzK1pYZzZ1QXhqcmhGM0pYUnJlOXNQcVZISwpVOTkvRlU5NUFac2FHaVhydmRIR3FBWHk5
R1RsK0RPOC9kWTIxTWdlNGlGZTR1bWdLMlJUUTdvMEFYT3VWSW1UVzlXUndUNDNEM2c2CnVBeSt5
L0NCSFU2YWxINzd1alhGaHlHL1JGdmVoUUR2VWhBeVlOU0tEblM1eVZYRlY3WmVvemZxNnNMV2dl
d21vNkRnZ0E3R2FWTmQKTVlkY1B2QWNiVGxnY3B4OERsU0dDS0k1R1R6RTZ6Z0hzb0lCY1p2V3dm
Z3MyRjV4cHZqQUF2ZjBScUVwK1Y1aHlNRXJLVEl4cnBKbApIZ0h0N3VMRzc4cDV4NDQ2eDVCWS9y
Tzh4TWNtbnZWLzZZZDhkcWVaOGJOTDl6Y29Mc0J2anZkaGVLMUlRNUl0VG1hRktrS1pRMDQxClRW
QmVVMlZJSUZxaUNSZ1BzUmRQZ1dTSUE4ZkRrU1BtdVdWQ0ZmUGtjTWpOczdOcmhZRzBYaHcwVnVl
Ty9LRDdrQkx0TS9CVFdLUU4KcFFEU2c0dUlPdVNqUEdDQWJ2enpERGlHUzNBQjNDcHQrZFZ5OHVX
d2EvbjJJcHkwTDV1WjRqM0IrRCtoL1dYUXZtMjhqS2RGczA0MwpCTklNZFB0dU1CZ2diaW9LZzh5
OWxKQWVCdmtNRlFiSlZ4SzRLWHE5OTFscDh3MTZ5SUNYZkRJUkJwVkV0QXNQZ1VleHRYY1JBdW1U
CmlJdlJEQVgxS1c1U29LZzRxckE5WHpoUUZNMytRQkVrRUx4NkppWTk5WUNXVG11cGpvaW9XYkRP
Rm5HeUkzSzV5bmZ0Q0oxVHk5U1YKT0pERy9vbWltMXU0WlFxNzFrTHBxMHhNdTBrUkJqWVRtdkVv
UTd5MmlzQzJiK2FIZk4xMWVHMmZiRmlFK0MyK1B5L1o4QkhmMzRlaApsdVV1eHN0dTJudXl3Y2JI
UTNhZyswWUJwR1lNNFVqSDJCWHp2SFNNOWVZcTRnUzJReS9TTWI2YjlweU9NV3J4Y0cxNXFDUVBR
TXNBCkg0cjg4SXpiV2V4WWNBZlBJbDhaTUJlbEo2eThyeWNuZHBld0dyQmtJVXZmcThxTXZJNFFp
aHAwREF3R0YzaUNQcE4wK0pkK3NoVmgKZDRhdEZyVnovNUgzNk5uMmczaTk3Skt0bVY1ZVdZNXgw
SklaamtlYlk5UUNTeHR1d0w3Y1ZiMHkzemJIMk56S3RVMVZ0VGJINkxhegovZE90VEg1VW0yUGNY
a3U5WDlvY1k2ODJ0cXUzT2NidE5OUEV1NlBSNWhpYmVxbmJiWTZ4MXNWZWFtMk9zZFpXbTJPc2RU
RzQxalYwCm0yUHMxMDZiWSt6WFNZMXBjNHkxTHJ4V2hlSnRqakhPRkV2UEtZL1UrMmVVTnNkSWlu
ZmdINXJhSEdQL24rTDhkNjhsUXY1WG1tUFUKWHpORzk3ZkIvd0ZaYmcwNUVFTnVOd0FBQUFCSlJV
NUVya0pnZ2c9PQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394907</attachid>
            <date>2020-03-30 05:29:12 -0700</date>
            <delta_ts>2020-03-30 05:48:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200330152909.patch</filename>
            <type>text/plain</type>
            <size>137304</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDExMiBAQAorMjAyMC0wMy0yMyAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BhaW50LXRpbWluZy8jZmlyc3QtY29udGVudGZ1bC1wYWludC4KKyAgICAgICAgQ3VycmVu
dGx5IG11dHVhbGx5IGV4Y2x1c2l2ZSB0byB2aXN1YWxseS1ub24tZW1wdHkgaGV1cmlzdGljcy4K
KworICAgICAgICBXaGVuIHRoZSBmcmFtZSBwYWludHMgb3IgZmx1c2hlcyB0aGUgY29tcG9zaXRp
bmcgc3RhdGUsIGl0IG1hcmtzIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgYXMgYSBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IHBlcmZvcm1hbmNlIGVudHJ5LgorCisgICAgICAgIFRlc3RzOiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
dmlzaWJpbGl0eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10ZXh0LWlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdpdGgtcnRsLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9maXJz
dC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5j
ZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sCisgICAgICAgICAg
ICAgICBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAorICAgICAgICAgICAg
ICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBT
b3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRU
aW1pbmcuaDogCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDoKKyAg
ICAgICAgICAgICAgICBBZGQgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNlLgor
CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFibGVk
IGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgUGFpbnRUaW1pbmdFbmFibGVkIHJ1bnRpbWUg
ZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJp
bmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNQYWludCBjb25zdCk6CisgICAgICAgICAgICAgICAgQWRk
IGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIHBhaW50IGVudHJpZXMuCisKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6CisgICAgICAgICAgICAgICAgQWRk
ICJwYWludCIgdG8gc3VwcG9ydGVkRW50cnlUeXBlcyB3aGVuIGluIGVsaWdpYmxlIGJyb3dzaW5n
IGNvbnRleHQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aXNDb250ZW50ZnVsIGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRWxlbWVudDo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVySFRNTENhbnZhczo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6Omhhc093blBhaW50YWJs
ZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck9iamVjdDo6Y29udGFpbnNQYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVmlkZW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlkZW86Omhh
c093blBhaW50YWJsZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJW
aWRlby5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSBjb25zdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aGFz
UGFpbnRhYmxlQmFja2dyb3VuZEltYWdlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVs
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR01vZGVsT2JqZWN0OjpoYXNP
d25QYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR01vZGVsT2JqZWN0Lmg6CisgICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciBjb21wdXRp
bmcgd2hldGhlciBlbGVtZW50cyBhcmUgY29udGVudGZ1bCAmIHBhaW50YWJsZS4KKworICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CitgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzRnJh
bWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzdXBwb3J0c1BhaW50VGltaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bWFya1BhaW50VGltaW5nSWZOZWVkZWQpOgor
ICAgICAgICAgICAgICAgIE1hcmsgZmlyc3QtY29udGVudGZ1bC1wYWludCBvbmNlIHdoZW4gY29t
cG9zaXRpbmcvcGFpbnRpbmcuCisKIDIwMjAtMDMtMjkgIERhdmlkIEtpbHplciAgPGRka2lsemVy
QGFwcGxlLmNvbT4KIAogICAgICAgICBXaW5kb3dzIGJ1aWxkIGZpeDogV2ViIEluc3BlY3Rvcjog
c3VwcG9ydCBlZGl0aW5nIGNvb2tpZSBrZXkvdmFsdWVzIGZyb20gaW5zcGVjdG9yCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTkzNiw2ICs5MzYsNyBAQCBzZXQoV2ViQ29y
ZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNr
LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwKICAgICBwYWdl
L1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1p
bmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbAogICAgIHBhZ2Uv
UGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5p
ZGwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gMjU5MTc5KQor
KysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAt
OTI2LDYgKzkyNiw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlci5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyQ2FsbGJhY2suaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdC5pZGwgXAorICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVBh
aW50VGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcu
aWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsIFwKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzE5OCw2ICszMTk4LDcgQEAgSlNQZXJmb3JtYW5jZU5h
dmlnYXRpb24uY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCiBKU1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXJDYWxsYmFjay5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAKK0pT
UGVyZm9ybWFuY2VQYWludFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5j
cHAKIEpTUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlVGltaW5nLmNw
cApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMzgwMSw2ICsxMzgwMSw4
IEBACiAJCUNBMDkxRDg2MjNDRjkwNzgwMEFENDM0NiAvKiBTdHlsZUltYWdlU2V0LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFN0eWxlSW1hZ2VTZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDQTA5MUQ4OTIzQ0Y5MDg4MDBBRDQzNDYgLyogU3R5bGVJbWFnZVNldC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTdHlsZUltYWdlU2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUNBMTYzNURDMjA3MkU3NjkwMEU3RDJDRSAvKiBSZWZlcnJlclBvbGljeS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWZlcnJlclBvbGljeS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkzM0Q1MjQwN0Q2NDAwMDcxMjQxQSAvKiBQZXJmb3Jt
YW5jZVBhaW50VGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0ExOTMzRDgyNDA3RURDRjAwNzEyNDFB
IC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBl
cmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
QTNCRjY3QjEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Nyb2xsQW5pbWF0b3IuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5p
bWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xsQW5pbWF0b3Iu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0E1MkJBRTUyM0QwQUYxNjAwREUwQjg0
IC8qIFN0eWxlQ3Vyc29ySW1hZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVDdXJzb3JJ
bWFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDk0Nyw2ICsyMDk0OSw4
IEBACiAJCQkJQTVBOTkzM0ExRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJF
bnRyeUxpc3QuY3BwICovLAogCQkJCUE1QTk5MzNCMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3Jt
YW5jZU9ic2VydmVyRW50cnlMaXN0LmggKi8sCiAJCQkJQTVBOTkzM0MxRTM3RkFGRDAwNUI1RTRE
IC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsICovLAorCQkJCUNBMTkzM0Q1MjQw
N0Q2NDAwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmggKi8sCisJCQkJQ0ExOTMz
RDgyNDA3RURDRjAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsICovLAogCQkJ
CTg2NTEyRURCMTU0QTJBRUUwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNw
cCAqLywKIAkJCQk4NjUxMkVEQzE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZy5oICovLAogCQkJCTg2NTEyRUREMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nLmlkbCAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAkocmV2aXNpb24gMjU5
MTc5KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3Vz
dG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsOSArMzUsMTEgQEAKICNpbmNsdWRlICJKU0RP
TUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlTWFyay5oIgogI2luY2x1ZGUgIkpT
UGVyZm9ybWFuY2VNZWFzdXJlLmgiCisjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVBhaW50VGltaW5n
LmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VNZWFzdXJlLmgiCisjaW5j
bHVkZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaCIKIAogCkBAIC00Niw2ICs0OCw5IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7
CiAKIEpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxQZXJmb3JtYW5jZUVudHJ5PiYmIGVudHJ5KQogewor
ICAgIGlmIChpczxQZXJmb3JtYW5jZVBhaW50VGltaW5nPihlbnRyeSkpCisgICAgICAgIHJldHVy
biBjcmVhdGVXcmFwcGVyPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGdsb2JhbE9iamVjdCwgV1RG
TW92ZShlbnRyeSkpOworCiAgICAgaWYgKGlzPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+KGVu
dHJ5KSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgJKHJldmlzaW9uIDI1
OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aAkod29ya2luZyBjb3B5KQpAQCAtMTc5LDYgKzE3OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBtYWNybyhQZXJmb3JtYW5jZU1lYXN1cmUpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9i
c2VydmVyKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCkgXAorICAg
IG1hY3JvKFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcpIFwKICAg
ICBtYWNybyhQb2ludGVyRXZlbnQpIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJ
KHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzEsNiArNzEsNyBAQAogI2luY2x1ZGUgIk92ZXJmbG93RXZlbnQu
aCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZU92ZXJsYXlDb250cm9sbGVyLmgi
CisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXIuaCIK
ICNpbmNsdWRlICJSZW5kZXJFbWJlZGRlZE9iamVjdC5oIgogI2luY2x1ZGUgIlJlbmRlckZ1bGxT
Y3JlZW4uaCIKQEAgLTk4MSw2ICs5ODIsNyBAQCBib29sIEZyYW1lVmlldzo6Zmx1c2hDb21wb3Np
dGluZ1N0YXRlRm9yCiAjZW5kaWYKIAogICAgIHJlbmRlclZpZXctPmNvbXBvc2l0b3IoKS5mbHVz
aFBlbmRpbmdMYXllckNoYW5nZXMoJnJvb3RGcmFtZUZvckZsdXNoID09IG1fZnJhbWUucHRyKCkp
OworICAgIG1hcmtQYWludFRpbWluZ0lmTmVlZGVkKCk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0K
QEAgLTQwODcsNiArNDA4OSwzOCBAQCB2b2lkIEZyYW1lVmlldzo6d2lsbFBhaW50Q29udGVudHMo
R3JhcGhpCiAgICAgbV9pc1BhaW50aW5nID0gdHJ1ZTsKIH0KIAorYm9vbCBGcmFtZVZpZXc6OnN1
cHBvcnRzUGFpbnRUaW1pbmcoKSBjb25zdAoreworICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQoKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgcmV0dXJuIGZyYW1lKCkuaXNNYWluRnJhbWUoKSAKKyAgICB8fCBm
cmFtZSgpLmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkuY2FuQWNjZXNzKGZyYW1lKCkubWFp
bkZyYW1lKCkuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSk7Cit9CisKK3ZvaWQgRnJhbWVW
aWV3OjptYXJrUGFpbnRUaW1pbmdJZk5lZWRlZCgpCit7CisgICAgaWYgKG1fZGlkTWFya0ZpcnN0
Q29udGVudGZ1bFBhaW50KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9maXJzdFZpc3Vh
bGx5Tm9uRW1wdHlMYXlvdXRNaWxlc3RvbmVJc1BlbmRpbmcpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGlmICghc3VwcG9ydHNQYWludFRpbWluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBj
b25zdCBhdXRvKiBkb2N1bWVudCA9IGZyYW1lKCkuZG9jdW1lbnQoKTsKKyAgICBjb25zdCBhdXRv
KiB3aW5kb3cgPSBkb2N1bWVudC0+ZG9tV2luZG93KCk7CisgICAgaWYgKCF3aW5kb3cpCisgICAg
ICAgIHJldHVybjsKKworICAgIGlmICghcmVuZGVyVmlldygpLT5jb250YWluc1BhaW50YWJsZUNv
bnRlbnQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9kaWRNYXJrRmlyc3RDb250ZW50ZnVs
UGFpbnQgPSB0cnVlOworICAgIHdpbmRvdy0+cGVyZm9ybWFuY2UoKS5yZXBvcnRGaXJzdENvbnRl
bnRmdWxQYWludCgpOworfQorCiB2b2lkIEZyYW1lVmlldzo6ZGlkUGFpbnRDb250ZW50cyhHcmFw
aGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIGRpcnR5UmVjdCwgUGFpbnRpbmdT
dGF0ZSYgcGFpbnRpbmdTdGF0ZSkKIHsKICAgICBtX2lzUGFpbnRpbmcgPSBmYWxzZTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtNjU4LDYgKzY1OCw4IEBAIHB1
YmxpYzoKIAogICAgIGJvb2wgaW5VcGRhdGVFbWJlZGRlZE9iamVjdHMoKSBjb25zdCB7IHJldHVy
biBtX2luVXBkYXRlRW1iZWRkZWRPYmplY3RzOyB9CiAKKyAgICBib29sIHN1cHBvcnRzUGFpbnRU
aW1pbmcoKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAgIGJvb2wgc2Nyb2xsQ29udGVudHNGYXN0
UGF0aChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYgcmVjdFRvU2Ny
b2xsLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCkgZmluYWw7CiAgICAgdm9pZCBzY3JvbGxDb250
ZW50c1Nsb3dQYXRoKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QpIGZpbmFsOwpAQCAtODE1LDYg
KzgxNyw5IEBAIHByaXZhdGU6CiAgICAgfTsKICAgICB2b2lkIG92ZXJyaWRlVmlld3BvcnRTaXpl
Rm9yQ1NTVmlld3BvcnRVbml0cyhPdmVycmlkZVZpZXdwb3J0U2l6ZSk7CiAKKyAgICB2b2lkIG1h
cmtQYWludFRpbWluZ0lmTmVlZGVkKCk7CisgICAgYm9vbCBtX2RpZE1hcmtGaXJzdENvbnRlbnRm
dWxQYWludCB7IGZhbHNlIH07CisKICAgICBzdGF0aWMgTW9ub3RvbmljVGltZSBzQ3VycmVudFBh
aW50VGltZVN0YW1wOyAvLyB1c2VkIGZvciBkZXRlY3RpbmcgZGVjb2RlZCByZXNvdXJjZSB0aHJh
c2ggaW4gdGhlIGNhY2hlCiAKICAgICBjb25zdCBSZWY8RnJhbWU+IG1fZnJhbWU7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQy
LDcgQEAKICNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNlcnZlci5oIgorI2luY2x1
ZGUgIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQ
ZXJmb3JtYW5jZVVzZXJUaW1pbmcuaCIKQEAgLTEyNCw2ICsxMjUsOSBAQCBWZWN0b3I8UmVmUHRy
PFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3JtCiAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9y
KG1fdXNlclRpbWluZy0+Z2V0TWVhc3VyZXMoKSk7CiAgICAgfQogCisgICAgaWYgKG1fZmlyc3RD
b250ZW50ZnVsUGFpbnQpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVs
UGFpbnQpOworCiAgICAgc3RkOjpzb3J0KGVudHJpZXMuYmVnaW4oKSwgZW50cmllcy5lbmQoKSwg
UGVyZm9ybWFuY2VFbnRyeTo6c3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKTsKICAgICByZXR1cm4g
ZW50cmllczsKIH0KQEAgLTEzNSw2ICsxMzksOSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNl
RW50cnk+PiBQZXJmb3JtCiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVu
dHJ5VHlwZSwgInJlc291cmNlIikpCiAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVz
b3VyY2VUaW1pbmdCdWZmZXIpOwogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYg
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkKKyAgICAg
ICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAobV91
c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShl
bnRyeVR5cGUsICJtYXJrIikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3Vz
ZXJUaW1pbmctPmdldE1hcmtzKCkpOwpAQCAtMTU3LDYgKzE2NCw5IEBAIFZlY3RvcjxSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICAgICAgfQogICAgIH0KIAorICAgIGlmICht
X2ZpcnN0Q29udGVudGZ1bFBhaW50ICYmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkgJiYgbmFtZSA9PSAiZmly
c3QtY29udGVudGZ1bC1wYWludCIpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250
ZW50ZnVsUGFpbnQpOworCiAgICAgaWYgKG1fdXNlclRpbWluZykgewogICAgICAgICBpZiAoZW50
cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlw
ZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWlu
Zy0+Z2V0TWFya3MobmFtZSkpOwpAQCAtMTgwLDYgKzE5MCwxMyBAQCB2b2lkIFBlcmZvcm1hbmNl
OjpzZXRSZXNvdXJjZVRpbWluZ0J1ZmZlCiAgICAgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlckZ1bGxG
bGFnID0gZmFsc2U7CiB9CiAKK3ZvaWQgUGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0Q29udGVudGZ1
bFBhaW50KCkKK3sKKyAgICBBU1NFUlQoIW1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworICAgIG1f
Zmlyc3RDb250ZW50ZnVsUGFpbnQgPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nOjpjcmVhdGVGaXJz
dENvbnRlbnRmdWxQYWludChub3coKSk7CisgICAgcXVldWVFbnRyeSgqbV9maXJzdENvbnRlbnRm
dWxQYWludCk7Cit9CisKIHZvaWQgUGVyZm9ybWFuY2U6OmFkZFJlc291cmNlVGltaW5nKFJlc291
cmNlVGltaW5nJiYgcmVzb3VyY2VUaW1pbmcpCiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCShyZXZpc2lvbiAy
NTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ1LDYgKzQ1LDcgQEAgY2xhc3MgTG9hZFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNl
RW50cnk7CiBjbGFzcyBQZXJmb3JtYW5jZU5hdmlnYXRpb247CiBjbGFzcyBQZXJmb3JtYW5jZU9i
c2VydmVyOworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNl
VGltaW5nOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291cmNlVGltaW5nOwpA
QCAtNzcsNiArNzgsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZFJlc291cmNlVGltaW5nKFJl
c291cmNlVGltaW5nJiYpOwogCisgICAgdm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgp
OworCiAgICAgdm9pZCByZW1vdmVBbGxPYnNlcnZlcnMoKTsKICAgICB2b2lkIHJlZ2lzdGVyUGVy
Zm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CiAgICAgdm9pZCB1bnJlZ2lz
dGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CkBAIC0xMjEsNiAr
MTI0LDcgQEAgcHJpdmF0ZToKIAogICAgIE1vbm90b25pY1RpbWUgbV90aW1lT3JpZ2luOwogCisg
ICAgUmVmUHRyPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IG1fZmlyc3RDb250ZW50ZnVsUGFpbnQ7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFVzZXJUaW1pbmc+IG1fdXNlclRpbWluZzsKIAogICAgIEdl
bmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV9wZXJmb3JtYW5jZVRpbWVs
aW5lVGFza1F1ZXVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
Y3BwCShyZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
RW50cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCwxMSBAQCBPcHRpb25hbDxQZXJm
b3JtYW5jZUVudHJ5OjpUeXBlPiBQZXJmb3JtCiAgICAgICAgICAgICByZXR1cm4gT3B0aW9uYWw8
VHlwZT4oVHlwZTo6UmVzb3VyY2UpOwogICAgIH0KIAorICAgIGlmIChSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnBhaW50VGltaW5nRW5hYmxlZCgpKSB7CisgICAgICAg
IGlmIChlbnRyeVR5cGUgPT0gInBhaW50IikKKyAgICAgICAgICAgIHJldHVybiBPcHRpb25hbDxU
eXBlPihUeXBlOjpQYWludCk7CisgICAgfQorCiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgJKHJldmlzaW9uIDI1
OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCSh3b3JraW5n
IGNvcHkpCkBAIC01Miw2ICs1Miw3IEBAIHB1YmxpYzoKICAgICAgICAgTWFyayA9IDEgPDwgMSwK
ICAgICAgICAgTWVhc3VyZSA9IDEgPDwgMiwKICAgICAgICAgUmVzb3VyY2UgPSAxIDw8IDMsCisg
ICAgICAgIFBhaW50ID0gMSA8PCA0CiAgICAgfTsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkg
Y29uc3QgPSAwOwpAQCAtNjIsNiArNjMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Jlc291cmNl
KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OlJlc291cmNlOyB9CiAgICAgYm9vbCBp
c01hcmsoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWFyazsgfQogICAgIGJvb2wg
aXNNZWFzdXJlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1lYXN1cmU7IH0KKyAg
ICBib29sIGlzUGFpbnQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UGFpbnQ7IH0K
IAogICAgIHN0YXRpYyBib29sIHN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbihjb25zdCBSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeT4mIGEsIGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYikK
ICAgICB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5j
cHAJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMywxNSArMTEzLDI5IEBAIHZvaWQgUGVy
Zm9ybWFuY2VPYnNlcnZlcjo6ZGVsaXZlcigpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRGaXJlT2JzZXJ2ZXJDYWxsYmFjaygqY29udGV4dCk7CiB9CiAKLVZlY3RvcjxTdHJpbmc+
IFBlcmZvcm1hbmNlT2JzZXJ2ZXI6OnN1cHBvcnRlZEVudHJ5VHlwZXMoKQorc3RhdGljIGJvb2wg
c3VwcG9ydHNQYWludFRpbWluZyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogewot
ICAgIHJldHVybiB7CisgICAgaWYgKCFpczxEb2N1bWVudD4oY29udGV4dCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGF1dG8qIHZpZXcgPSBkb3duY2FzdDxEb2N1bWVudD4oY29udGV4
dCkudmlldygpOworICAgIHJldHVybiB2aWV3ICYmIHZpZXctPnN1cHBvcnRzUGFpbnRUaW1pbmco
KTsKK30KKworVmVjdG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50
cnlUeXBlcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQoreworICAgIFZlY3RvcjxT
dHJpbmc+IGVudHJ5VHlwZXMgPSB7CiAgICAgICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQu
b3JnL2IvMTg0MzYzPiBBZGQgc3VwcG9ydCBmb3IgTmF2aWdhdGlvbiBUaW1pbmcgTGV2ZWwgMgog
ICAgICAgICAvLyAibmF2aWdhdGlvbiJfcywKICAgICAgICAgIm1hcmsiX3MsCiAgICAgICAgICJt
ZWFzdXJlIl9zLAogICAgICAgICAicmVzb3VyY2UiX3MKICAgICB9OworCisgICAgaWYgKHN1cHBv
cnRzUGFpbnRUaW1pbmcoY29udGV4dCkpCisgICAgICAgIGVudHJ5VHlwZXMuYXBwZW5kKCJwYWlu
dCJfcyk7CisKKyAgICByZXR1cm4gZW50cnlUeXBlczsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgJKHJl
dmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihjb250ZXh0LCBXVEZNb3ZlKGNh
bGxiYWNrKSkpOwogICAgIH0KIAotICAgIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRF
bnRyeVR5cGVzKCk7CisgICAgc3RhdGljIFZlY3RvcjxTdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlw
ZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogCiAgICAgdm9pZCBkaXNhc3NvY2lhdGUoKTsK
IApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCShy
ZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2
ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiBdIGludGVyZmFjZSBQZXJm
b3JtYW5jZU9ic2VydmVyIHsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgb2JzZXJ2ZShQ
ZXJmb3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsK
LSAgICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PERPTVN0cmluZz4gc3Vw
cG9ydGVkRW50cnlUeXBlczsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0g
c3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHN1cHBvcnRl
ZEVudHJ5VHlwZXM7CiB9OwogCiBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IHsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCShu
b25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWlu
Zy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZyBm
aW5hbCA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVm
PFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IGNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KGRvdWJs
ZSB0aW1lU3RhbXApCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3Jt
YW5jZVBhaW50VGltaW5nKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50Il9zLCB0aW1lU3RhbXApKTsK
KyAgICB9CisKK3ByaXZhdGU6CisgICAgUGVyZm9ybWFuY2VQYWludFRpbWluZyhjb25zdCBTdHJp
bmcmIG5hbWUsIGRvdWJsZSB0aW1lU3RhbXApCisgICAgICAgIDogUGVyZm9ybWFuY2VFbnRyeShu
YW1lLCB0aW1lU3RhbXAsIHRpbWVTdGFtcCkKKyAgICB7CisgICAgfQorCisgICAgQVNDSUlMaXRl
cmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJwYWludCJfczsgfQorICAgIFR5
cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFR5cGU6OlBhaW50OyB9CisKKyAgICB+UGVy
Zm9ybWFuY2VQYWludFRpbWluZygpID0gZGVmYXVsdDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpQZXJmb3JtYW5j
ZVBhaW50VGltaW5nKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpQZXJm
b3JtYW5jZUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnkuaXNQYWludCgpOyB9CitTUEVDSUFM
SVpFX1RZUEVfVFJBSVRTX0VORCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlUGFpbnRUaW1pbmcuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VQYWludFRpbWluZy5pZGwJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRpYSBGb3VuZGF0aW9uLiBB
bGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BhaW50LXRpbWluZy8KKwor
dHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKworWworICAgIEVuYWJsZWRBdFJ1
bnRpbWU9UGFpbnRUaW1pbmcsCisgICAgRXhwb3NlZD0oV2luZG93KSwKK10gaW50ZXJmYWNlIFBl
cmZvcm1hbmNlUGFpbnRUaW1pbmcgOiBQZXJmb3JtYW5jZUVudHJ5IHsKK307CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkocmV2aXNpb24gMjU5
MTc5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VXNlclRp
bWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1VzZXJUaW1pbmdFbmFibGVkID0gaXNF
bmFibGVkOyB9CiAgICAgYm9vbCB1c2VyVGltaW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
aXNVc2VyVGltaW5nRW5hYmxlZDsgfQogCisgICAgdm9pZCBzZXRQYWludFRpbWluZ0VuYWJsZWQo
Ym9vbCBpc0VuYWJsZWQpIHsgbV9pc1BhaW50VGltaW5nRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQor
ICAgIGJvb2wgcGFpbnRUaW1pbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1BhaW50VGlt
aW5nRW5hYmxlZDsgfQorCiAgICAgYm9vbCBwZXJmb3JtYW5jZVRpbWVsaW5lRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIHJlc291cmNlVGltaW5nRW5hYmxlZCgpIHx8IHVzZXJUaW1pbmdFbmFibGVk
KCk7IH0KIAogICAgIHZvaWQgc2V0U2hhZG93RE9NRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBt
X2lzU2hhZG93RE9NRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQpAQCAtNDI0LDYgKzQyNyw3IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX2lzTGlua1ByZWxvYWRFbmFibGVkIHsgdHJ1ZSB9OwogICAgIGJv
b2wgbV9pc0xpbmtQcmVmZXRjaEVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc01lZGlh
UHJlbG9hZGluZ0VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1BhaW50VGltaW5nRW5h
YmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzUmVzb3VyY2VUaW1pbmdFbmFibGVkIHsgZmFs
c2UgfTsKICAgICBib29sIG1faXNVc2VyVGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9v
bCBtX2lzSW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQgeyBmYWxzZSB9OwpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMjU5
MTc5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMjksNiArMzI5LDUwIEBAIFN0eWxlRGlmZmVyZW5jZSBSZW5kZXJFbGVt
ZW50OjphZGp1c3RTdHkKICAgICByZXR1cm4gZGlmZjsKIH0KIAorYm9vbCBSZW5kZXJFbGVtZW50
Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIGlmICghb3BhY2l0eSgp
IHx8IGlzU1ZHSGlkZGVuQ29udGFpbmVyKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IGF1dG8gaGFzUG90ZW50aWFsbHlWaXNpYmxlUmVnaW9ucyA9IFsmXSgpIHsKKyAgICAgICAgaWYg
KHN0eWxlKCkudmlzaWJpbGl0eSgpICE9IFZpc2liaWxpdHk6OlZpc2libGUpCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgYXV0byBkb2N1bWVudFJlY3QgPSB2aWV3KCkuZG9j
dW1lbnRSZWN0KCk7CisKKyAgICAgICAgaWYgKGF1dG8qIGN1cnJlbnQgPSBlbGVtZW50KCkpCisg
ICAgICAgICAgICByZXR1cm4gY3VycmVudC0+Ym91bmRpbmdDbGllbnRSZWN0KCkuaW50ZXJzZWN0
cyhkb2N1bWVudFJlY3QpOworCisgICAgICAgIHJldHVybiBpc1Zpc2libGVJbkRvY3VtZW50UmVj
dChkb2N1bWVudFJlY3QpOworICAgIH07CisKKyAgICBpZiAoaXNDb250ZW50ZnVsKCkgJiYgaGFz
UG90ZW50aWFsbHlWaXNpYmxlUmVnaW9ucygpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAg
IGZvciAoY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJPYmplY3QgPSBmaXJzdENoaWxkKCk7IHJl
bmRlck9iamVjdDsgcmVuZGVyT2JqZWN0ID0gcmVuZGVyT2JqZWN0LT5uZXh0U2libGluZygpKSB7
CisgICAgICAgIGlmIChyZW5kZXJPYmplY3QtPmNvbnRhaW5zUGFpbnRhYmxlQ29udGVudCgpKQor
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQor
Citib29sIFJlbmRlckVsZW1lbnQ6OmlzQ29udGVudGZ1bCgpIGNvbnN0Cit7CisgICAgaWYgKGhh
c093blBhaW50YWJsZUNvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAo
c3R5bGUoKS5oYXNQYWludGFibGVCYWNrZ3JvdW5kSW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8UmVuZGVyT2JqZWN0
PigqdGhpcykpIHsKKyAgICAgICAgaWYgKGlzPFJlbmRlclRleHQ+KGNoaWxkKSAmJiAhZG93bmNh
c3Q8UmVuZGVyVGV4dD4oY2hpbGQpLmNvbnRhaW5zT25seUhUTUxXaGl0ZXNwYWNlKCkpCisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGlu
bGluZSBib29sIFJlbmRlckVsZW1lbnQ6Omhhc0ltbWVkaWF0ZU5vbldoaXRlc3BhY2VUZXh0Q2hp
bGRPckJvcmRlck9yT3V0bGluZSgpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvJiBjaGlsZCA6IGNo
aWxkcmVuT2ZUeXBlPFJlbmRlck9iamVjdD4oKnRoaXMpKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMCw2
ICsxMDAsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlydHlMaW5lc0Zyb21DaGFu
Z2VkQ2hpbGQoUmVuZGVyT2JqZWN0JikgeyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgaGFzT3duUGFp
bnRhYmxlQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisKICAgICBib29sIGFuY2Vz
dG9yTGluZUJveERpcnR5KCkgY29uc3QgeyByZXR1cm4gbV9hbmNlc3RvckxpbmVCb3hEaXJ0eTsg
fQogICAgIHZvaWQgc2V0QW5jZXN0b3JMaW5lQm94RGlydHkoYm9vbCBmID0gdHJ1ZSk7CiAKQEAg
LTEzOSw2ICsxNDEsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1RyYW5zcGFyZW50KCkgY29uc3Qg
eyByZXR1cm4gc3R5bGUoKS5vcGFjaXR5KCkgPCAxLjBmOyB9CiAgICAgZmxvYXQgb3BhY2l0eSgp
IGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkub3BhY2l0eSgpOyB9CiAKKyAgICBib29sIGNvbnRhaW5z
UGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IGZpbmFsOworCiAgICAgYm9vbCB2aXNpYmxlVG9IaXRU
ZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS52aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0
eTo6VmlzaWJsZSAmJiBzdHlsZSgpLnBvaW50ZXJFdmVudHMoKSAhPSBQb2ludGVyRXZlbnRzOjpO
b25lOyB9CiAKICAgICBib29sIGhhc0JhY2tncm91bmQoKSBjb25zdCB7IHJldHVybiBzdHlsZSgp
Lmhhc0JhY2tncm91bmQoKTsgfQpAQCAtMzE2LDYgKzMyMCw4IEBAIHByaXZhdGU6CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBjb21wdXRlRmlyc3RMaW5lU3R5bGUoKSBjb25zdDsK
ICAgICB2b2lkIGludmFsaWRhdGVDYWNoZWRGaXJzdExpbmVTdHlsZSgpOwogCisgICAgYm9vbCBp
c0NvbnRlbnRmdWwoKSBjb25zdDsKKwogICAgIGJvb2wgY2FuRGVzdHJveURlY29kZWREYXRhKCkg
ZmluYWwgeyByZXR1cm4gIWlzVmlzaWJsZUluVmlld3BvcnQoKTsgfQogICAgIFZpc2libGVJblZp
ZXdwb3J0U3RhdGUgaW1hZ2VGcmFtZUF2YWlsYWJsZShDYWNoZWRJbWFnZSYsIEltYWdlQW5pbWF0
aW5nU3RhdGUsIGNvbnN0IEludFJlY3QqIGNoYW5nZVJlY3QpIGZpbmFsOwogICAgIHZvaWQgZGlk
UmVtb3ZlQ2FjaGVkSW1hZ2VDbGllbnQoQ2FjaGVkSW1hZ2UmKSBmaW5hbDsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5jcHAJKHJldmlzaW9uIDI1
OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsMTEgQEAgUmVuZGVySFRNTENhbnZhczo6UmVuZGVy
SFRNTENhbnZhcyhIVE1MQwogewogfQogCitib29sIFJlbmRlckhUTUxDYW52YXM6Omhhc093blBh
aW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiAhIWNhbnZhc0VsZW1lbnQoKS5y
ZW5kZXJpbmdDb250ZXh0KCk7Cit9CisKIEhUTUxDYW52YXNFbGVtZW50JiBSZW5kZXJIVE1MQ2Fu
dmFzOjpjYW52YXNFbGVtZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4gZG93bmNhc3Q8SFRNTENh
bnZhc0VsZW1lbnQ+KG5vZGVGb3JOb25Bbm9ueW1vdXMoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmgJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ0LDYgKzQ0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGVsZW1lbnQoKSBjb25zdCA9IGRl
bGV0ZTsKICAgICBib29sIHJlcXVpcmVzTGF5ZXIoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29s
IGlzQ2FudmFzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIGJvb2wgaGFz
T3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGNvbnN0IGNoYXIqIHJl
bmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiUmVuZGVySFRNTENhbnZhcyI7IH0K
ICAgICB2b2lkIHBhaW50UmVwbGFjZWQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSBv
dmVycmlkZTsKICAgICB2b2lkIGludHJpbnNpY1NpemVDaGFuZ2VkKCkgb3ZlcnJpZGUgeyBjYW52
YXNTaXplQ2hhbmdlZCgpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bWFnZS5jcHAJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzOSw2ICszMzksMTEgQEAgdm9pZCBS
ZW5kZXJJbWFnZTo6dXBkYXRlSW50cmluc2ljU2l6ZUlmTgogICAgIHNldEludHJpbnNpY1NpemUo
bmV3U2l6ZSk7CiB9CiAKK2Jvb2wgUmVuZGVySW1hZ2U6Omhhc093blBhaW50YWJsZUNvbnRlbnQo
KSBjb25zdAoreworICAgIHJldHVybiBtX2ltYWdlUmVzb3VyY2UtPmNhY2hlZEltYWdlKCkgJiYg
IW1faW1hZ2VSZXNvdXJjZS0+aW1hZ2VTaXplKDEpLmlzRW1wdHkoKTsKK30KKwogdm9pZCBSZW5k
ZXJJbWFnZTo6dXBkYXRlSW5uZXJDb250ZW50UmVjdCgpCiB7CiAgICAgLy8gUHJvcGFnYXRlIGNv
bnRhaW5lciBzaXplIHRvIGltYWdlIHJlc291cmNlLgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckltYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckltYWdlLmgJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC03Niw2ICs3Niw3IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGREaXNwbGF5QnJva2VuSW1hZ2VJY29uKCkg
Y29uc3Q7CiAKKyAgICBib29sIGhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdCBvdmVycmlk
ZTsKICAgICBib29sIGhhc05vbkJpdG1hcEltYWdlKCkgY29uc3Q7CiAKICAgICBib29sIGlzRWRp
dGFibGVJbWFnZSgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuaAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzgsNiArMjc4LDggQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCBib29sIGlzUmVuZGVyU2Nyb2xsYmFyUGFydCgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgY29udGFpbnNQYWludGFibGVDb250ZW50KCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwogICAgIGJvb2wgaXNEb2N1bWVudEVsZW1lbnRSZW5k
ZXJlcigpIGNvbnN0IHsgcmV0dXJuIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkgPT0gJm1f
bm9kZTsgfQogICAgIGJvb2wgaXNCb2R5KCkgY29uc3QgeyByZXR1cm4gbm9kZSgpICYmIG5vZGUo
KS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmJvZHlUYWcpOyB9CiAgICAgYm9vbCBpc0hSKCkgY29u
c3QgeyByZXR1cm4gbm9kZSgpICYmIG5vZGUoKS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmhyVGFn
KTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCShyZXZpc2lvbiAy
NTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xNzksNyArMTc5LDcgQEAgcHVibGljOgogICAgIExheW91dFVuaXQgdG9wT2ZG
aXJzdFRleHQoKSBjb25zdDsKICAgICAKICAgICBib29sIGNvbnRhaW5zT25seUhUTUxXaGl0ZXNw
YWNlKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0aCkgY29uc3Q7Ci0gICAgCisgICAgYm9v
bCBjb250YWluc09ubHlIVE1MV2hpdGVzcGFjZSgpIGNvbnN0IHsgcmV0dXJuIGNvbnRhaW5zT25s
eUhUTUxXaGl0ZXNwYWNlKDAsIHRleHQoKS5sZW5ndGgoKSk7IH0gCiAgICAgYm9vbCBjYW5Vc2VT
aW1wbGlmaWVkVGV4dE1lYXN1cmluZygpIGNvbnN0IHsgcmV0dXJuIG1fY2FuVXNlU2ltcGxpZmll
ZFRleHRNZWFzdXJpbmc7IH0KIAogICAgIFZlY3RvcjxzdGQ6OnBhaXI8dW5zaWduZWQsIHVuc2ln
bmVkPj4gZHJhZ2dlZENvbnRlbnRSYW5nZXNCZXR3ZWVuT2Zmc2V0cyh1bnNpZ25lZCBzdGFydE9m
ZnNldCwgdW5zaWduZWQgZW5kT2Zmc2V0KSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJWaWRlby5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTIsNiArOTIs
MTQgQEAgdm9pZCBSZW5kZXJWaWRlbzo6aW50cmluc2ljU2l6ZUNoYW5nZWQoKQogICAgIHVwZGF0
ZUludHJpbnNpY1NpemUoKTsgCiB9CiAKK2Jvb2wgUmVuZGVyVmlkZW86Omhhc093blBhaW50YWJs
ZUNvbnRlbnQoKSBjb25zdAoreworICAgIGlmICh2aWRlb0VsZW1lbnQoKS5zaG91bGREaXNwbGF5
UG9zdGVySW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIFJlbmRlckltYWdlOjpoYXNPd25QYWludGFi
bGVDb250ZW50KCk7CisKKyAgICByZXR1cm4gdmlkZW9FbGVtZW50KCkucmVhZHlTdGF0ZSgpID4g
SFRNTE1lZGlhRWxlbWVudEVudW1zOjpIQVZFX01FVEFEQVRBOworfQorCiBib29sIFJlbmRlclZp
ZGVvOjp1cGRhdGVJbnRyaW5zaWNTaXplKCkKIHsKICAgICBMYXlvdXRTaXplIHNpemUgPSBjYWxj
dWxhdGVJbnRyaW5zaWNTaXplKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVmlkZW8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VmlkZW8uaAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZGVvLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3LDYgKzY3LDcgQEAgcHJpdmF0ZToKIAog
ICAgIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KICAg
ICBib29sIGlzVmlkZW8oKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisgICAgYm9vbCBo
YXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHBhaW50
UmVwbGFjZWQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSBmaW5hbDsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5jcHAJKHJldmlzaW9u
IDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNDAsNiArMzQwLDE1IEBAIGJvb2wgRmlsbExheWVyOjpjb250
YWluc0ltYWdlKFN0eWxlSW1hZ2UKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgRmlsbExh
eWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSgpIGNvbnN0Cit7CisgICAgZm9yIChhdXRvKiBsYXll
ciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5tX25leHQuZ2V0KCkpIHsKKyAgICAgICAg
aWYgKGxheWVyLT5tX2ltYWdlICYmIGxheWVyLT5tX2ltYWdlLT5pc0xvYWRlZCgpICYmIGxheWVy
LT5tX2ltYWdlLT5oYXNDYWNoZWRJbWFnZSgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBGaWxsTGF5ZXI6OmltYWdlc0FyZUxv
YWRlZCgpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvKiBsYXllciA9IHRoaXM7IGxheWVyOyBsYXll
ciA9IGxheWVyLT5tX25leHQuZ2V0KCkpIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9GaWxsTGF5ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvRmlsbExheWVyLmgJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ1LDYgKzE0
NSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgY29udGFpbnNJbWFnZShTdHlsZUltYWdlJikgY29u
c3Q7CiAgICAgYm9vbCBpbWFnZXNBcmVMb2FkZWQoKSBjb25zdDsKKyAgICBib29sIGhhc0xvYWRl
ZENhY2hlZEltYWdlKCkgY29uc3Q7CiAgICAgYm9vbCBoYXNJbWFnZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbmV4dCA/IGhhc0ltYWdlSW5BbnlMYXllcigpIDogbV9pbWFnZTsgfQogICAgIGJvb2wgaGFz
Rml4ZWRJbWFnZSgpIGNvbnN0OwogICAgIGJvb2wgaGFzT3BhcXVlSW1hZ2UoY29uc3QgUmVuZGVy
RWxlbWVudCYpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01ODAsNiAr
NTgwLDIxIEBAIGJvb2wgUmVuZGVyU3R5bGU6OmlzSWRlbXBvdGVudFRleHRBdXRvc2kKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBSZW5kZXJTdHlsZTo6aGFzUGFpbnRhYmxlQmFja2dyb3Vu
ZEltYWdlKCkgY29uc3QKK3sKKyAgICBpZiAoIWhhc0JhY2tncm91bmRJbWFnZSgpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBjb25zdCBGaWxsTGF5ZXImIGJhY2tncm91bmQgPSBiYWNr
Z3JvdW5kTGF5ZXJzKCk7CisgICAgaWYgKCFiYWNrZ3JvdW5kLmhhc0xvYWRlZENhY2hlZEltYWdl
KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChiYWNrZ3JvdW5kU2l6ZUxlbmd0
aCgpLmlzRW1wdHkoKSAmJiBiYWNrZ3JvdW5kU2l6ZVR5cGUoKSA9PSBGaWxsU2l6ZVR5cGU6OlNp
emUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBBdXRv
c2l6ZVN0YXR1cyBSZW5kZXJTdHlsZTo6YXV0b3NpemVTdGF0dXMoKSBjb25zdAogewogICAgIHJl
dHVybiBPcHRpb25TZXQ8QXV0b3NpemVTdGF0dXM6OkZpZWxkcz46OmZyb21SYXcobV9pbmhlcml0
ZWRGbGFncy5hdXRvc2l6ZVN0YXR1cyk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQxNSw2
ICs0MTUsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgTGVuZ3RoU2l6ZSYgYmFja2dyb3VuZFNpemVM
ZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2JhY2tncm91bmREYXRhLT5iYWNrZ3JvdW5kLnNpemVM
ZW5ndGgoKTsgfQogICAgIEZpbGxMYXllciYgZW5zdXJlQmFja2dyb3VuZExheWVycygpIHsgcmV0
dXJuIG1fYmFja2dyb3VuZERhdGEuYWNjZXNzKCkuYmFja2dyb3VuZDsgfQogICAgIGNvbnN0IEZp
bGxMYXllciYgYmFja2dyb3VuZExheWVycygpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2dyb3VuZERh
dGEtPmJhY2tncm91bmQ7IH0KKyAgICBib29sIGhhc1BhaW50YWJsZUJhY2tncm91bmRJbWFnZSgp
IGNvbnN0OwogCiAgICAgU3R5bGVJbWFnZSogbWFza0ltYWdlKCkgY29uc3QgeyByZXR1cm4gbV9y
YXJlTm9uSW5oZXJpdGVkRGF0YS0+bWFzay5pbWFnZSgpOyB9CiAgICAgRmlsbFJlcGVhdCBtYXNr
UmVwZWF0WCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEZpbGxSZXBlYXQ+KG1fcmFyZU5v
bkluaGVyaXRlZERhdGEtPm1hc2sucmVwZWF0WCgpKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAJKHJldmlz
aW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9k
ZWxPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTgsNiArMTU4LDExIEBAIHN0YXRpYyBi
b29sIGlzR3JhcGhpY3NFbGVtZW50KGNvbnN0IFJlbmQKICAgICByZXR1cm4gcmVuZGVyZXIuaXNT
VkdTaGFwZSgpIHx8IHJlbmRlcmVyLmlzU1ZHVGV4dCgpIHx8IHJlbmRlcmVyLmlzU1ZHSW1hZ2Uo
KSB8fCByZW5kZXJlci5lbGVtZW50KCktPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnVzZVRhZyk7CiB9
CiAKK2Jvb2wgUmVuZGVyU1ZHTW9kZWxPYmplY3Q6Omhhc093blBhaW50YWJsZUNvbnRlbnQoKSBj
b25zdAoreworICAgIHJldHVybiBpc0dyYXBoaWNzRWxlbWVudCgqdGhpcyk7Cit9CisKIC8vIFRo
ZSBTVkcgYWRkRm9jdXNSaW5nUmVjdHMoKSBtZXRob2QgYWRkcyByZWN0cyBpbiBsb2NhbCBjb29y
ZGluYXRlcyBzbyB0aGUgZGVmYXVsdCBhYnNvbHV0ZUZvY3VzUmluZ1F1YWRzCiAvLyByZXR1cm5z
IGluY29ycmVjdCB2YWx1ZXMgZm9yIFNWRyBvYmplY3RzLiBPdmVycmlkaW5nIHRoaXMgbWV0aG9k
IHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgYWJzb2x1dGUgYm91bmRzLgogdm9pZCBSZW5kZXJTVkdN
b2RlbE9iamVjdDo6YWJzb2x1dGVGb2N1c1JpbmdRdWFkcyhWZWN0b3I8RmxvYXRRdWFkPiYgcXVh
ZHMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2Jq
ZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdNb2RlbE9iamVjdC5oCShyZXZpc2lvbiAyNTkxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDYg
KzY5LDcgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIGJvb2wgaXNSZW5kZXJTVkdNb2Rl
bE9iamVjdCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKyAgICBib29sIGhhc093blBh
aW50YWJsZUNvbnRlbnQoKSBjb25zdCBmaW5hbDsKIAogICAgIC8vIFRoaXMgbWV0aG9kIHNob3Vs
ZCBuZXZlciBiZSBjYWxsZWQsIFNWRyB1c2VzIGEgZGlmZmVyZW50IG5vZGVBdFBvaW50IG1ldGhv
ZAogICAgIGJvb2wgbm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVz
dWx0JiwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVyLCBjb25zdCBM
YXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRlc3RBY3Rpb24pIG92ZXJyaWRlOwpJ
bmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50
aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgYSBydW50aW1lIGZsYWcgZm9yIHBhaW50LXRpbWluZyAocGFpbnRUaW1pbmdF
bmFibGVkKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVy
ZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldFBh
aW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXNSZWZQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dDb250ZXh0TWFu
YWdlckNvbm5lY3Rpb246OnVwZGF0ZVByZWZlcmVuY2VzU3RvcmUpOgorCiAyMDIwLTAzLTI5ICBk
ZGtpbHplckBhcHBsZS5jb20gIDxkZGtpbHplckBhcHBsZS5jb21AMjY4ZjQ1Y2MtY2QwOS0wNDEw
LWFiM2MtZDUyNjkxYjRkYmZjPgogCiAgICAgICAgIEJ1aWxkIGZpeCBmb3I6IFtpT1NdIERlbGF5
IHByb2Nlc3Mgc3VzcGVuc2lvbiBmb3IgYSB3aGlsZSBhZnRlciBsb2FkaW5nIGFuIGFwcCBsaW5r
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHJldmlzaW9u
IDI1OTE3OSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHdv
cmtpbmcgY29weSkKQEAgLTgzOSw2ICs4MzksMTMgQEAgVXNlclRpbWluZ0VuYWJsZWQ6CiAgIGh1
bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBVc2VyVGltaW5nIEFQSSIKICAgd2ViY29y
ZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAorUGFpbnRUaW1pbmdFbmFibGVkOgor
ICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogdHJ1ZQorICBodW1hblJlYWRhYmxlTmFtZTog
IlBhaW50IFRpbWluZyIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFBhaW50
IFRpbWluZyBBUEkiCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisK
IEJlYWNvbkFQSUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNw
cAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4MTksNiArMTgxOSwxNiBAQCBib29s
IFdLUHJlZmVyZW5jZXNHZXRVc2VyVGltaW5nRW5hYmxlZChXCiAgICAgcmV0dXJuIHRvSW1wbChw
cmVmZXJlbmNlc1JlZiktPnVzZXJUaW1pbmdFbmFibGVkKCk7CiB9CiAKK3ZvaWQgV0tQcmVmZXJl
bmNlc1NldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
LCBib29sIGZsYWcpCit7CisgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0UGFpbnRUaW1p
bmdFbmFibGVkKGZsYWcpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRQYWludFRpbWluZ0Vu
YWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+cGFpbnRUaW1pbmdFbmFibGVkKCk7Cit9CisKIHZvaWQgV0tQ
cmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZl
cmVuY2VzUmVmLCBib29sIGZsYWcpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0
UmVzb3VyY2VUaW1pbmdFbmFibGVkKGZsYWcpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCShyZXZpc2lv
biAyNTkxNzkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
UmVmUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MDAsNiArNTAwLDEwIEBAIFdLX0VYUE9S
VCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRVc2VyVGltaW4KIFdLX0VYUE9SVCBib29sIFdLUHJlZmVy
ZW5jZXNHZXRVc2VyVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIAogLy8gRGVmYXVs
dHMgdG8gZmFsc2UKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0Vu
YWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKK1dLX0VYUE9SVCBib29sIFdLUHJl
ZmVyZW5jZXNHZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CisKKy8vIERl
ZmF1bHRzIHRvIGZhbHNlCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VU
aW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9v
bCBXS1ByZWZlcmVuY2VzR2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYp
OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCShyZXZpc2lvbiAy
NTkxNzkpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMiw2ICsxMjIsNyBAQCB2
b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjp1cGRhCiAgICAgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRDYWNoZUFQSUVuYWJsZWQoc3RvcmUuZ2V0
Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpjYWNoZUFQSUVuYWJsZWRLZXkoKSkp
OwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hB
UElFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6ZmV0
Y2hBUElFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnNldFVzZXJUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6dXNlclRpbWluZ0VuYWJsZWRLZXkoKSkpOworICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1pbmdFbmFibGVkKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFpbnRUaW1pbmdFbmFi
bGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnNldFJlc291cmNlVGltaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OnJlc291cmNlVGltaW5nRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJs
ZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpmZXRjaEFQSUtl
ZXBBbGl2ZUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0UmVzdHJpY3RlZEhUVFBSZXNwb25zZUFjY2VzcyhzdG9yZS5nZXRCb29s
VmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nl
c3NLZXkoKSkpOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5
MTc5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJr
aXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBw
cmVmZXJlbmNlIGtleSBmb3IgcGFpbnQgdGltaW5nLgorCisgICAgICAgICogV2ViVmlldy9XZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgt
W1dlYlByZWZlcmVuY2VzIHBhaW50VGltaW5nRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVm
ZXJlbmNlcyBzZXRQYWludFRpbWluZ0VuYWJsZWQ6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisKIDIw
MjAtMDMtMjcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAg
ICAgRHJhZ0RhdGE6OmNvbnRhaW5zVVJMKCkgc2hvdWxkIGF2b2lkIHJlYWRpbmcgVVJMIHN0cmlu
Z3MgZnJvbSB0aGUgcGFzdGVib2FyZApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZpc2lv
biAyNTkxNzkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNjAsNiArMjYwLDcgQEAKICNkZWZp
bmUgV2ViS2l0QXR0YWNobWVudEVsZW1lbnRFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEF0
dGFjaG1lbnRFbGVtZW50RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2
ZXJFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxl
ZCIKICNkZWZpbmUgV2ViS2l0TWVudUl0ZW1FbGVtZW50RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRNZW51SXRlbUVsZW1lbnRFbmFibGVkIgorI2RlZmluZSBXZWJLaXRQYWludFRpbWluZ0Vu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkIgogI2RlZmluZSBX
ZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRVc2VyVGltaW5nRW5h
YmxlZCIKICNkZWZpbmUgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBA
IldlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TWVkaWFDb250ZW50
VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFD
b250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQiCkluZGV4OiBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHJldmlzaW9uIDI1
OTE3OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTY4Myw2ICs2ODMsNyBAQCArICh2b2lkKWluaXRpYWxpemUK
ICNpZiBFTkFCTEUoSU5URVJTRUNUSU9OX09CU0VSVkVSKQogICAgICAgICBATk8sIFdlYktpdElu
dGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXksCiAjZW5kaWYKKyAgICAgICAg
QE5PLCBXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8s
IFdlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJL
aXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktp
dE1lZGlhVXNlckdlc3R1cmVJbmhlcml0c0Zyb21Eb2N1bWVudCwKQEAgLTMzMDgsNiArMzMwOSwx
NiBAQCAtICh2b2lkKXNldFVzZXJUaW1pbmdFbmFibGVkOihCT09MKWZsYWcKICAgICBbc2VsZiBf
c2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5j
ZUtleV07CiB9CiAKKy0gKEJPT0wpcGFpbnRUaW1pbmdFbmFibGVkCit7CisgICAgcmV0dXJuIFtz
ZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtl
eV07Cit9CisKKy0gKHZvaWQpc2V0UGFpbnRUaW1pbmdFbmFibGVkOihCT09MKWZsYWcKK3sKKyAg
ICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFBhaW50VGltaW5nRW5hYmxl
ZFByZWZlcmVuY2VLZXldOworfQorCiAtIChCT09MKXJlc291cmNlVGltaW5nRW5hYmxlZAogewog
ICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFJlc291cmNlVGltaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXldOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCShyZXZpc2lvbiAyNTkxNzkp
CisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02NjEsNiArNjYxLDcgQEAgQGludGVyZmFjZSBXZWJQcmVm
ZXJlbmNlcyAoV2ViUHJpdmF0ZSkKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGtleWdlbkVs
ZW1lbnRFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgdXNlclRpbWluZ0VuYWJs
ZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCByZXNvdXJjZVRpbWluZ0VuYWJsZWQ7CitA
cHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBwYWludFRpbWluZ0VuYWJsZWQ7CiBAcHJvcGVydHkg
KG5vbmF0b21pYykgQk9PTCBsaW5rUHJlbG9hZEVuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21p
YykgQk9PTCBtZWRpYVVzZXJHZXN0dXJlSW5oZXJpdHNGcm9tRG9jdW1lbnQ7CiBAcHJvcGVydHkg
KG5vbmF0b21pYykgQk9PTCBpc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkOwpJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMjU5
MTc5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMTk2LDYgKzMxOTYsNyBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5n
ZWQ6KFdlYlByZWZlcmVuCiAKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldFVzZXJUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnVzZXJUaW1pbmdFbmFibGVk
KTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFJlc291
cmNlVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5yZXNvdXJjZVRpbWluZ0VuYWJsZWQpOworICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1pbmdF
bmFibGVkKHByZWZlcmVuY2VzLnBhaW50VGltaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMaW5rUHJlbG9hZEVuYWJsZWQocHJlZmVy
ZW5jZXMubGlua1ByZWxvYWRFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLnNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQocHJlZmVyZW5jZXMubWVk
aWFQcmVsb2FkaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRJc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKHByZWZlcmVuY2Vz
LmlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQpOwpJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0NoYW5nZUxvZwkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4v
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDMtMjMgIE5v
YW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1Ag
KGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgcHJlZmVyZW5jZSBrZXkgZm9yIHBhaW50LXRpbWluZy4KKwor
ICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6CisgICAgICAg
ICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMu
aDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgICogV2ViVmlldy5jcHA6
CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorCiAyMDIwLTAz
LTE4ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHN1
cmUgYSBwcmVmbGlnaHQgZmFpbHMgaWYgcmVzcG9uc2UgaGVhZGVycyBhcmUgaW52YWxpZApJbmRl
eDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmgJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlBy
ZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xOTcsNiArMTk3LDggQEAK
IAogI2RlZmluZSBXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFVz
ZXJUaW1pbmdFbmFibGVkIgogCisjZGVmaW5lIFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZl
cmVuY2VLZXkgIldlYktpdFBhaW50VGltaW5nRW5hYmxlZCIKKwogI2RlZmluZSBXZWJLaXRSZXNv
dXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJs
ZWQiCiAKICNkZWZpbmUgV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSAiV2Vi
S2l0TGlua1ByZWxvYWRFbmFibGVkIgpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
UHJlZmVyZW5jZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YlByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gMjU5MTc5KQorKysgU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjYsNiArMzI2LDgg
QEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZQogCiAgICAgQ0ZEaWN0
aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxl
ZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCisgICAgQ0ZEaWN0aW9uYXJ5QWRk
VmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOworCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVs
dHMsIENGU1RSKFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29s
ZWFuRmFsc2UpOwogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdl
YktpdE1lZGlhUHJlbG9hZGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNl
KTsKQEAgLTI0MTQsNiArMjQxNiwyMCBAQCBIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpyZXNvdXJj
ZVRpbWluZ0VuCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6
OnNldFBhaW50VGltaW5nRW5hYmxlZChCT09MIGVuYWJsZWQpCit7CisgICAgc2V0Qm9vbFZhbHVl
KFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksIGVuYWJsZWQpOworICAgIHJl
dHVybiBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpwYWludFRpbWluZ0VuYWJs
ZWQoX091dF8gQk9PTCogZW5hYmxlZCkKK3sKKyAgICBpZiAoIWVuYWJsZWQpCisgICAgICAgIHJl
dHVybiBFX1BPSU5URVI7CisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVGb3JLZXkoV2ViS2l0UGFp
bnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKIEhS
RVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNlcnZlclRpbWluZ0VuYWJsZWQoX091dF8gQk9PTCogZW5h
YmxlZCkKIHsKICAgICBpZiAoIWVuYWJsZWQpCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJQcmVmZXJlbmNlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlByZWZlcmVuY2VzLmgJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYlByZWZlcmVuY2VzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI1MSw2ICsyNTEsOCBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFVzZXJU
aW1pbmdFbmFibGVkKEJPT0wpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSByZXNvdXJjZVRpbWluZ0VuYWJsZWQoX091dF8gQk9PTCopOwogICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSBzZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoQk9PTCk7CisgICAg
dmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHBhaW50VGltaW5nRW5hYmxlZChfT3V0
XyBCT09MKik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFBhaW50
VGltaW5nRW5hYmxlZChCT09MKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgbGlua1ByZWxvYWRFbmFibGVkKF9PdXRfIEJPT0wqKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQg
U1RETUVUSE9EQ0FMTFRZUEUgc2V0TGlua1ByZWxvYWRFbmFibGVkKEJPT0wpOwogICAgIHZpcnR1
YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBtZWRpYVByZWxvYWRpbmdFbmFibGVkKF9PdXRf
IEJPT0wqKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiAy
NTkxNzkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTI4Myw2ICs1MjgzLDExIEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVy
ZW5jZXNDaGFuZ2UKICAgICAgICAgcmV0dXJuIGhyOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQoISFlbmFibGVkKTsKIAor
ICAgIGhyID0gcHJlZnNQcml2YXRlLT5wYWludFRpbWluZ0VuYWJsZWQoJmVuYWJsZWQpOworICAg
IGlmIChGQUlMRUQoaHIpKQorICAgICAgICByZXR1cm4gaHI7CisgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJsZWQoISFlbmFibGVk
KTsKKwogICAgIGhyID0gcHJlZnNQcml2YXRlLT5yZXNvdXJjZVRpbWluZ0VuYWJsZWQoJmVuYWJs
ZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQogICAgICAgICByZXR1cm4gaHI7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5pZGwJKHJldmlzaW9uIDI1OTE3OSkKKysrIFNvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTE5Nyw2ICsxOTcsOCBAQCBpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2VzUHJpdmF0
ZTQgOiBJV2ViCiAgICAgSFJFU1VMVCBzZXRVc2VyVGltaW5nRW5hYmxlZChbaW5dIEJPT0wgZW5h
YmxlZCk7CiAgICAgSFJFU1VMVCByZXNvdXJjZVRpbWluZ0VuYWJsZWQoW291dCwgcmV0dmFsXSBC
T09MKik7CiAgICAgSFJFU1VMVCBzZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoW2luXSBCT09MIGVu
YWJsZWQpOworICAgIEhSRVNVTFQgcGFpbnRUaW1pbmdFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9P
TCopOworICAgIEhSRVNVTFQgc2V0UGFpbnRUaW1pbmdFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVk
KTsKICAgICBIUkVTVUxUIGxpbmtQcmVsb2FkRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqKTsK
ICAgICBIUkVTVUxUIHNldExpbmtQcmVsb2FkRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CiAg
ICAgSFJFU1VMVCBtZWRpYVByZWxvYWRpbmdFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOwpJ
bmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2
aXNpb24gMjU5MTc5KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTkgQEAKKzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgor
CisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgcHJlZmVyZW5jZSBr
ZXkgZm9yIHBhaW50LXRpbWluZy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRW
YWx1ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6
CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6
VGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorCiAy
MDIwLTAzLTI4ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUkVHUkVTU0lPTihyMjU3OTYzKSBVSSBwcm9jZXNzIGNyYXNoZXMgd2hlbiBzZXR0
aW5nIG5hdmlnYXRpb24gZGVsZWdhdGUgaW5zaWRlIG5hdmlnYXRpb24gZGVsZWdhdGUgY2FsbGJh
Y2tzCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCShy
ZXZpc2lvbiAyNTkxNzkpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwMDQsNiArMTAwNCw3IEBAIHN0YXRpYyB2b2lkIHJl
c2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3QKICAgICBbcHJlZmVyZW5jZXMgc2V0TW9kZXJuTWVk
aWFDb250cm9sc0VuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0UmVzb3VyY2VUaW1p
bmdFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFVzZXJUaW1pbmdFbmFibGVkOllF
U107CisgICAgW3ByZWZlcmVuY2VzIHNldFBhaW50VGltaW5nRW5hYmxlZDpZRVNdOwogCiAgICAg
W3ByZWZlcmVuY2VzIHNldENhY2hlQVBJRW5hYmxlZDpOT107CiAgICAgcHJlZmVyZW5jZXMubWVk
aWFDYXBhYmlsaXRpZXNFbmFibGVkID0gWUVTOwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUv
d2luL0R1bXBSZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCShyZXZpc2lvbiAyNTkxNzkpCisrKyBUb29scy9EdW1w
UmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04OTks
NiArODk5LDcgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdAogICAg
IHByZWZzUHJpdmF0ZS0+c2V0Q3VzdG9tRWxlbWVudHNFbmFibGVkKFRSVUUpOwogICAgIHByZWZz
UHJpdmF0ZS0+c2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFRSVUUpOwogICAgIHByZWZzUHJpdmF0
ZS0+c2V0VXNlclRpbWluZ0VuYWJsZWQoVFJVRSk7CisgICAgcHJlZnNQcml2YXRlLT5zZXRQYWlu
dFRpbWluZ0VuYWJsZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2YXRlLT5zZXREYXRhVHJhbnNmZXJJ
dGVtc0VuYWJsZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2YXRlLT5jbGVhck5ldHdvcmtMb2FkZXJT
ZXNzaW9uKCk7CiAKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCShyZXZpc2lvbiAyNTkxNzkpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMxLDYgKzkzMSw3IEBAIHZvaWQgVGVzdENv
bnRyb2xsZXI6OnJlc2V0UHJlZmVyZW5jZXNUb0MKICAgICBXS1ByZWZlcmVuY2VzU2V0RmV0Y2hB
UElLZWVwQWxpdmVFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2Vz
U2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZl
cmVuY2VzU2V0VXNlclRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOworICAgIFdLUHJl
ZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdL
UHJlZmVyZW5jZXNTZXRNZWRpYVByZWxvYWRpbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsK
ICAgICBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQbGF5YmFja0FsbG93c0lubGluZShwcmVmZXJlbmNl
cywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJl
c1BsYXlzSW5saW5lQXR0cmlidXRlKHByZWZlcmVuY2VzLCBmYWxzZSk7CkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiAyNTkxNzkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwzMSBAQAorMjAyMC0wMy0yMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3Rz
IGZvciBzb21lIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgKEZDUCkgdXNlLWNhc2VzLgorCisgICAg
ICAgICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFw
aS5qczogQWRkZWQuCisgICAgICAgICAgICAgICAgVGVzdCBleGlzdGVuY2Ugb2YgcGFpbnQgdGlt
aW5nIEFQSSBvbiB0aGUgd2luZG93IG9iamVjdC4KKworICAgICAgICAqIHBlcmZvcm1hbmNlLWFw
aS9maXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWlu
dC13aXRoLXdvcmtlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNl
LWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LXdpdGgtd29ya2VyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWw6IEFkZGVk
LgorICAgICAgICAgICAgICAgIFRlc3QgdGhhdCBGQ1AgaXMgbm90IGF2YWlsYWJsZSBmb3IgY3Jv
c3Mtb3JpZ2luIGZyYW1lcyBhbmQgd29ya2Vycy4KKworICAgICAgICAqIHBlcmZvcm1hbmNlLWFw
aS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVy
LWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFu
Y2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanM6IEFkZGVkLgorICAgICAgICAoYXN5
bmMgd2FpdEZvckZDUCk6CisgICAgICAgICAgICAgICAgVGVzdCB0aGF0IHBlcmZvcm1hbmNlIG9i
c2VydmVycyBhcmUgY2FsbGVkIGZvciBGQ1AuCisKIDIwMjAtMDMtMjggIFNhaWQgQWJvdS1IYWxs
YXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWdyZXNzaW9uOiBmYXN0
L2hpZHBpL2ltYWdlLXNyY3NldC1zdmctY2FudmFzLTJ4Lmh0bWwgaXMgZmFpbGluZyBjb25zaXN0
ZW50bHkgb24gaU9TIEVXUwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZp
c2lvbiAyNTkxNzkpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsNzggQEAKKzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50aGFsICA8
bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbXBvcnRlZCB0ZXN0LXN1aXRlIGZyb20gdzNjIHRvIGNvdmVyIGZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQgY2FzZXMuCisgICAgICAgIFRoZSBmY3Atb25seSBjYXNlcyBhcmUgaW1wb3J0ZWQsIHdo
aWxlIHRoZSBvdGhlciBvbmVzIGFyZSBub3Qgc2luY2UgV2ViS2l0IGRvZXMgbm90IHN1cHBvcnQg
Zmlyc3QtcGFpbnQuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5q
c29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1h
Z2UtdHdvLXN0ZXBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtY2FudmFzLWNvbnRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1ncmFkaWVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1y
b3RhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2Nh
bGUtdHJhbnNpdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRh
bnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJh
bnNsYXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdl
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNp
YmlsaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10
eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8u
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3cz
Yy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZzogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUt
cGFpbnRpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5q
czogQWRkZWQuCisgICAgICAgICh3YWl0VGltZSk6CisgICAgICAgIChhc3luYyBhc3NlcnROb0Zp
cnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKGFzeW5jIGFzc2VydEZpcnN0Q29udGVudGZ1
bFBhaW50KToKKyAgICAgICAgKHRlc3RfZmNwKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisKIDIwMjAt
MDMtMjYgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAg
IFN5bmMgd3B0L2RvbXhwYXRoIGFuZCByZS1zeW5jIHdwdC9jc3MvY3Nzb20tdmlldyBmcm9tIHVw
c3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1l
eHBlY3RhdGlvbnMuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgkocmV2aXNpb24gMjU5MTc5KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpz
b24JKHdvcmtpbmcgY29weSkKQEAgLTEzLDYgKzEzLDggQEAKICAgICAiY3NzL2dlb21ldHJ5Ijog
ImltcG9ydCIsIAogICAgICJjc3Mvc3VwcG9ydCI6ICJpbXBvcnQiLCAKICAgICAiY3VzdG9tLWVs
ZW1lbnRzIjogImltcG9ydCIsIAorICAgICJwYWludC10aW1pbmcvIjogImltcG9ydCIsIAorICAg
ICJwYWludC10aW1pbmcvZmNwLW9ubHkiOiAiaW1wb3J0IiwgCiAgICAgInNoYWRvdy1kb20iOiAi
aW1wb3J0IiwgCiAgICAgInRvb2xzIjogImltcG9ydCIsIAogICAgICJ3ZWItYW5pbWF0aW9ucyI6
ICJpbXBvcnQiLCAKQEAgLTMxOSw3ICszMjEsOCBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMv
b3JpZW50YXRpb24tZXZlbnQiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvb3Jp
ZW50YXRpb24tc2Vuc29yIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BhZ2Ut
dmlzaWJpbGl0eSI6ICJza2lwIiwgCi0gICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmciOiAic2tpcCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5IjogImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtaGFu
ZGxlciI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LW1ldGhvZC1i
YXNpYy1jYXJkIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtbWV0
aG9kLWlkIjogInNraXAiLCAKQEAgLTQwMCw3ICs0MDMsNyBAQAogICAgICJ3ZWItcGxhdGZvcm0t
dGVzdHMvd2VidXNiIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3dlYnZyIjog
InNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3dlYnZ0dCI6ICJza2lwIiwgCi0gICAg
IndlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ciI6ICJpbXBvcnQiLAorICAgICJ3ZWItcGxhdGZvcm0t
dGVzdHMvd2VieHIiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
IjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMiOiAic2tpcCIs
IAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMveC1mcmFtZS1vcHRpb25zIjogInNraXAiLCAKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIGJhY2tncm91bmQgc2l6ZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3Jv
dW5kLXNpemUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXpl
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+
Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gYmFja2dy
b3VuZCBzaXplPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9u
OiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5n
KTsKKyAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDA7CisgICAgfQorCisgICAgLyogY29udGVu
dGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5j
b250ZW50ZnVsIHsKKyAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7CisgICAgfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3Ao
IkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgc2l6ZS4iKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdl
LXNldC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNl
dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNl
dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBpbWFnZSBpbiBpbWFn
ZS1zZXQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRp
bWluZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0PC90aXRs
ZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmlu
ZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAg
ICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWltYWdlLXNldCh1cmwoLi4vcmVzb3VyY2VzL2Np
cmNsZXMucG5nKSAxeCk7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXNldCh1cmwo
Li4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKSAxeCk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlk
PSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0LiIpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdv
LXN0ZXBzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Ut
dHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmct
aW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMg
QEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGZvciBiYWNrZ3JvdW5kIGlt
YWdlIG9ubHkgd2hlbiB2aXNpYmxlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3
by1zdGVwcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3Rl
cHMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBz
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBm
aXJlIGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxlPC90aXRsZT4KKzxzdHls
ZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGFuZCBwcmVGQ1AgY2xhc3NlcyBhcmUg
ZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4ucHJlRkNQIHsKKyAgICAg
ICAgdmlzaWJpbGl0eTogaGlkZGVuOworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwsICAj
bWFpbi5wcmVGQ1AgeworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2Vz
L2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAg
dmlzaWJpbGl0eTogdmlzaWJsZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwv
ZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBmb3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZS4iKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBDYW52YXMg
c2hvdWxkIGNvdW50IGFzIGNvbnRlbnRmdWwgd2hlbiBjb250ZXh0IGlzIGNyZWF0ZWQgCisKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1jYW52YXMtY29udGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRl
c3Q6IEZDUCB3aGVuIGNhbnZhcyBjb250ZXh0IGlzIGNyZWF0ZWQ8L3RpdGxlPgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxjYW52YXMg
aWQ9ImNhbnZhcyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxzY3JpcHQ+Cisg
IHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRv
dy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4i
KTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCds
b2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAg
ICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FudmFzJyk7CisgICAg
Y29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworICAgIGNvbnRleHQuZmls
bFJlY3QoMCwgMCwgMTAwLCAxMDApOworICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBh
aW50KCk7CisgIH0sICdDYW52YXMgc2hvdWxkIGNvdW50IGFzIGNvbnRlbnRmdWwgd2hlbiBjb250
ZXh0IGlzIGNyZWF0ZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWdyYWRpZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBHcmFkaWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsIAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3Jh
ZGllbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIG5vdCBmaXJl
IHdpdGggZ3JhZGllbnQtb25seSBiYWNrZ3JvdW5kczwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21h
aW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIG9yYW5nZSwg
Ymx1ZSk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+
CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24o
d2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9y
dGVkLiIpOworICAgICAgY29uc3QgbWFpbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWlu
Jyk7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCdsb2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgp
OworICB9LCAgJ0dyYWRpZW50cyBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwnKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBy
b3RhdGluZyBpbnRvIHZpZXcuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJv
dGF0ZS1kZXNjZW5kYW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNl
IFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIDNkIHJldmVhbGluZyBvZiBkZXNjZW5kYW50
czwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7Cisg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgcG9zaXRp
b246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRl
WCg0NWRlZyk7CisgICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7CisgICAgfQor
CisgICAgLyoKKyAgICAgICBUaGlzIHRlc3RzIHRoYXQgZ2l2ZW4gbXVsdGlwbGljYXRpb24gZWZm
ZWN0IG9mIDNkIHRyYW5zZm9ybXMgb24gYm91bmRpbmcgcmVjdCwKKyAgICAgICBBbiBlbGVtZW50
IGNvdW50cyBhcyBjb250ZW50ZnVsL3BhaW50YWJsZSBvbmx5IHdoZW4gaXRzIGJvdW5kaW5nIHJl
Y3QgaXMgdHJ1bHkgbm9uLWVtcHR5ICovCisgICAgI2NoaWxkIHsKKyAgICAgICAgdHJhbnNmb3Jt
OiByb3RhdGVYKDQ1ZGVnKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRl
ZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAg
ICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4K
KyAgICA8ZGl2IGlkPSJjaGlsZCI+VGV4dDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRl
c3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3Ig
Z2V0dGluZyByb3RhdGluZyBpbnRvIHZpZXcuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50
eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4dAorCitQQVNTIEZp
cnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldy4g
CisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gM2Qgcm90YXRpb24gaW50byB2aWV3
PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zv
cm06IHJvdGF0ZVkoOTBkZWcpOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAg
IHRvcDogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4g
dGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFu
c2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj5UZXh0PC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXcuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWlu
dCBmaXJlcyBkdWUgdG8gc2NhbGUgYmVjb21pbmcgcG9zaXRpdmUuIAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9u
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RFWFQKKworUEFT
UyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gcmV2ZWFsZWQgZHVyaW5nIHRyYW5z
aXRpb24uIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24u
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRp
b24uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRy
YW5zaXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
aW4gdHJhbnNpdGlvbjwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0
aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAg
ICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKKyAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3Jt
IDEwczsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAg
fQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlw
dC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgx
KTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRFWFQ8L2Rpdj4KKzxzY3JpcHQ+
CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxl
ZCBkdXJpbmcgdHJhbnNpdGlvbi4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLXNjYWxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGR1ZSB0byBzY2FsZSBjaGFuZ2U8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWlu
IHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CisgICAgICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdl
OiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50
ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNv
bnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiIpCis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4
dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRl
eHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorSU5WSVNJQkxF
CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1l
bnQgYmVjb21pbmcgdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4
dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+
UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgc3RpbGwgZmlyZSBmb3Ig
aW52aXNpYmxlIHRleHQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9z
aXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICAgICAgY29sb3I6IHJnYmEo
MCwgMCwgMCwgMCk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVk
IGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAg
dmlzaWJpbGl0eTogdmlzaWJsZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgor
ICAgIElOVklTSUJMRQorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxl
LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFj
aXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNCBAQAorVGV4dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVl
IHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIAorCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWlu
ZyBUZXN0OiBGQ1AgZHVlIHRvIGFuY2VzdG9yIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAg
ICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAg
dG9wOiAwOworICAgIH0KKworICAgICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAg
fQorCisgICAgLyogY29udGVudGZ1bCBhbmQgaW50ZXJtZWRpYXRlIGNsYXNzZXMgYXJlIGRlZmlu
ZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI2NoaWxkIHsK
KyAgICAgICAgb3BhY2l0eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgI2No
aWxkIHsKKyAgICAgICAgb3BhY2l0eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlh
dGUgeworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwg
eworICAgICAgICBvcGFjaXR5OiAwLjU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWlu
Ij4KKyAgICA8ZGl2IGlkPSJjaGlsZCI+VGV4dDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAg
IHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0
b3IgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBvcGFjaXR5
LXJldmVhbGVkIGVsZW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWlu
ZyBUZXN0OiBGQ1AgZHVlIHRvIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsK
KyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBs
ZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOwor
ICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsK
KyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlz
IGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgewor
ICAgICAgICBvcGFjaXR5OiAwLjE7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48
L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIG9wYWNpdHktcmV2ZWFsZWQgZWxlbWVudC4iKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBw
YWludCBmaXJlcyBkdWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9u
IHdpdGggZG9jdW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFu
c2xhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFu
c2xhdGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10
cmFuc2xhdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
ZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudDwvdGl0bGU+
Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiB0cmFu
c2xhdGUoLTEwMDBweCk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9w
OiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMu
cG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zv
cm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3Jp
cHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHRy
YW5zZm9ybS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4iKQorPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNl
IFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50
PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogLTEwMDBweDsKKyAgICAgICAgcG9z
aXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1h
Z2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRl
bnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4u
Y29udGVudGZ1bCB7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYg
aWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIikKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LWRpc3BsYXktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8g
cHNldWRvLWVsZW1lbnQgdGV4dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC1kaXNwbGF5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LWRpc3BsYXkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtZGlzcGxheS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZD
UCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAg
IGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAv
KiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAg
ICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3Rf
ZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0
ZXh0LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIHBzZXVkby1lbGVtZW50IGltYWdlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LWltYWdlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LWltYWdlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LWltYWdlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDog
RkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21h
aW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsK
KyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNz
IGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6
YWZ0ZXIgeworICAgICAgICBjb250ZW50OiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsK
KyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0
aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAg
IHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxl
bWVudCBpbWFnZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3Bh
Y2l0eS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+
Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRv
LWVsZW1lbnQgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAj
bWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4
OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAg
ICAgICAgY29udGVudDogIlRFWFQiOworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAg
IC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisg
ICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAgIG9wYWNpdHk6IDAuNTsKKyAgICB9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3Rf
ZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBn
ZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVu
dGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4gCisKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQg
VGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5
bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250
ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWlu
LmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAiVEVYVCIKKyAgICB9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIp
Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBw
YWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4gCisKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVs
ZW1lbnQgYmVjb21pbmcgdmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAg
ICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRl
bnQ6ICJURVhUIjsKKyAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOworICAgIH0KKworICAgIC8q
IGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAg
I21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7Cisg
ICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0
ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1l
bnQgYmVjb21pbmcgdmlzaWJsZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atc3ZnLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gU1ZHIGJlY29tZXMgY29udGVudGZ1bC4gCisKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3Zn
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVy
Zm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCB3aXRoIFNWRzwvdGl0bGU+Cis8c3R5bGU+
CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAg
IH0KKworICAgICNjaXJjbGUgeworICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAv
KiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAg
ICNtYWluLmNvbnRlbnRmdWwgI2NpcmNsZSB7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAg
IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMu
anMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgIDxzdmcgdmlld0JveD0iMCAwIDEwIDEw
IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCisgICAgIHhtbG5zOnhsaW5rPSJo
dHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKyAgICA8ZGVmcz4KKyAgICAgIDxjaXJjbGUg
aWQ9Im15Q2lyY2xlIiBjeD0iNSIgY3k9IjUiIHI9IjQiIHN0cm9rZT0iYmx1ZSIvPgorICAgIDwv
ZGVmcz4KKyAgICA8dXNlIGlkPSJjaXJjbGUiIGhyZWY9IiNteUNpcmNsZSIgZmlsbD0iZ3JlZW4i
IC8+CisgIDwvc3ZnPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gU1ZHIGJlY29tZXMgY29udGVudGZ1bC4iKQorPC9zY3Jp
cHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVGV4dCBpbnB1dCBz
aG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBpdHMgdmFsdWUgaXMgbm9uLWVtcHR5IAorCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC10ZXh0LWlucHV0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQt
aW5wdXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVl
IGZvciBub24tZW1wdHkgdGV4dCBpbnB1dDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGlucHV0IGlkPSJpbnB1dCIgdHlw
ZT0idGV4dCIgLz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAg
IGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWlu
dCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9
PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2Vy
dE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2lucHV0Jyk7CisgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVl
JywgJyAgJyk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7Cisg
ICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ3ZhbHVlJyk7CisgICAgICBhd2FpdCBh
c3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAnVGV4dCBpbnB1dCBzaG91bGQgYmVj
b21lIGNvbnRlbnRmdWwgd2hlbiBpdHMgdmFsdWUgaXMgbm9uLWVtcHR5Jyk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8t
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1
ZG8tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhp
Yy1wc2V1ZG8tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorQQor
CitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgb25seSB3aGVuIHNvbWUgb2YgdGhl
IHRleHQgaXMgdmlzaWJsZSwgY29uc2lkZXJpbmcgOjpmaXJzdC1sZXR0ZXIuIAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMy
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRp
bWluZyBUZXN0OiBGQ1Agc2hvdWxkIG5vdCBmaXJlIHdoZW4gYWxsIHRleHQgaXMgaGlkZGVuIGR1
ZSB0byB0eXBvZ3JhcGhpYyBwc2V1ZG8tZWxlbWVudHM8L3RpdGxlPgorPHN0eWxlPgorICAgICNt
YWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7
CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW4gKjo6Zmlyc3QtbGV0
dGVyIHsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNs
YXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRm
dWwgKjo6Zmlyc3QtbGV0dGVyIHsKKyAgICAgICAgb3BhY2l0eTogMTsKKyAgICB9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXY+QTwvZGl2PgorPC9kaXY+Cis8c2NyaXB0Pgor
ICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIG9ubHkgd2hlbiBzb21l
IG9mIHRoZSB0ZXh0IGlzIHZpc2libGUsIGNvbnNpZGVyaW5nIDo6Zmlyc3QtbGV0dGVyLiIpCis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFt
ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVmlkZW8g
c2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gZmlyc3QgZnJhbWUgaXMgbG9hZGVkIAorCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdmlkZW8tZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atdmlk
ZW8tZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
ZHVlIHRvIGxvYWRlZCB2aWRlbyBmcmFtZTwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHZpZGVvIGlkPSJ2aWRlbyIgYXV0
b3BsYXk+PC92aWRlbz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAg
ICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQ
YWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2Uo
ciA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFz
c2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICAgIGNvbnN0IHZpZGVvID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpZGVvJyk7CisgICAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3Ny
YycsICcvbWVkaWEvdGVzdC5tcDQnKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUg
PT4geworICAgICAgICB2aWRlby5vbmNhbnBsYXkgPSByZXNvbHZlOworICAgICAgfSk7CisgICAg
ICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAnVmlkZW8gc2hvdWxk
IGJlY29tZSBjb250ZW50ZnVsIHdoZW4gZmlyc3QgZnJhbWUgaXMgbG9hZGVkJyk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVmlkZW8gc2hv
dWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9zdGVyIGlzIGxvYWRlZCAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12
aWRlby1wb3N0ZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9z
dGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0
byBsb2FkZWQgdmlkZW8gcG9zdGVyPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8dmlkZW8gaWQ9InZpZGVvIiB3aWR0aD0i
NTAiIGhlaWdodD0iNTAiPjwvdmlkZW8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMg
dCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRp
bWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgYXdhaXQgbmV3IFBy
b21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICBhd2Fp
dCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgY29uc3QgdmlkZW8gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgndmlkZW8nKTsKKyAgICBjb25zdCBzcmMgPSAnLi4vcmVzb3Vy
Y2VzL2NpcmNsZXMucG5nJzsKKyAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpOworICAgIGlt
YWdlLnNyYyA9IHNyYzsKKyAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3Bvc3RlcicsIHNyYyk7Cisg
ICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIGltYWdlLm9ubG9hZCA9
IGFzeW5jICgpID0+IHJlc29sdmUoKTsKKyAgICB9KQorICAgIGF3YWl0IGFzc2VydEZpcnN0Q29u
dGVudGZ1bFBhaW50KCk7CisgIH0sICdWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hl
biBwb3N0ZXIgaXMgbG9hZGVkJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NCBAQAorVEVYVAorCitQQVNTIFdoaXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50
ZnVsLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC13aGl0ZXNwYWNlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVz
dDogV2hpdGVzcGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWw8L3RpdGxlPgorPHN0
eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3
aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGJhY2tncm91bmQt
aW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgICAgICBiYWNrZ3JvdW5k
LXNpemU6IDAgMDsKKyAgICB9CisKKyAgICAjdGV4dCB7CisgICAgICAgIGRpc3BsYXk6IG5vbmU7
CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNw
IHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICN0ZXh0eworICAgICAgICBkaXNwbGF5
OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXYgaWQ9
IndoaXRlc3BhY2UiPiAgIDwvZGl2PgorICAgIDxkaXYgaWQ9InRleHQiPlRFWFQ8L2Rpdj4KKzwv
ZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiV2hpdGVzcGFjZSBzaG91bGQgbm90IGNvdW50
IGFzIGNvbnRlbnRmdWwuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13
aXRoLXJ0bC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitURVhU
CisKK1BBU1MgRkNQIHNob3VsZCBmaXJlIHdoZW4gY29vcmRpbmF0ZXMgYXJlIG5lZ2F0aXZlLCBp
ZiB3aXRoaW4gZG9jdW1lbnQgc2Nyb2xsYWJsZSBhcmVhIAorCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
d2l0aC1ydGwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZv
cm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGRpcmVjdGlvbiBjaGFuZ2U8L3Rp
dGxlPgorPHN0eWxlPgorICAjdGV4dCB7CisgICAgcmlnaHQ6IC0xMDBweDsKKyAgICBwb3NpdGlv
bjogYWJzb2x1dGU7CisgIH0KKworICBib2R5IHsKKyAgICBkaXJlY3Rpb246IHJ0bDsKKyAgfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IGRpcmVjdGlvbj0iUlRMIj4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0idGV4dCI+VEVYVDwvZGl2PgorPHNj
cmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRp
dGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBz
dXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRm
dWxQYWludCgpOworICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5kaXJlY3Rpb24gPSAnbHRyJwor
ICAgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ0ZDUCBzaG91
bGQgZmlyZSB3aGVuIGNvb3JkaW5hdGVzIGFyZSBuZWdhdGl2ZSwgaWYgd2l0aGluIGRvY3VtZW50
IHNjcm9sbGFibGUgYXJlYScpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS93M2MtaW1wb3J0
LmxvZwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS93M2MtaW1wb3J0LmxvZwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQzIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBp
bXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVz
dHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMv
d3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKwor
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitO
b25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
YmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0z
ZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxl
LXRyYW5zaXRpb24uaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVz
Y2VuZGFudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3BhY2l0eS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LW92ZXJmbG93Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtdmlzaWJpbGl0eS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVv
LWZyYW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy9jaXJjbGUuc3ZnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMyBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNp
b249IjEuMSI+CisgICA8Y2lyY2xlIGN4PSIxMDAiIGN5PSI1MCIgcj0iNDAiIHN0cm9rZT0iYmxh
Y2siIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgLz4KKzwvc3ZnPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3Vy
Y2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZy
YW1lLXBhaW50aW5nLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBh
aW50aW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8Ym9keT4KKzxkaXYgaWQ9ImltYWdlIj48L2Rpdj4KKzxzY3JpcHQ+CisgIGNvbnN0IGlt
ZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0lNRycpOworICBpbWcuc3JjID0gJ2NpcmNsZXMu
cG5nJzsKKyAgaW1nLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGZ1bmN0aW9uIHNlbmRQYWlu
dEVudHJpZXMoKSB7CisgICAgICBjb25zdCBwYWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlUeXBlKCdwYWludCcpOworICAgICAgaWYgKHBhaW50RW50cmllcy5sZW5ndGggPCAy
KSB7CisgICAgICAgIHNldFRpbWVvdXQoc2VuZFBhaW50RW50cmllcywgMjApOworICAgICAgICBy
ZXR1cm47CisgICAgICB9CisgICAgICBsZXQgZW50cnlDb250ZW50cyA9IHBhaW50RW50cmllcy5s
ZW5ndGggKyAnJzsKKyAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFpbnRFbnRyaWVzLmxlbmd0
aDsgaSsrKSB7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAgICAg
ICBlbnRyeUNvbnRlbnRzICs9ICcgJyArIGVudHJ5LmVudHJ5VHlwZSArICcgJyAgKyBlbnRyeS5u
YW1lOworICAgICAgfQorICAgICAgcGFyZW50LnBvc3RNZXNzYWdlKGVudHJ5Q29udGVudHMsICcq
Jyk7CisgICAgfTsKKyAgICBzZW5kUGFpbnRFbnRyaWVzKCk7CisgIH07CisgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdpbWFnZScpLmFwcGVuZENoaWxkKGltZyk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdD4KKyAg
c2VsZi5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZSkgeworICAgIC8vIFNl
bmQgcGFpbnQtdGltaW5nIGVudHJpZXMgdXBvbiByZWNlaXZpbmcgYSBtZXNzYWdlLgorICAgIGNv
bnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3BhaW50Jyk7
CisgICAgbGV0IGVudHJ5Q29udGVudHMgPSBwYWludEVudHJpZXMubGVuZ3RoICsgJyc7CisgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgIGNv
bnN0IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAgICAgZW50cnlDb250ZW50cyArPSAnICcg
KyBlbnRyeS5lbnRyeVR5cGUgKyAnICcgICsgZW50cnkubmFtZTsKKyAgICB9CisgICAgcGFyZW50
LnBvc3RNZXNzYWdlKGVudHJ5Q29udGVudHMsICcqJyk7CisgIH0pOworPC9zY3JpcHQ+CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXMvdXRpbHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDU2IEBACisvLyBOdW1iZXIgbWlsbGlzZWNvbmRzIHRvIHdhaXQgZm9yIENTUyByZXNvdXJj
ZXMgdG8gbG9hZC4KK2NvbnN0IG51bU1pbGxpc2Vjb25kc1dhaXQgPSA1MDsKKworLy8gV2UgdXNl
IHJlcXVlc3RBbmltYXRpb25GcmFtZSgpIGNhbGxzIHRvIGZvcmNlIHRoZSB1c2VyIGFnZW50IHRv
IHBhaW50IGFuZCBnaXZlIGVub3VnaAorLy8gdGltZSBmb3IgRkNQIHRvIHNob3cgdXAgaW4gdGhl
IHBlcmZvcm1hbmNlIHRpbWVsaW5lLiBIZW5jZSwgc2V0IHxudW1GcmFtZXNXYWl0aW5nfCB0bwor
Ly8gMyBhbmQgdXNlIHRoYXQgY29uc3RhbnQgd2hlbmV2ZXIgdGhlIHRlc3QgbmVlZHMgdG8gd2Fp
dCBmb3IgdGhlIG5leHQgcGFpbnQgdG8gb2NjdXIuCitjb25zdCBudW1GcmFtZXNXYWl0aW5nID0g
MzsKKworZnVuY3Rpb24gd2FpdFRpbWUodCkgeworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2
ZSA9PiB0LnN0ZXBfdGltZW91dChyZXNvbHZlLCBudW1NaWxsaXNlY29uZHNXYWl0KSk7Cit9CisK
K2Z1bmN0aW9uIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoY291bnQpIHsKKyAgcmV0dXJuIG5ldyBQ
cm9taXNlKHJlc29sdmUgPT4geworICAgIGlmIChjb3VudC0tIDw9IDApIHsKKyAgICAgIHJlc29s
dmUoKTsKKyAgICB9IGVsc2UgeworICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsK
KyAgICAgICAgd2FpdEZvckFuaW1hdGlvbkZyYW1lcyhjb3VudCkudGhlbihyZXNvbHZlKTsKKyAg
ICAgIH0pOworICAgIH0KKyAgfSk7Cit9CisKKy8vIEFzc2VydHMgdGhhdCB0aGVyZSBpcyBjdXJy
ZW50bHkgbm8gRkNQIHJlcG9ydGVkLCBldmVuIGFmdGVyIHNvbWUgd2FpdC4KK2FzeW5jIGZ1bmN0
aW9uIGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCkgeworICBpZiAodCkKKyAgICBhd2Fp
dCB3YWl0VGltZSh0KTsKKworICBhd2FpdCB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKG51bUZyYW1l
c1dhaXRpbmcpOworICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUo
J2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5ndGgsIDAsICdGaXJzdCBjb250ZW50ZnVsIHBh
aW50IG1hcmtlZCB0b28gZWFybHkuICcpOworfQorCisvLyBBc3NlcnRzIHRoYXQgRkNQIGlzIHJl
cG9ydGVkLCBwb3NzaWJseSBhZnRlciBzb21lIHdhaXQuIFRoZSB3YWl0IGlzIG5lZWRlZAorLy8g
YmVjYXVzZSBzb21ldGltZXMgdGhlIEZDUCByZWxpZXMgb24gc29tZSBDU1MgcmVzb3VyY2VzIHRv
IGZpbmlzaCBsb2FkaW5nLgorYXN5bmMgZnVuY3Rpb24gYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFp
bnQodCkgeworICBpZiAodCkKKyAgICBhd2FpdCB3YWl0VGltZSh0KTsKKyAgYXdhaXQgd2FpdEZv
ckFuaW1hdGlvbkZyYW1lcyhudW1GcmFtZXNXYWl0aW5nKTsKKyAgYXNzZXJ0X2VxdWFscyhwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3Ro
LCAxLCAnRXhwZWN0ZWQgZmlyc3QgY29udGVudGZ1bCBwYWludCBub3QgZm91bmQuICcpOworfQor
CitmdW5jdGlvbiB0ZXN0X2ZjcChsYWJlbCkgeworICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CisgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUp
OworICByZXR1cm4gcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGFzc2VydF9wcmVjb25k
aXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qg
c3VwcG9ydGVkLiIpOworICAgIGNvbnN0IG1haW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
bWFpbicpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoJ2xvYWQnLCByKSk7CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgp
OworICAgIG1haW4uY2xhc3NOYW1lID0gJ3ByZUZDUCc7CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJz
dENvbnRlbnRmdWxQYWludCgpOworICAgIG1haW4uY2xhc3NOYW1lID0gJ2NvbnRlbnRmdWwnOwor
ICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sIGxhYmVsKTsKK30K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMv
dzNjLWltcG9ydC5sb2cJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjEgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0
Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhp
cyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZworL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50
aW5nLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNl
cy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1p
bmctYXBpcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorQmFz
aWMgSW50ZXJmYWNlIHRlc3QgZm9yIHBhaW50LXRpbWluZyBBUElzLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUGVyZm9ybWFuY2VQYWludFRpbWluZworUEFTUyBQZXJmb3JtYW5j
ZVBhaW50VGltaW5nIGlzIGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcucHJv
dG90eXBlLnRvSlNPTiBpcyBkZWZpbmVkLgorUEFTUyBuZXcgUGVyZm9ybWFuY2VQYWludFRpbWlu
ZygpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVj
dG9yIChldmFsdWF0aW5nICduZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygpJykuCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1h
cGlzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIEhUTUw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcGFp
bnQtdGltaW5nLWFwaS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFt
ZXMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9wYWludC10aW1pbmctZnJhbWVzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDIwIEBACitQYWludCBBUEkgc2hvdWxkIGJlIGF2YWlsYWJsZSBmb3Igc2FtZS1vcmln
aW4gZnJhbWVzIGJ1dCBub3QgdG8gY3Jvc3Mtb3JpZ2luL3NhbmRib3hlZCBmcmFtZXMuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHJlY2VpdmVkRXZlbnQuc291cmNlIGlz
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKS5jb250ZW50V2luZG93CitQ
QVNTIHJlY2VpdmVkRW50cnkubmFtZSBpcyAnZmlyc3QtY29udGVudGZ1bC1wYWludCcKK1BBU1Mg
ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1lIGlzIGZhbHNlCitQQVNTIEFycmF5
LmlzQXJyYXkobm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzKSBpcyB0cnVlCitQQVNTIEFycmF5Lmlz
QXJyYXkoc2FuZGJveFN1cHBvcnRlZFR5cGVzKSBpcyB0cnVlCitQQVNTIGRpZFJlY2VpdmVNZXNz
YWdlIGlzIHRydWUKK1BBU1Mgbm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWlu
dCIpIGlzIHRydWUKK1BBU1Mgc2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIp
IGlzIGZhbHNlCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWlu
dCBjYWxsYmFjayB3YXMgZmlyZWQgZm9yIHNhbWUtb3JpZ2luIGZyYW1lIGJ1dCBub3QgZm9yIGNy
b3NzLW9yaWdpbiBmcmFtZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKKworVEVYVApJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Bh
aW50LXRpbWluZy1mcmFtZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKyAgICA8aWZyYW1lIHdpZHRo
PSIxMDAiIGhlaWdodD0iMTAwIiBpZD0ibm9uU2FuZGJveGVkIiBzcmM9Ii4vcmVzb3VyY2VzL2Zj
cC1zdWJmcmFtZS5odG1sIj48L2lmcmFtZT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+Cis8
aWZyYW1lIGlkPSJzYW5kYm94ZWQiIHNyYz0iLi9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwi
IHNhbmRib3g9ImFsbG93LXNjcmlwdHMiPjwvaWZyYW1lPgorPGRpdiBjbGFzcz0ic3BhY2VyIj48
L2Rpdj4KKworICAgIFRFWFQKKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJQYWludCBBUEkgc2hv
dWxkIGJlIGF2YWlsYWJsZSBmb3Igc2FtZS1vcmlnaW4gZnJhbWVzIGJ1dCBub3QgdG8gY3Jvc3Mt
b3JpZ2luL3NhbmRib3hlZCBmcmFtZXMuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
Cit3aW5kb3cuZGlkUmVjZWl2ZU1lc3NhZ2UgPSBmYWxzZTsKKword2luZG93Lm9ubG9hZCA9IGFz
eW5jICgpID0+IHsKKyAgICBjb25zdCBzYW5kYm94ZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnc2FuZGJveGVkJyk7CisgICAgY29uc3Qgbm9uU2FuZGJveGVkID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ25vblNhbmRib3hlZCcpOworICAgIGNvbnN0IGZjcE1lc3NhZ2VQcm9taXNlID0g
bmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBldmVu
dCA9PiB7CisgICAgICAgICAgICB3aW5kb3cucmVjZWl2ZWRFdmVudCA9IGV2ZW50OworICAgICAg
ICAgICAgY29uc3QgaXNGcm9tU2FuZGJveGVkID0gZXZlbnQuc291cmNlID09PSBzYW5kYm94ZWQu
Y29udGVudFdpbmRvdzsKKyAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBKU09OLnBhcnNlKGV2
ZW50LmRhdGEpOworICAgICAgICAgICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHsKKyAgICAgICAg
ICAgICAgICBjYXNlICdzdXBwb3J0ZWQnOgorICAgICAgICAgICAgICAgICAgICBpZiAoaXNGcm9t
U2FuZGJveGVkKQorICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LnNhbmRib3hTdXBwb3J0
ZWRUeXBlcyA9IG1lc3NhZ2Uuc3VwcG9ydGVkOworICAgICAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cubm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzID0g
bWVzc2FnZS5zdXBwb3J0ZWQ7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgICAgIGNhc2UgJ3JlY2VpdmVkJzoKKyAgICAgICAgICAgICAgICAgICAgd2luZG93LmRpZFJl
Y2VpdmVNZXNzYWdlRnJvbVNhbmRib3hlZElmcmFtZSA9IGlzRnJvbVNhbmRib3hlZDsKKyAgICAg
ICAgICAgICAgICAgICAgd2luZG93LnJlY2VpdmVkRW50cnkgPSBtZXNzYWdlLmVudHJ5OworICAg
ICAgICAgICAgICAgICAgICBkaWRSZWNlaXZlTWVzc2FnZSA9IHRydWU7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCdyZWNlaXZlZEV2ZW50LnNvdXJjZScsICJkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnbm9uU2FuZGJveGVkJykuY29udGVudFdpbmRvdyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgncmVjZWl2ZWRFbnRyeS5uYW1lJywgIidmaXJzdC1jb250ZW50ZnVsLXBh
aW50JyIpOworICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9OworICAgIH0pOworCisgICAgc2Fu
ZGJveGVkLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoInBhaW50IiwgIioiKTsKKyAgICBhd2Fp
dCB3YWl0Rm9yRkNQKCk7CisgICAgbm9uU2FuZGJveGVkLmNvbnRlbnRXaW5kb3cucG9zdE1lc3Nh
Z2UoInBhaW50IiwgIioiKTsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgYXdhaXQgZmNw
TWVzc2FnZVByb21pc2U7CisgICAgc2hvdWxkQmVGYWxzZSgnZGlkUmVjZWl2ZU1lc3NhZ2VGcm9t
U2FuZGJveGVkSWZyYW1lJyk7CisgICAgc2hvdWxkQmVUcnVlKCdBcnJheS5pc0FycmF5KG5vblNh
bmRib3hTdXBwb3J0ZWRUeXBlcyknKTsKKyAgICBzaG91bGRCZVRydWUoJ0FycmF5LmlzQXJyYXko
c2FuZGJveFN1cHBvcnRlZFR5cGVzKScpOworICAgIHNob3VsZEJlVHJ1ZSgnZGlkUmVjZWl2ZU1l
c3NhZ2UnKTsKKyAgICBzaG91bGRCZVRydWUoJ25vblNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNs
dWRlcygicGFpbnQiKScpOworICAgIHNob3VsZEJlRmFsc2UoJ3NhbmRib3hTdXBwb3J0ZWRUeXBl
cy5pbmNsdWRlcygicGFpbnQiKScpOworICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2
ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXMgZmlyZWQgZm9yIHNhbWUtb3Jp
Z2luIGZyYW1lIGJ1dCBub3QgZm9yIGNyb3NzLW9yaWdpbiBmcmFtZSIpOworICAgIGZpbmlzaEpT
VGVzdCgpOworfTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXItZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmct
d2l0aC13b3JrZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXItZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKK1BhaW50IEFQSSBzaG91bGQgbm90IGJlIGF2YWls
YWJsZSBpbiB3b3JrZXIgY29udGV4dHMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygi
cGFpbnQiKSBpcyB0cnVlCitQQVNTIHdvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMo
InBhaW50IikgaXMgZmFsc2UKK1BBU1Mgd29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRl
cygibWFyayIpIGlzIHRydWUKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRy
eVR5cGVzIGRpZCBub3QgaW5jbHVkZSAncGFpbnQnIGZvciB3b3JrZXJzCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQt
dGltaW5nLXdpdGgtd29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAor
PCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcGFp
bnQtYXBpLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCJQYWludCBBUEkgc2hvdWxkIG5vdCBiZSBhdmFpbGFibGUgaW4gd29ya2VyIGNv
bnRleHRzLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworY29uc3Qgd29ya2VyID0g
bmV3IFdvcmtlcigiLi9yZXNvdXJjZXMvd29ya2VyLmh0bWwiKTsKK3dvcmtlci5vbm1lc3NhZ2Ug
PSBldmVudCA9PiB7CisgICAgd2luZG93LndvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMgPSBKU09O
LnBhcnNlKGV2ZW50LmRhdGEpOworICAgIHNob3VsZEJlVHJ1ZSgnUGVyZm9ybWFuY2VPYnNlcnZl
ci5zdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVG
YWxzZSgnd29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKScpOworICAg
IHNob3VsZEJlVHJ1ZSgnd29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygibWFyayIp
Jyk7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5
cGVzIGRpZCBub3QgaW5jbHVkZSAncGFpbnQnIGZvciB3b3JrZXJzIik7CisgICAgZmluaXNoSlNU
ZXN0KCk7Cit9OworCit3b3JrZXIucG9zdE1lc3NhZ2UoInN0YXJ0Iik7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1h
bmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1m
aXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVu
dGZ1bC1wYWludC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAor
UEFTUyBkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQgaXMgdHJ1ZQorUEFTUyBwZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzKCkubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZv
cm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiLCAicGFpbnQi
KS5sZW5ndGggaXMgMQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIp
Lmxlbmd0aCBpcyAxCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1w
YWludCBjYWxsYmFjayB3YXNuJ3QgZmlyZWQgYWdhaW4gCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK1RFWFQyCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5j
ZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNv
bnRlbnRmdWwtcGFpbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACis8IURP
Q1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1h
cGktdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oIkVuc3VyZSBQZXJmb3JtYW5jZU9ic2VydmVycyBhcmUgbm90aWZpZWQgb25jZSBmb3Ig
Zmlyc3QtY29udGVudGZ1bC1wYWludC4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KyAKKyhhc3luYyAoKSA9PiB7CisgICAgd2luZG93LmRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQ
YWludCA9IGZhbHNlOworICAgIHdpbmRvdy5zdGFydFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKTsK
KyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB7CisgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZW50
cnlMaXN0ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5lbnRyeUxpc3QgPSBlbnRyeUxpc3Q7Cisg
ICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0LmdldEVudHJpZXMoKS5sZW5ndGgnLCAiMSIp
OworICAgICAgICAgICAgc2hvdWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJmaXJz
dC1jb250ZW50ZnVsLXBhaW50IikubGVuZ3RoJywgMSk7CisgICAgICAgICAgICBzaG91bGRCZSgn
ZW50cnlMaXN0LmdldEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICAg
ICAgICAgIHdpbmRvdy5mY3BFbnRyeSA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzKClbMF07CisgICAg
ICAgICAgICBzaG91bGRCZUZhbHNlKCdkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQnKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5uYW1lJywgJyJmaXJzdC1jb250ZW50ZnVs
LXBhaW50IicpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5LmVudHJ5VHlwZScsICci
cGFpbnQiJyk7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoJ2ZjcEVudHJ5LnN0YXJ0VGltZSA+
IHdpbmRvdy5zdGFydFRpbWUnKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgnZmNwRW50cnku
c3RhcnRUaW1lIDwgcGVyZm9ybWFuY2Uubm93KCknKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdm
Y3BFbnRyeS5kdXJhdGlvbicsICIwIik7CisgICAgICAgICAgICBkaWRSZWNlaXZlRmlyc3RDb250
ZW50ZnVsUGFpbnQgPSB0cnVlOworICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9KTsK
KworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbJ3BhaW50J119KTsKKyAg
ICAgICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAnVEVYVCc7CisgICAgfSkKKyAgICBkb2N1
bWVudC5ib2R5LmlubmVyVGV4dCA9ICdURVhUMic7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOwor
ICAgIHNob3VsZEJlVHJ1ZSgnZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50Jyk7CisgICAg
c2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXMoKS5sZW5ndGgnLCAiMSIpOworICAgIHNo
b3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBh
aW50IikubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIsICJwYWludCIpLmxlbmd0aCcsICIxIik7
CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInBhaW50IikubGVu
Z3RoJywgIjEiKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNv
bnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2Fzbid0IGZpcmVkIGFnYWluICIpOworICAgIGZpbmlz
aEpTVGVzdCgpOworfSkoKTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3Vi
ZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAg
QEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgY29uc3Qg
b2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+IHsKKyAgICAgICAgbGlz
dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChlbnRyeSA9PiB7CisgICAgICAgICAgICB3aW5kb3cucGFy
ZW50LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHt0eXBlOiAncmVjZWl2ZWQnLCBlbnRyeX0p
LCAnKicpOworICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIG9ic2VydmVyLm9ic2VydmUoe2Vu
dHJ5VHlwZXM6IFsicGFpbnQiXX0pOworICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBlID0+IHsKKyAg
ICAgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7c3VwcG9ydGVk
OiBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMsIHR5cGU6ICdzdXBwb3J0
ZWQnfSksICcqJyk7CisgICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gIlRFWFQiOwor
ICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3Bh
aW50LWFwaS11dGlscy5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDUgQEAKK2FzeW5jIGZ1bmN0aW9uIHdhaXRGb3JGQ1AoKQoreworICAgIGF3YWl0IG5ldyBQ
cm9taXNlKHJlc29sdmUgPT4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHJlc29sdmUoKSkp
OworICAgIHJldHVybiB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3Qt
Y29udGVudGZ1bC1wYWludCcpLmxlbmd0aCA9PSAxOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQt
dGltaW5nLWFwaS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKK2lmIChzZWxmLmltcG9ydFNjcmlwdHMpCisgICAgaW1w
b3J0U2NyaXB0cygiLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIik7CisKK2lmIChzZWxm
LndpbmRvdykKKyAgICBkZXNjcmlwdGlvbigiQmFzaWMgSW50ZXJmYWNlIHRlc3QgZm9yIHBhaW50
LXRpbWluZyBBUElzLiIpOworCitkZWJ1ZygiUGVyZm9ybWFuY2VQYWludFRpbWluZyIpOworc2hv
dWxkQmVEZWZpbmVkKCJQZXJmb3JtYW5jZVBhaW50VGltaW5nIik7CitzaG91bGRCZURlZmluZWQo
YFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcucHJvdG90eXBlLnRvSlNPTmApOworc2hvdWxkVGhyb3co
YG5ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKClgKTsKKworaWYgKHNlbGYuaW1wb3J0U2NyaXB0
cykKKyAgICBmaW5pc2hKU1Rlc3QoKTsKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFw
aS9yZXNvdXJjZXMvd29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMyBAQAorc2VsZi5vbm1lc3NhZ2UgPSAoKSA9PiB7CisgICAgc2VsZi5wb3N0
TWVzc2FnZShKU09OLnN0cmluZ2lmeShQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5
VHlwZXMpKTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMv
Y2lyY2xlcy5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBi
aW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUK
IyMgLTAsMCArMSAjIworaW1hZ2UvcG5nClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
CmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDUUFBQUJJQ0FZQUFBQ2VObGU1QUFBQzdtbERRMUJK
UTBNZ1VISnZabWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0a0NKSldhdG9SZFEy
L1JGaWF3emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytBSG5yd1pDOUtoVnBG
S042cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FCT1FOeDFLaUVXbHNm
RUpxCi9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0ho
UDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVlTUcxRHlzOXhGa2lm
RUExTGM1L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpFTDFQa0thN3pPNnJZ
cUdjVHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBPYkVoajBjR0RYMCtH
QVZ0eHFwCitEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpXa2hQMTB4dStM
cUhCWDBtMXhPdjRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURVaFFFRVVFWVppd1VF
Q0dQQm94TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6KwpLQ0p4bEVPMUNK
TDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhqamMwMWVmSlhVZHBO
WFI1YXNlWHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1YalZmUHFTNFIxV2pF
MzM1OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZsUFh2WHgvR2ZOeEdQ
aUtURW1kb3JuSVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZnWUpxOAo5UzlkUDF0
NHZVWi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJdmJPREltYnB0
VTNIdkVLRmxwVzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhndkFFY2RvZDZIdWdw
bU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xwZHRpWjB4MXVIS0U1
UXZmRXAwcGxrL3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFlSXVKQUFBQQpDWEJJ
V1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFHWjBsRVFWUm9CZTJhVVc5VlJSREhkNjh0RVZKTFcyS0N4
Q1kraWdRRG9Za0tmZ0o4CjlNa25FdkVkdm9DbWtTK0E3MnBDUXNLVGovSUpCQ1NCMU5Tb1BKcVUx
Q2FrZ05pQWFlTmRmLytaT1QyMzU5N1NGdTdsNlV5eTUrek8KMloyWm5aM2RuWmw3YzVyUEplMEtT
c3BwaHA3N1UwbVBxRC9kSEZVUnlKdVlSSjhEOUprRzg0ejZROTY5WDNzNk5xcGpqWGFqS1NMZApF
R1FmOVJXSU8rbVN6c0wxQksxWnlpR0toRmpsdVVTSFh4aHpuZlpURXlPbncrRFhRN0NPOWVReEVK
NGprRmlQUVZERWxtMXdLWi95ClBwZEtPYzNiaGJBUHpRZERUYmg4ay9lVmxQTVAxaU9uSTdRZlVO
K2dETlpZN2w4eTEwcEtrd3daWnlDekxtY1I0bXZhcDR4d1NiOUMKN3lidGhWVHlIN3ovRHZ6QmxN
dFJtSjVrekdud3h3Ti9GNkcrWXN4MTJvZjRMb0dlVVBxMTFSQ29YaUt0dTFxbGZNZmpjMm9zWGI2
RwpBSmZCMzZFTm1tSjlyRlhYaFJPVU5JZUFGNkh4R1MyWTUrK2hjVDdHemZDV2JXMFZxaUZRWmJn
UGJWRHEvc3lBRHlnM0dQY0Y3M3NtClFMSmxGQ0hOVkxiUjVTMkJoSk90U2JQQ3VjMmw5QzdOYjJt
Zm9keUcxb2RCcHhLcW1vS01aQk0wMzBtS3BBYTZ2L000Q3BkdktCZUQKd0N6TXRUd3I2Z0hVaE5R
U0JZZXFwbVUvQ09wZUtwMlA2WENaY3NGcGQ5NERMMTdpcWVWeldwcFNOTVpCalJ2UmdtYXlDYU4x
bHpCdgowMmVLYit5Z3RCYjl0d29Ec2dmMFRXVXR4a3c1RFdnbGJFbTB4Y09YWE5wVTJTS1F0dmFi
SUZkWmMyeUdaU3FtbVV2ZzMySGdYNVRICk1haWFQYzBkd1ZscXJHaUlWc3FYbkRZOG5CYzhqWGUx
N1BPNStBR0czYkNiVXZtUkRqZE14ZEtNQ0xrOTdNaDlGeDA2MEg0TG12ZFQKN3Y3RUc1dktuMkRv
Mm4yeXAwZXlRczFDaGdpd3RZMjVHYkFRV3A3L1ZCa1NpSlpvQXNZRHJSaFBJU1JEU1IyL0R0Z05k
dWlkOHExdAp1MGtHWEMyVEJnd0RzdEhNbk81RlBEaEdFbWViODE1QmV6UFNrTzRtd1RsN0pzNFpn
ZSttc0huL01xUm5KMmhETG5qWjZXL1U5NmVPClg1UjhzNU4xRWZRZEpOVjFvYTNvb2xyZm9UMUU4
MG53RUsvRjRDMXUySkJ1YlYyVVJVZDZ2aFZzUjZHWjVveWNoM2dhYjJTUUxJRTkKRWIyNW02eW1F
OWpQaFNhWjRiUkZleU40TFRoSjh4ejhJZ0V4NjBpN0tGVmQ5L1pJbitzK1pYZzZ1QXhqcmhGM0pY
UnJlOXNQcVZISwpVOTkvRlU5NUFac2FHaVhydmRIR3FBWHk5R1RsK0RPOC9kWTIxTWdlNGlGZTR1
bWdLMlJUUTdvMEFYT3VWSW1UVzlXUndUNDNEM2c2CnVBeSt5L0NCSFU2YWxINzd1alhGaHlHL1JG
dmVoUUR2VWhBeVlOU0tEblM1eVZYRlY3WmVvemZxNnNMV2dld21vNkRnZ0E3R2FWTmQKTVlkY1B2
QWNiVGxnY3B4OERsU0dDS0k1R1R6RTZ6Z0hzb0lCY1p2V3dmZ3MyRjV4cHZqQUF2ZjBScUVwK1Y1
aHlNRXJLVEl4cnBKbApIZ0h0N3VMRzc4cDV4NDQ2eDVCWS9yTzh4TWNtbnZWLzZZZDhkcWVaOGJO
TDl6Y29Mc0J2anZkaGVLMUlRNUl0VG1hRktrS1pRMDQxClRWQmVVMlZJSUZxaUNSZ1BzUmRQZ1dT
SUE4ZkRrU1BtdVdWQ0ZmUGtjTWpOczdOcmhZRzBYaHcwVnVlTy9LRDdrQkx0TS9CVFdLUU4KcFFE
U2c0dUlPdVNqUEdDQWJ2enpERGlHUzNBQjNDcHQrZFZ5OHVXd2EvbjJJcHkwTDV1WjRqM0IrRCto
L1dYUXZtMjhqS2RGczA0MwpCTklNZFB0dU1CZ2diaW9LZzh5OWxKQWVCdmtNRlFiSlZ4SzRLWHE5
OTFscDh3MTZ5SUNYZkRJUkJwVkV0QXNQZ1VleHRYY1JBdW1UCmlJdlJEQVgxS1c1U29LZzRxckE5
WHpoUUZNMytRQkVrRUx4NkppWTk5WUNXVG11cGpvaW9XYkRPRm5HeUkzSzV5bmZ0Q0oxVHk5U1YK
T0pERy9vbWltMXU0WlFxNzFrTHBxMHhNdTBrUkJqWVRtdkVvUTd5MmlzQzJiK2FIZk4xMWVHMmZi
RmlFK0MyK1B5L1o4QkhmMzRlaApsdVV1eHN0dTJudXl3Y2JIUTNhZyswWUJwR1lNNFVqSDJCWHp2
SFNNOWVZcTRnUzJReS9TTWI2YjlweU9NV3J4Y0cxNXFDUVBRTXNBCkg0cjg4SXpiV2V4WWNBZlBJ
bDhaTUJlbEo2eThyeWNuZHBld0dyQmtJVXZmcThxTXZJNFFpaHAwREF3R0YzaUNQcE4wK0pkK3No
VmgKZDRhdEZyVnovNUgzNk5uMmczaTk3Skt0bVY1ZVdZNXgwSklaamtlYlk5UUNTeHR1d0w3Y1Zi
MHkzemJIMk56S3RVMVZ0VGJINkxhegovZE90VEg1VW0yUGNYa3U5WDlvY1k2ODJ0cXUzT2NidE5O
UEV1NlBSNWhpYmVxbmJiWTZ4MXNWZWFtMk9zZFpXbTJPc2RURzQxalYwCm0yUHMxMDZiWSt6WFNZ
MXBjNHkxTHJ4V2hlSnRqakhPRkV2UEtZL1UrMmVVTnNkSWluZmdINXJhSEdQL24rTDhkNjhsUXY1
WG1tUFUKWHpORzk3ZkIvd0ZaYmcwNUVFTnVOd0FBQUFCSlJVNUVya0pnZ2c9PQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394909</attachid>
            <date>2020-03-30 05:49:06 -0700</date>
            <delta_ts>2020-03-30 06:25:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200330154902.patch</filename>
            <type>text/plain</type>
            <size>136806</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDExMiBAQAorMjAyMC0wMy0yMyAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BhaW50LXRpbWluZy8jZmlyc3QtY29udGVudGZ1bC1wYWludC4KKyAgICAgICAgQ3VycmVu
dGx5IG11dHVhbGx5IGV4Y2x1c2l2ZSB0byB2aXN1YWxseS1ub24tZW1wdHkgaGV1cmlzdGljcy4K
KworICAgICAgICBXaGVuIHRoZSBmcmFtZSBwYWludHMgb3IgZmx1c2hlcyB0aGUgY29tcG9zaXRp
bmcgc3RhdGUsIGl0IG1hcmtzIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgYXMgYSBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IHBlcmZvcm1hbmNlIGVudHJ5LgorCisgICAgICAgIFRlc3RzOiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
dmlzaWJpbGl0eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10ZXh0LWlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdpdGgtcnRsLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9maXJz
dC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5j
ZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sCisgICAgICAgICAg
ICAgICBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAorICAgICAgICAgICAg
ICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBT
b3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRU
aW1pbmcuaDogCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDoKKyAg
ICAgICAgICAgICAgICBBZGQgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNlLgor
CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFibGVk
IGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgUGFpbnRUaW1pbmdFbmFibGVkIHJ1bnRpbWUg
ZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJp
bmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNQYWludCBjb25zdCk6CisgICAgICAgICAgICAgICAgQWRk
IGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIHBhaW50IGVudHJpZXMuCisKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6CisgICAgICAgICAgICAgICAgQWRk
ICJwYWludCIgdG8gc3VwcG9ydGVkRW50cnlUeXBlcyB3aGVuIGluIGVsaWdpYmxlIGJyb3dzaW5n
IGNvbnRleHQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aXNDb250ZW50ZnVsIGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRWxlbWVudDo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVySFRNTENhbnZhczo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6Omhhc093blBhaW50YWJs
ZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck9iamVjdDo6Y29udGFpbnNQYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVmlkZW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlkZW86Omhh
c093blBhaW50YWJsZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJW
aWRlby5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSBjb25zdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aGFz
UGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R01vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR01vZGVsT2JqZWN0
OjpoYXNPd25QYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR01vZGVsT2JqZWN0Lmg6CisgICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciBj
b21wdXRpbmcgd2hldGhlciBlbGVtZW50cyBhcmUgY29udGVudGZ1bCAmIHBhaW50YWJsZS4KKwor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CitgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JU
aGlzRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzdXBwb3J0c1BhaW50VGlt
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bWFya1BhaW50VGltaW5nSWZOZWVk
ZWQpOgorICAgICAgICAgICAgICAgIE1hcmsgZmlyc3QtY29udGVudGZ1bC1wYWludCBvbmNlIHdo
ZW4gY29tcG9zaXRpbmcvcGFpbnRpbmcuCisKIDIwMjAtMDMtMzAgIEFudG9pbmUgUXVpbnQgIDxn
cmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBNYXJrIFBvaW50ZXIgRXZlbnRzIGFuZCBXZWIg
QW5pbWF0aW9ucyBmZWF0dXJlcyBhcyBjb21wbGV0ZWQgaW4gaHR0cHM6Ly93ZWJraXQub3JnL3N0
YXR1cy8KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOTM2LDYgKzkzNiw3
IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyQ2FsbGJhY2suaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbAorICAgIHBhZ2UvUGVyZm9y
bWFuY2VQYWludFRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZv
cm1hbmNlVGltaW5nLmlkbApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZp
c2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3Jr
aW5nIGNvcHkpCkBAIC05MjYsNiArOTI2LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQo
V2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCBcCisgICAgJChXZWJDb3JlKS9wYWdl
L1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5j
ZVNlcnZlclRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVRpbWlu
Zy5pZGwgXApJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMTk4LDYgKzMxOTgsNyBAQCBK
U1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKIEpT
UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmNwcAogSlNQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0LmNwcAorSlNQZXJmb3JtYW5jZVBhaW50VGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5jcHAKIEpTUGVyZm9y
bWFuY2VUaW1pbmcuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEz
ODAzLDYgKzEzODAzLDggQEAKIAkJQ0EwOTFEODYyM0NGOTA3ODAwQUQ0MzQ2IC8qIFN0eWxlSW1h
Z2VTZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVJbWFnZVNldC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBMDkxRDg5MjNDRjkwODgwMEFENDM0NiAvKiBTdHlsZUlt
YWdlU2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxlSW1hZ2VTZXQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0ExNjM1REMyMDcyRTc2OTAwRTdEMkNFIC8qIFJlZmVycmVyUG9saWN5
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZmVycmVyUG9saWN5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEy
NDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNEODI0
MDdFRENGMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBM0JGNjdCMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxBbmltYXRvci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1
MyAvKiBTY3JvbGxBbmltYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
Y3JvbGxBbmltYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTUyQkFFNTIz
RDBBRjE2MDBERTBCODQgLyogU3R5bGVDdXJzb3JJbWFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTdHlsZUN1cnNvckltYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIw
OTQ5LDYgKzIwOTUxLDggQEAKIAkJCQlBNUE5OTMzQTFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgKi8sCiAJCQkJQTVBOTkzM0IxRTM3RkFGRDAwNUI1
RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCAqLywKIAkJCQlBNUE5OTMzQzFF
MzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwgKi8sCisJ
CQkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCAq
LywKKwkJCQlDQTE5MzNEODI0MDdFRENGMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWlu
Zy5pZGwgKi8sCiAJCQkJODY1MTJFREIxNTRBMkFFRTAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuY3BwICovLAogCQkJCTg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8sCiAJCQkJODY1MTJFREQxNTRBMkFFRjAwQTkwNDI2
IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsICovLApJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3Bw
CShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZv
cm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSwxMSBAQAog
I2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgi
CiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1h
bmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1l
YXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcg
bmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+
JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkK
KyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNiArMTc5LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3VyZSkgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWluZykgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVNlcnZl
clRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXApJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw2ICs3MSw3IEBACiAjaW5jbHVkZSAi
T3ZlcmZsb3dFdmVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlT3Zlcmxh
eUNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgogI2luY2x1ZGUgIlByb2dy
ZXNzVHJhY2tlci5oIgogI2luY2x1ZGUgIlJlbmRlckVtYmVkZGVkT2JqZWN0LmgiCiAjaW5jbHVk
ZSAiUmVuZGVyRnVsbFNjcmVlbi5oIgpAQCAtOTgxLDYgKzk4Miw3IEBAIGJvb2wgRnJhbWVWaWV3
OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3IKICNlbmRpZgogCiAgICAgcmVuZGVyVmlldy0+Y29t
cG9zaXRvcigpLmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygmcm9vdEZyYW1lRm9yRmx1c2ggPT0g
bV9mcmFtZS5wdHIoKSk7CisgICAgbWFya1BhaW50VGltaW5nSWZOZWVkZWQoKTsKIAogICAgIHJl
dHVybiB0cnVlOwogfQpAQCAtNDE5MSw2ICs0MTkzLDM4IEBAIHZvaWQgRnJhbWVWaWV3Ojp3aWxs
UGFpbnRDb250ZW50cyhHcmFwaGkKICAgICBtX2lzUGFpbnRpbmcgPSB0cnVlOwogfQogCitib29s
IEZyYW1lVmlldzo6c3VwcG9ydHNQYWludFRpbWluZygpIGNvbnN0Cit7CisgICAgaWYgKCFSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnBhaW50VGltaW5nRW5hYmxlZCgp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gZnJhbWUoKS5pc01haW5GcmFt
ZSgpIAorICAgIHx8IGZyYW1lKCkuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS5jYW5BY2Nl
c3MoZnJhbWUoKS5tYWluRnJhbWUoKS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKTsKK30K
Kwordm9pZCBGcmFtZVZpZXc6Om1hcmtQYWludFRpbWluZ0lmTmVlZGVkKCkKK3sKKyAgICBpZiAo
bV9kaWRNYXJrRmlyc3RDb250ZW50ZnVsUGFpbnQpCisgICAgICAgIHJldHVybjsKKworICAgIGlm
IChtX2ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dE1pbGVzdG9uZUlzUGVuZGluZykKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaWYgKCFzdXBwb3J0c1BhaW50VGltaW5nKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGNvbnN0IGF1dG8qIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpOwor
ICAgIGNvbnN0IGF1dG8qIHdpbmRvdyA9IGRvY3VtZW50LT5kb21XaW5kb3coKTsKKyAgICBpZiAo
IXdpbmRvdykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFyZW5kZXJWaWV3KCktPmNvbnRh
aW5zUGFpbnRhYmxlQ29udGVudCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2RpZE1hcmtG
aXJzdENvbnRlbnRmdWxQYWludCA9IHRydWU7CisgICAgd2luZG93LT5wZXJmb3JtYW5jZSgpLnJl
cG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7Cit9CisKIHZvaWQgRnJhbWVWaWV3OjpkaWRQYWlu
dENvbnRlbnRzKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgSW50UmVjdCYgZGlydHlS
ZWN0LCBQYWludGluZ1N0YXRlJiBwYWludGluZ1N0YXRlKQogewogICAgIG1faXNQYWludGluZyA9
IGZhbHNlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCShyZXZpc2lvbiAyNTkxOTQpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC02NjAs
NiArNjYwLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBpblVwZGF0ZUVtYmVkZGVkT2JqZWN0cygp
IGNvbnN0IHsgcmV0dXJuIG1faW5VcGRhdGVFbWJlZGRlZE9iamVjdHM7IH0KIAorICAgIGJvb2wg
c3VwcG9ydHNQYWludFRpbWluZygpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzY3Jv
bGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRS
ZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KSBmaW5hbDsKICAgICB2
b2lkIHNjcm9sbENvbnRlbnRzU2xvd1BhdGgoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCkgZmlu
YWw7CkBAIC04MjIsNiArODI0LDkgQEAgcHJpdmF0ZToKICAgICB9OwogICAgIHZvaWQgb3ZlcnJp
ZGVWaWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKE92ZXJyaWRlVmlld3BvcnRTaXplKTsK
IAorICAgIHZvaWQgbWFya1BhaW50VGltaW5nSWZOZWVkZWQoKTsKKyAgICBib29sIG1fZGlkTWFy
a0ZpcnN0Q29udGVudGZ1bFBhaW50IHsgZmFsc2UgfTsKKwogICAgIHN0YXRpYyBNb25vdG9uaWNU
aW1lIHNDdXJyZW50UGFpbnRUaW1lU3RhbXA7IC8vIHVzZWQgZm9yIGRldGVjdGluZyBkZWNvZGVk
IHJlc291cmNlIHRocmFzaCBpbiB0aGUgY2FjaGUKIAogICAgIGNvbnN0IFJlZjxGcmFtZT4gbV9m
cmFtZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCShyZXZpc2lvbiAyNTkx
OTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKICNpbmNs
dWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2Vy
dmVyLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgogI2luY2x1ZGUgIlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVRpbWluZy5o
IgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVXNlclRpbWluZy5oIgpAQCAtMTI0LDYgKzEyNSw5IEBA
IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICAgICAgZW50cmll
cy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNZWFzdXJlcygpKTsKICAgICB9CiAKKyAg
ICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCkKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9m
aXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBzdGQ6OnNvcnQoZW50cmllcy5iZWdpbigpLCBl
bnRyaWVzLmVuZCgpLCBQZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRpbWVDb21wYXJlTGVzc1RoYW4p
OwogICAgIHJldHVybiBlbnRyaWVzOwogfQpAQCAtMTM1LDYgKzEzOSw5IEBAIFZlY3RvcjxSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicmVzb3VyY2UiKSkKICAgICAgICAgZW50cmllcy5hcHBl
bmRWZWN0b3IobV9yZXNvdXJjZVRpbWluZ0J1ZmZlcik7CiAKKyAgICBpZiAobV9maXJzdENvbnRl
bnRmdWxQYWludCAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJw
YWludCIpKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsK
KwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBw
ZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MoKSk7CkBAIC0xNTcsNiArMTY0LDkgQEAg
VmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybQogICAgICAgICB9CiAgICAg
fQogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYgKGVudHJ5VHlwZS5pc051bGwo
KSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJwYWludCIpKSAm
JiBuYW1lID09ICJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikKKyAgICAgICAgZW50cmllcy5hcHBl
bmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAg
ICAgICAgIGlmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoZW50cnlUeXBlLCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0
b3IobV91c2VyVGltaW5nLT5nZXRNYXJrcyhuYW1lKSk7CkBAIC0xODAsNiArMTkwLDEzIEBAIHZv
aWQgUGVyZm9ybWFuY2U6OnNldFJlc291cmNlVGltaW5nQnVmZmUKICAgICBtX3Jlc291cmNlVGlt
aW5nQnVmZmVyRnVsbEZsYWcgPSBmYWxzZTsKIH0KIAordm9pZCBQZXJmb3JtYW5jZTo6cmVwb3J0
Rmlyc3RDb250ZW50ZnVsUGFpbnQoKQoreworICAgIEFTU0VSVCghbV9maXJzdENvbnRlbnRmdWxQ
YWludCk7CisgICAgbV9maXJzdENvbnRlbnRmdWxQYWludCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1p
bmc6OmNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KG5vdygpKTsKKyAgICBxdWV1ZUVudHJ5KCpt
X2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKK30KKwogdm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3Vy
Y2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRpbWluZykKIHsKICAgICBBU1NFUlQo
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
LmgJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBjbGFzcyBMb2FkVGltaW5nOwogY2xh
c3MgUGVyZm9ybWFuY2VFbnRyeTsKIGNsYXNzIFBlcmZvcm1hbmNlTmF2aWdhdGlvbjsKIGNsYXNz
IFBlcmZvcm1hbmNlT2JzZXJ2ZXI7CitjbGFzcyBQZXJmb3JtYW5jZVBhaW50VGltaW5nOwogY2xh
c3MgUGVyZm9ybWFuY2VUaW1pbmc7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVz
b3VyY2VUaW1pbmc7CkBAIC03Nyw2ICs3OCw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkUmVz
b3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJik7CiAKKyAgICB2b2lkIHJlcG9ydEZpcnN0Q29u
dGVudGZ1bFBhaW50KCk7CisKICAgICB2b2lkIHJlbW92ZUFsbE9ic2VydmVycygpOwogICAgIHZv
aWQgcmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKICAg
ICB2b2lkIHVucmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXIm
KTsKQEAgLTEyMSw2ICsxMjQsNyBAQCBwcml2YXRlOgogCiAgICAgTW9ub3RvbmljVGltZSBtX3Rp
bWVPcmlnaW47CiAKKyAgICBSZWZQdHI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4gbV9maXJzdENv
bnRlbnRmdWxQYWludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXNlclRpbWluZz4gbV91c2VyVGlt
aW5nOwogCiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3Bl
cmZvcm1hbmNlVGltZWxpbmVUYXNrUXVldWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlRW50cnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VFbnRyeS5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDExIEBA
IE9wdGlvbmFsPFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IFBlcmZvcm0KICAgICAgICAgICAgIHJl
dHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpSZXNvdXJjZSk7CiAgICAgfQogCisgICAgaWYgKFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucGFpbnRUaW1pbmdFbmFibGVk
KCkpIHsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9PSAicGFpbnQiKQorICAgICAgICAgICAgcmV0
dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6OlBhaW50KTsKKyAgICB9CisKICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
aAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgICAgICBN
YXJrID0gMSA8PCAxLAogICAgICAgICBNZWFzdXJlID0gMSA8PCAyLAogICAgICAgICBSZXNvdXJj
ZSA9IDEgPDwgMywKKyAgICAgICAgUGFpbnQgPSAxIDw8IDQKICAgICB9OwogCiAgICAgdmlydHVh
bCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC02Miw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICBi
b29sIGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UmVzb3VyY2U7
IH0KICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYXJr
OyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6
TWVhc3VyZTsgfQorICAgIGJvb2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBU
eXBlOjpQYWludDsgfQogCiAgICAgc3RhdGljIGJvb2wgc3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFu
KGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYSwgY29uc3QgUmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+JiBiKQogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDE1ICsxMTMs
MjkgQEAgdm9pZCBQZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVyKCkKICAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZEZpcmVPYnNlcnZlckNhbGxiYWNrKCpjb250ZXh0KTsKIH0KIAot
VmVjdG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcygp
CitzdGF0aWMgYm9vbCBzdXBwb3J0c1BhaW50VGltaW5nKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIHsKKyAgICBpZiAoIWlzPERvY3VtZW50Pihjb250ZXh0
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byogdmlldyA9IGRvd25jYXN0PERv
Y3VtZW50Pihjb250ZXh0KS52aWV3KCk7CisgICAgcmV0dXJuIHZpZXcgJiYgdmlldy0+c3VwcG9y
dHNQYWludFRpbWluZygpOworfQorCitWZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5jZU9ic2VydmVy
OjpzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCit7
CisgICAgVmVjdG9yPFN0cmluZz4gZW50cnlUeXBlcyA9IHsKICAgICAgICAgLy8gRklYTUU6IDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xODQzNjM+IEFkZCBzdXBwb3J0IGZvciBOYXZpZ2F0aW9uIFRp
bWluZyBMZXZlbCAyCiAgICAgICAgIC8vICJuYXZpZ2F0aW9uIl9zLAogICAgICAgICAibWFyayJf
cywKICAgICAgICAgIm1lYXN1cmUiX3MsCiAgICAgICAgICJyZXNvdXJjZSJfcwogICAgIH07CisK
KyAgICBpZiAoc3VwcG9ydHNQYWludFRpbWluZyhjb250ZXh0KSkKKyAgICAgICAgZW50cnlUeXBl
cy5hcHBlbmQoInBhaW50Il9zKTsKKworICAgIHJldHVybiBlbnRyeVR5cGVzOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZU9ic2VydmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDcgKzQ5LDcgQEAgcHVibGlj
OgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGNvbnRl
eHQsIFdURk1vdmUoY2FsbGJhY2spKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFZlY3RvcjxTdHJp
bmc+IHN1cHBvcnRlZEVudHJ5VHlwZXMoKTsKKyAgICBzdGF0aWMgVmVjdG9yPFN0cmluZz4gc3Vw
cG9ydGVkRW50cnlUeXBlcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAKICAgICB2b2lkIGRp
c2Fzc29jaWF0ZSgpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlci5pZGwJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VPYnNlcnZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDcgQEAKIF0g
aW50ZXJmYWNlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgewogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBvYnNlcnZlKFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IG9wdGlvbnMpOwogICAgIHZvaWQg
ZGlzY29ubmVjdCgpOwotICAgIHN0YXRpYyByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8
RE9NU3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVj
dXRpb25Db250ZXh0XSBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PERPTVN0
cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlczsKIH07CiAKIGRpY3Rpb25hcnkgUGVyZm9ybWFuY2VP
YnNlcnZlckluaXQgewpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50
VGltaW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBh
aW50VGltaW5nLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZVBhaW50VGltaW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBXaWtpTWVkaWEgRm91bmRhdGlvbi4gQWxsIFJpZ2h0cyBSZXNl
cnZlLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKKyNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQZXJmb3JtYW5j
ZVBhaW50VGltaW5nIGZpbmFsIDogcHVibGljIFBlcmZvcm1hbmNlRW50cnkgeworcHVibGljOgor
ICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VQYWludFRpbWluZz4gY3JlYXRlRmlyc3RDb250ZW50
ZnVsUGFpbnQoZG91YmxlIHRpbWVTdGFtcCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiX3Ms
IHRpbWVTdGFtcCkpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBQZXJmb3JtYW5jZVBhaW50VGlt
aW5nKGNvbnN0IFN0cmluZyYgbmFtZSwgZG91YmxlIHRpbWVTdGFtcCkKKyAgICAgICAgOiBQZXJm
b3JtYW5jZUVudHJ5KG5hbWUsIHRpbWVTdGFtcCwgdGltZVN0YW1wKQorICAgIHsKKyAgICB9CisK
KyAgICBBU0NJSUxpdGVyYWwgZW50cnlUeXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gInBhaW50
Il9zOyB9CisgICAgVHlwZSB0eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gVHlwZTo6UGFpbnQ7
IH0KKworICAgIH5QZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgPSBkZWZhdWx0OworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNv
cmU6OlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0
IFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KSB7IHJldHVybiBlbnRyeS5pc1BhaW50
KCk7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkobm9uZXhpc3RlbnQpCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlh
IEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGFp
bnQtdGltaW5nLworCit0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOworCitbCisg
ICAgRW5hYmxlZEF0UnVudGltZT1QYWludFRpbWluZywKKyAgICBFeHBvc2VkPShXaW5kb3cpLAor
XSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VQYWludFRpbWluZyA6IFBlcmZvcm1hbmNlRW50cnkgewor
fTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5o
CShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsOSBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRVc2VyVGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzVXNlclRpbWlu
Z0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHVzZXJUaW1pbmdFbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9pc1VzZXJUaW1pbmdFbmFibGVkOyB9CiAKKyAgICB2b2lkIHNldFBhaW50
VGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzUGFpbnRUaW1pbmdFbmFibGVkID0g
aXNFbmFibGVkOyB9CisgICAgYm9vbCBwYWludFRpbWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVy
biBtX2lzUGFpbnRUaW1pbmdFbmFibGVkOyB9CisKICAgICBib29sIHBlcmZvcm1hbmNlVGltZWxp
bmVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gcmVzb3VyY2VUaW1pbmdFbmFibGVkKCkgfHwgdXNl
clRpbWluZ0VuYWJsZWQoKTsgfQogCiAgICAgdm9pZCBzZXRTaGFkb3dET01FbmFibGVkKGJvb2wg
aXNFbmFibGVkKSB7IG1faXNTaGFkb3dET01FbmFibGVkID0gaXNFbmFibGVkOyB9CkBAIC00MjQs
NiArNDI3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNMaW5rUHJlbG9hZEVuYWJsZWQgeyB0
cnVlIH07CiAgICAgYm9vbCBtX2lzTGlua1ByZWZldGNoRW5hYmxlZCB7IGZhbHNlIH07CiAgICAg
Ym9vbCBtX2lzTWVkaWFQcmVsb2FkaW5nRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lz
UGFpbnRUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNSZXNvdXJjZVRpbWlu
Z0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1VzZXJUaW1pbmdFbmFibGVkIHsgZmFs
c2UgfTsKICAgICBib29sIG1faXNJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCB7IGZh
bHNlIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyOSw2ICszMjksNTAgQEAgU3R5bGVEaWZmZXJl
bmNlIFJlbmRlckVsZW1lbnQ6OmFkanVzdFN0eQogICAgIHJldHVybiBkaWZmOwogfQogCitib29s
IFJlbmRlckVsZW1lbnQ6OmNvbnRhaW5zUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0Cit7CisgICAg
aWYgKCFvcGFjaXR5KCkgfHwgaXNTVkdIaWRkZW5Db250YWluZXIoKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgYXV0byBoYXNQb3RlbnRpYWxseVZpc2libGVSZWdpb25zID0gWyZdKCkg
eworICAgICAgICBpZiAoc3R5bGUoKS52aXNpYmlsaXR5KCkgIT0gVmlzaWJpbGl0eTo6VmlzaWJs
ZSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBhdXRvIGRvY3VtZW50UmVj
dCA9IHZpZXcoKS5kb2N1bWVudFJlY3QoKTsKKworICAgICAgICBpZiAoYXV0byogY3VycmVudCA9
IGVsZW1lbnQoKSkKKyAgICAgICAgICAgIHJldHVybiBjdXJyZW50LT5ib3VuZGluZ0NsaWVudFJl
Y3QoKS5pbnRlcnNlY3RzKGRvY3VtZW50UmVjdCk7CisKKyAgICAgICAgcmV0dXJuIGlzVmlzaWJs
ZUluRG9jdW1lbnRSZWN0KGRvY3VtZW50UmVjdCk7CisgICAgfTsKKworICAgIGlmIChpc0NvbnRl
bnRmdWwoKSAmJiBoYXNQb3RlbnRpYWxseVZpc2libGVSZWdpb25zKCkpCisgICAgICAgIHJldHVy
biB0cnVlOworCisgICAgZm9yIChjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlck9iamVjdCA9IGZp
cnN0Q2hpbGQoKTsgcmVuZGVyT2JqZWN0OyByZW5kZXJPYmplY3QgPSByZW5kZXJPYmplY3QtPm5l
eHRTaWJsaW5nKCkpIHsKKyAgICAgICAgaWYgKHJlbmRlck9iamVjdC0+Y29udGFpbnNQYWludGFi
bGVDb250ZW50KCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKK2Jvb2wgUmVuZGVyRWxlbWVudDo6aXNDb250ZW50ZnVsKCkgY29uc3QK
K3sKKyAgICBpZiAoaGFzT3duUGFpbnRhYmxlQ29udGVudCgpKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIGlmIChzdHlsZSgpLmhhc1BhaW50YWJsZUNhY2hlZEJhY2tncm91bmRJbWFnZSgp
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGZvciAoYXV0byYgY2hpbGQgOiBjaGlsZHJl
bk9mVHlwZTxSZW5kZXJPYmplY3Q+KCp0aGlzKSkgeworICAgICAgICBpZiAoaXM8UmVuZGVyVGV4
dD4oY2hpbGQpICYmICFkb3duY2FzdDxSZW5kZXJUZXh0PihjaGlsZCkuY29udGFpbnNPbmx5SFRN
TFdoaXRlc3BhY2UoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJl
dHVybiBmYWxzZTsKK30KKwogaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6aGFzSW1tZWRpYXRl
Tm9uV2hpdGVzcGFjZVRleHRDaGlsZE9yQm9yZGVyT3JPdXRsaW5lKCkgY29uc3QKIHsKICAgICBm
b3IgKGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8UmVuZGVyT2JqZWN0PigqdGhpcykpIHsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAkocmV2aXNpb24g
MjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMTAwLDYgKzEwMCw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9p
ZCBkaXJ0eUxpbmVzRnJvbUNoYW5nZWRDaGlsZChSZW5kZXJPYmplY3QmKSB7IH0KIAorICAgIHZp
cnR1YWwgYm9vbCBoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KKwogICAgIGJvb2wgYW5jZXN0b3JMaW5lQm94RGlydHkoKSBjb25zdCB7IHJldHVybiBtX2Fu
Y2VzdG9yTGluZUJveERpcnR5OyB9CiAgICAgdm9pZCBzZXRBbmNlc3RvckxpbmVCb3hEaXJ0eShi
b29sIGYgPSB0cnVlKTsKIApAQCAtMTM5LDYgKzE0MSw4IEBAIHB1YmxpYzoKICAgICBib29sIGlz
VHJhbnNwYXJlbnQoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLm9wYWNpdHkoKSA8IDEuMGY7IH0K
ICAgICBmbG9hdCBvcGFjaXR5KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5vcGFjaXR5KCk7IH0K
IAorICAgIGJvb2wgY29udGFpbnNQYWludGFibGVDb250ZW50KCkgY29uc3QgZmluYWw7CisKICAg
ICBib29sIHZpc2libGVUb0hpdFRlc3RpbmcoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLnZpc2li
aWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlICYmIHN0eWxlKCkucG9pbnRlckV2ZW50cygp
ICE9IFBvaW50ZXJFdmVudHM6Ok5vbmU7IH0KIAogICAgIGJvb2wgaGFzQmFja2dyb3VuZCgpIGNv
bnN0IHsgcmV0dXJuIHN0eWxlKCkuaGFzQmFja2dyb3VuZCgpOyB9CkBAIC0zMTYsNiArMzIwLDgg
QEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IGNvbXB1dGVGaXJz
dExpbmVTdHlsZSgpIGNvbnN0OwogICAgIHZvaWQgaW52YWxpZGF0ZUNhY2hlZEZpcnN0TGluZVN0
eWxlKCk7CiAKKyAgICBib29sIGlzQ29udGVudGZ1bCgpIGNvbnN0OworCiAgICAgYm9vbCBjYW5E
ZXN0cm95RGVjb2RlZERhdGEoKSBmaW5hbCB7IHJldHVybiAhaXNWaXNpYmxlSW5WaWV3cG9ydCgp
OyB9CiAgICAgVmlzaWJsZUluVmlld3BvcnRTdGF0ZSBpbWFnZUZyYW1lQXZhaWxhYmxlKENhY2hl
ZEltYWdlJiwgSW1hZ2VBbmltYXRpbmdTdGF0ZSwgY29uc3QgSW50UmVjdCogY2hhbmdlUmVjdCkg
ZmluYWw7CiAgICAgdm9pZCBkaWRSZW1vdmVDYWNoZWRJbWFnZUNsaWVudChDYWNoZWRJbWFnZSYp
IGZpbmFsOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2Fu
dmFzLmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckhUTUxDYW52YXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCwxMSBAQCBSZW5k
ZXJIVE1MQ2FudmFzOjpSZW5kZXJIVE1MQ2FudmFzKEhUTUxDCiB7CiB9CiAKK2Jvb2wgUmVuZGVy
SFRNTENhbnZhczo6aGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJu
ICEhY2FudmFzRWxlbWVudCgpLnJlbmRlcmluZ0NvbnRleHQoKTsKK30KKwogSFRNTENhbnZhc0Vs
ZW1lbnQmIFJlbmRlckhUTUxDYW52YXM6OmNhbnZhc0VsZW1lbnQoKSBjb25zdAogewogICAgIHJl
dHVybiBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4obm9kZUZvck5vbkFub255bW91cygpKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaAkocmV2
aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52
YXMuaAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
ZWxlbWVudCgpIGNvbnN0ID0gZGVsZXRlOwogICAgIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0
IG92ZXJyaWRlOwogICAgIGJvb2wgaXNDYW52YXMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0
cnVlOyB9CisgICAgYm9vbCBoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJS
ZW5kZXJIVE1MQ2FudmFzIjsgfQogICAgIHZvaWQgcGFpbnRSZXBsYWNlZChQYWludEluZm8mLCBj
b25zdCBMYXlvdXRQb2ludCYpIG92ZXJyaWRlOwogICAgIHZvaWQgaW50cmluc2ljU2l6ZUNoYW5n
ZWQoKSBvdmVycmlkZSB7IGNhbnZhc1NpemVDaGFuZ2VkKCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzM5
LDYgKzMzOSwxMSBAQCB2b2lkIFJlbmRlckltYWdlOjp1cGRhdGVJbnRyaW5zaWNTaXplSWZOCiAg
ICAgc2V0SW50cmluc2ljU2l6ZShuZXdTaXplKTsKIH0KIAorYm9vbCBSZW5kZXJJbWFnZTo6aGFz
T3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1faW1hZ2VSZXNvdXJj
ZS0+Y2FjaGVkSW1hZ2UoKSAmJiAhbV9pbWFnZVJlc291cmNlLT5pbWFnZVNpemUoMSkuaXNFbXB0
eSgpOworfQorCiB2b2lkIFJlbmRlckltYWdlOjp1cGRhdGVJbm5lckNvbnRlbnRSZWN0KCkKIHsK
ICAgICAvLyBQcm9wYWdhdGUgY29udGFpbmVyIHNpemUgdG8gaW1hZ2UgcmVzb3VyY2UuCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAkocmV2aXNpb24gMjU5MTk0KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTc2LDYgKzc2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZERpc3Bs
YXlCcm9rZW5JbWFnZUljb24oKSBjb25zdDsKIAorICAgIGJvb2wgaGFzT3duUGFpbnRhYmxlQ29u
dGVudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaGFzTm9uQml0bWFwSW1hZ2UoKSBjb25z
dDsKIAogICAgIGJvb2wgaXNFZGl0YWJsZUltYWdlKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3OCw2
ICsyNzgsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJTY3JvbGxiYXJQ
YXJ0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIHZpcnR1YWwgYm9vbCBjb250YWlu
c1BhaW50YWJsZUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCiAgICAgYm9vbCBp
c0RvY3VtZW50RWxlbWVudFJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gZG9jdW1lbnQoKS5kb2N1
bWVudEVsZW1lbnQoKSA9PSAmbV9ub2RlOyB9CiAgICAgYm9vbCBpc0JvZHkoKSBjb25zdCB7IHJl
dHVybiBub2RlKCkgJiYgbm9kZSgpLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6Ym9keVRhZyk7IH0K
ICAgICBib29sIGlzSFIoKSBjb25zdCB7IHJldHVybiBub2RlKCkgJiYgbm9kZSgpLT5oYXNUYWdO
YW1lKEhUTUxOYW1lczo6aHJUYWcpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0LmgJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTE3OSw3ICsxNzksNyBAQCBwdWJsaWM6CiAg
ICAgTGF5b3V0VW5pdCB0b3BPZkZpcnN0VGV4dCgpIGNvbnN0OwogICAgIAogICAgIGJvb2wgY29u
dGFpbnNPbmx5SFRNTFdoaXRlc3BhY2UodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuZ3RoKSBj
b25zdDsKLSAgICAKKyAgICBib29sIGNvbnRhaW5zT25seUhUTUxXaGl0ZXNwYWNlKCkgY29uc3Qg
eyByZXR1cm4gY29udGFpbnNPbmx5SFRNTFdoaXRlc3BhY2UoMCwgdGV4dCgpLmxlbmd0aCgpKTsg
fSAKICAgICBib29sIGNhblVzZVNpbXBsaWZpZWRUZXh0TWVhc3VyaW5nKCkgY29uc3QgeyByZXR1
cm4gbV9jYW5Vc2VTaW1wbGlmaWVkVGV4dE1lYXN1cmluZzsgfQogCiAgICAgVmVjdG9yPHN0ZDo6
cGFpcjx1bnNpZ25lZCwgdW5zaWduZWQ+PiBkcmFnZ2VkQ29udGVudFJhbmdlc0JldHdlZW5PZmZz
ZXRzKHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBlbmRPZmZzZXQpIGNvbnN0OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCShyZXZpc2lvbiAyNTkx
OTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC05Miw2ICs5MiwxNCBAQCB2b2lkIFJlbmRlclZpZGVvOjppbnRyaW5zaWNTaXpl
Q2hhbmdlZCgpCiAgICAgdXBkYXRlSW50cmluc2ljU2l6ZSgpOyAKIH0KIAorYm9vbCBSZW5kZXJW
aWRlbzo6aGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0Cit7CisgICAgaWYgKHZpZGVvRWxl
bWVudCgpLnNob3VsZERpc3BsYXlQb3N0ZXJJbWFnZSgpKQorICAgICAgICByZXR1cm4gUmVuZGVy
SW1hZ2U6Omhhc093blBhaW50YWJsZUNvbnRlbnQoKTsKKworICAgIHJldHVybiB2aWRlb0VsZW1l
bnQoKS5yZWFkeVN0YXRlKCkgPiBIVE1MTWVkaWFFbGVtZW50RW51bXM6OkhBVkVfTUVUQURBVEE7
Cit9CisKIGJvb2wgUmVuZGVyVmlkZW86OnVwZGF0ZUludHJpbnNpY1NpemUoKQogewogICAgIExh
eW91dFNpemUgc2l6ZSA9IGNhbGN1bGF0ZUludHJpbnNpY1NpemUoKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uaAkod29ya2luZyBjb3B5KQpAQCAtNjcsNiAr
NjcsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCByZXF1aXJlc0xheWVyKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wgaXNWaWRlbygpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IHRydWU7IH0KKyAgICBib29sIGhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdCBvdmVycmlk
ZTsKIAogICAgIHZvaWQgcGFpbnRSZXBsYWNlZChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2lu
dCYpIGZpbmFsOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExh
eWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmls
bExheWVyLmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL0ZpbGxMYXllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0MCw2ICszNDAsMTUgQEAg
Ym9vbCBGaWxsTGF5ZXI6OmNvbnRhaW5zSW1hZ2UoU3R5bGVJbWFnZQogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAorYm9vbCBGaWxsTGF5ZXI6Omhhc0xvYWRlZENhY2hlZEltYWdlKCkgY29uc3QKK3sK
KyAgICBmb3IgKGF1dG8qIGxheWVyID0gdGhpczsgbGF5ZXI7IGxheWVyID0gbGF5ZXItPm1fbmV4
dC5nZXQoKSkgeworICAgICAgICBpZiAobGF5ZXItPm1faW1hZ2UgJiYgbGF5ZXItPm1faW1hZ2Ut
PmlzTG9hZGVkKCkgJiYgbGF5ZXItPm1faW1hZ2UtPmhhc0NhY2hlZEltYWdlKCkpCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIEZp
bGxMYXllcjo6aW1hZ2VzQXJlTG9hZGVkKCkgY29uc3QKIHsKICAgICBmb3IgKGF1dG8qIGxheWVy
ID0gdGhpczsgbGF5ZXI7IGxheWVyID0gbGF5ZXItPm1fbmV4dC5nZXQoKSkgewpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAkocmV2aXNpb24gMjU5MTk0
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xNDUsNiArMTQ1LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBjb250YWluc0lt
YWdlKFN0eWxlSW1hZ2UmKSBjb25zdDsKICAgICBib29sIGltYWdlc0FyZUxvYWRlZCgpIGNvbnN0
OworICAgIGJvb2wgaGFzTG9hZGVkQ2FjaGVkSW1hZ2UoKSBjb25zdDsKICAgICBib29sIGhhc0lt
YWdlKCkgY29uc3QgeyByZXR1cm4gbV9uZXh0ID8gaGFzSW1hZ2VJbkFueUxheWVyKCkgOiBtX2lt
YWdlOyB9CiAgICAgYm9vbCBoYXNGaXhlZEltYWdlKCkgY29uc3Q7CiAgICAgYm9vbCBoYXNPcGFx
dWVJbWFnZShjb25zdCBSZW5kZXJFbGVtZW50JikgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAJKHJldmlzaW9uIDI1OTE5NCkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTU4MCw2ICs1ODAsMjEgQEAgYm9vbCBSZW5kZXJTdHlsZTo6aXNJZGVtcG90
ZW50VGV4dEF1dG9zaQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIFJlbmRlclN0eWxlOjpo
YXNQYWludGFibGVDYWNoZWRCYWNrZ3JvdW5kSW1hZ2UoKSBjb25zdAoreworICAgIGlmICghaGFz
QmFja2dyb3VuZEltYWdlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNvbnN0IEZp
bGxMYXllciYgYmFja2dyb3VuZCA9IGJhY2tncm91bmRMYXllcnMoKTsKKyAgICBpZiAoIWJhY2tn
cm91bmQuaGFzTG9hZGVkQ2FjaGVkSW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgaWYgKGJhY2tncm91bmRTaXplTGVuZ3RoKCkuaXNFbXB0eSgpICYmIGJhY2tncm91bmRTaXpl
VHlwZSgpID09IEZpbGxTaXplVHlwZTo6U2l6ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgcmV0dXJuIHRydWU7Cit9CisKIEF1dG9zaXplU3RhdHVzIFJlbmRlclN0eWxlOjphdXRvc2l6
ZVN0YXR1cygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIE9wdGlvblNldDxBdXRvc2l6ZVN0YXR1czo6
RmllbGRzPjo6ZnJvbVJhdyhtX2luaGVyaXRlZEZsYWdzLmF1dG9zaXplU3RhdHVzKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCShyZXZpc2lv
biAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aAkod29ya2luZyBjb3B5KQpAQCAtNDE1LDYgKzQxNSw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBM
ZW5ndGhTaXplJiBiYWNrZ3JvdW5kU2l6ZUxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2dy
b3VuZERhdGEtPmJhY2tncm91bmQuc2l6ZUxlbmd0aCgpOyB9CiAgICAgRmlsbExheWVyJiBlbnN1
cmVCYWNrZ3JvdW5kTGF5ZXJzKCkgeyByZXR1cm4gbV9iYWNrZ3JvdW5kRGF0YS5hY2Nlc3MoKS5i
YWNrZ3JvdW5kOyB9CiAgICAgY29uc3QgRmlsbExheWVyJiBiYWNrZ3JvdW5kTGF5ZXJzKCkgY29u
c3QgeyByZXR1cm4gbV9iYWNrZ3JvdW5kRGF0YS0+YmFja2dyb3VuZDsgfQorICAgIGJvb2wgaGFz
UGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdlKCkgY29uc3Q7CiAKICAgICBTdHlsZUltYWdl
KiBtYXNrSW1hZ2UoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5tYXNr
LmltYWdlKCk7IH0KICAgICBGaWxsUmVwZWF0IG1hc2tSZXBlYXRYKCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8RmlsbFJlcGVhdD4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bWFzay5yZXBl
YXRYKCkpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01v
ZGVsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR01vZGVsT2JqZWN0LmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE1OCw2ICsxNTgsMTEgQEAgc3RhdGljIGJvb2wgaXNHcmFwaGljc0VsZW1lbnQoY29u
c3QgUmVuZAogICAgIHJldHVybiByZW5kZXJlci5pc1NWR1NoYXBlKCkgfHwgcmVuZGVyZXIuaXNT
VkdUZXh0KCkgfHwgcmVuZGVyZXIuaXNTVkdJbWFnZSgpIHx8IHJlbmRlcmVyLmVsZW1lbnQoKS0+
aGFzVGFnTmFtZShTVkdOYW1lczo6dXNlVGFnKTsKIH0KIAorYm9vbCBSZW5kZXJTVkdNb2RlbE9i
amVjdDo6aGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGlzR3Jh
cGhpY3NFbGVtZW50KCp0aGlzKTsKK30KKwogLy8gVGhlIFNWRyBhZGRGb2N1c1JpbmdSZWN0cygp
IG1ldGhvZCBhZGRzIHJlY3RzIGluIGxvY2FsIGNvb3JkaW5hdGVzIHNvIHRoZSBkZWZhdWx0IGFi
c29sdXRlRm9jdXNSaW5nUXVhZHMKIC8vIHJldHVybnMgaW5jb3JyZWN0IHZhbHVlcyBmb3IgU1ZH
IG9iamVjdHMuIE92ZXJyaWRpbmcgdGhpcyBtZXRob2QgcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBh
YnNvbHV0ZSBib3VuZHMuCiB2b2lkIFJlbmRlclNWR01vZGVsT2JqZWN0OjphYnNvbHV0ZUZvY3Vz
UmluZ1F1YWRzKFZlY3RvcjxGbG9hdFF1YWQ+JiBxdWFkcykKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmgJKHJldmlzaW9u
IDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxP
YmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNjksNiArNjksNyBAQCBwcm90ZWN0ZWQ6CiAKIHBy
aXZhdGU6CiAgICAgYm9vbCBpc1JlbmRlclNWR01vZGVsT2JqZWN0KCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gdHJ1ZTsgfQorICAgIGJvb2wgaGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IGZp
bmFsOwogCiAgICAgLy8gVGhpcyBtZXRob2Qgc2hvdWxkIG5ldmVyIGJlIGNhbGxlZCwgU1ZHIHVz
ZXMgYSBkaWZmZXJlbnQgbm9kZUF0UG9pbnQgbWV0aG9kCiAgICAgYm9vbCBub2RlQXRQb2ludChj
b25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBIaXRUZXN0TG9jYXRp
b24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9m
ZnNldCwgSGl0VGVzdEFjdGlvbikgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjU5
MTk0KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwyMCBAQAorMjAyMC0wMy0yMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHJ1bnRpbWUgZmxh
ZyBmb3IgcGFpbnQtdGltaW5nIChwYWludFRpbWluZ0VuYWJsZWQpLgorCisgICAgICAgICogU2hh
cmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5nRW5hYmxl
ZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0UGFpbnRUaW1pbmdFbmFibGVkKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6dXBkYXRlUHJl
ZmVyZW5jZXNTdG9yZSk6CisKIDIwMjAtMDMtMjkgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFw
cGxlLmNvbT4KIAogICAgICAgICBbQXV0b1NpemluZ10gQnJpbmcgYmFjayB0aGUgb2xkIGF1dG8t
c2l6aW5nIGNvZGUgYXMgYSBkZXByZWNhdGVkIGNvZGVwYXRoIGZvciBjb21wYXRpYmlsaXR5IHJl
YXNvbnMKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAkocmV2
aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFt
bAkod29ya2luZyBjb3B5KQpAQCAtODM5LDYgKzgzOSwxMyBAQCBVc2VyVGltaW5nRW5hYmxlZDoK
ICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFVzZXJUaW1pbmcgQVBJIgogICB3
ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCitQYWludFRpbWluZ0VuYWJs
ZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiB0cnVlCisgIGh1bWFuUmVhZGFibGVO
YW1lOiAiUGFpbnQgVGltaW5nIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUg
UGFpbnQgVGltaW5nIEFQSSIKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMKKwogQmVhY29uQVBJRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRy
dWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuY3BwCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgxOSw2ICsxODE5LDE2IEBA
IGJvb2wgV0tQcmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFcKICAgICByZXR1cm4gdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+dXNlclRpbWluZ0VuYWJsZWQoKTsKIH0KIAordm9pZCBXS1By
ZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYsIGJvb2wgZmxhZykKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRQYWlu
dFRpbWluZ0VuYWJsZWQoZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFBhaW50VGlt
aW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVy
biB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5wYWludFRpbWluZ0VuYWJsZWQoKTsKK30KKwogdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoZmxhZyk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgJKHJl
dmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXNSZWZQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwMCw2ICs1MDAsMTAgQEAgV0tf
RVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbgogV0tfRVhQT1JUIGJvb2wgV0tQ
cmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCiAvLyBE
ZWZhdWx0cyB0byBmYWxzZQorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFBhaW50VGlt
aW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOworV0tfRVhQT1JUIGJvb2wg
V0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKKwor
Ly8gRGVmYXVsdHMgdG8gZmFsc2UKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRSZXNv
dXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9S
VCBib29sIFdLUHJlZmVyZW5jZXNHZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZik7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAJKHJldmlz
aW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIyLDYgKzEyMiw3
IEBAIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGEKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENhY2hlQVBJRW5hYmxlZChzdG9y
ZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNhY2hlQVBJRW5hYmxlZEtl
eSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRG
ZXRjaEFQSUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
OjpmZXRjaEFQSUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp1c2VyVGltaW5nRW5hYmxlZEtleSgpKSk7CisgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJs
ZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYWludFRpbWlu
Z0VuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6cmVzb3VyY2VUaW1pbmdFbmFibGVkS2V5KCkpKTsKICAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJS2VlcEFsaXZl
RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZldGNo
QVBJS2VlcEFsaXZlRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVzdHJpY3RlZEhUVFBSZXNwb25z
ZUFjY2Vzc0tleSgpKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShyZXZpc2lv
biAyNTkxOTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wMy0yMyAgTm9hbSBSb3NlbnRoYWwgIDxub2Ft
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBw
YWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
ODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBhIHByZWZlcmVuY2Uga2V5IGZvciBwYWludCB0aW1pbmcuCisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAg
ICAgKC1bV2ViUHJlZmVyZW5jZXMgcGFpbnRUaW1pbmdFbmFibGVkXSk6CisgICAgICAgICgtW1dl
YlByZWZlcmVuY2VzIHNldFBhaW50VGltaW5nRW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToK
KwogMjAyMC0wMy0yOSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
TW92ZSBUZXh0SXRlcmF0b3I6OnJhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3RoIG9mZiBvZiBsaXZl
IHJhbmdlcwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yNjAsNiArMjYwLDcgQEAKICNkZWZpbmUgV2ViS2l0QXR0YWNo
bWVudEVsZW1lbnRFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEF0dGFjaG1lbnRFbGVtZW50
RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkUHJlZmVy
ZW5jZUtleSBAIldlYktpdEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZCIKICNkZWZpbmUgV2Vi
S2l0TWVudUl0ZW1FbGVtZW50RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZW51SXRlbUVs
ZW1lbnRFbmFibGVkIgorI2RlZmluZSBXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNl
S2V5IEAiV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkIgogI2RlZmluZSBXZWJLaXRVc2VyVGltaW5n
RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRVc2VyVGltaW5nRW5hYmxlZCIKICNkZWZpbmUg
V2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFJlc291cmNl
VGltaW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdI
YXJkd2FyZVN1cHBvcnRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFDb250ZW50VHlwZXNSZXF1
aXJpbmdIYXJkd2FyZVN1cHBvcnQiCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTY4Myw2ICs2ODMsNyBAQCArICh2b2lkKWluaXRpYWxpemUKICNpZiBFTkFCTEUoSU5U
RVJTRUNUSU9OX09CU0VSVkVSKQogICAgICAgICBATk8sIFdlYktpdEludGVyc2VjdGlvbk9ic2Vy
dmVyRW5hYmxlZFByZWZlcmVuY2VLZXksCiAjZW5kaWYKKyAgICAgICAgQE5PLCBXZWJLaXRQYWlu
dFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktpdFVzZXJUaW1p
bmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRSZXNvdXJjZVRpbWlu
Z0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktpdE1lZGlhVXNlckdlc3R1
cmVJbmhlcml0c0Zyb21Eb2N1bWVudCwKQEAgLTMzMDgsNiArMzMwOSwxNiBAQCAtICh2b2lkKXNl
dFVzZXJUaW1pbmdFbmFibGVkOihCT09MKWZsYWcKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZs
YWcgZm9yS2V5OldlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07CiB9CiAKKy0g
KEJPT0wpcGFpbnRUaW1pbmdFbmFibGVkCit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVG
b3JLZXk6V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZv
aWQpc2V0UGFpbnRUaW1pbmdFbmFibGVkOihCT09MKWZsYWcKK3sKKyAgICBbc2VsZiBfc2V0Qm9v
bFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXld
OworfQorCiAtIChCT09MKXJlc291cmNlVGltaW5nRW5hYmxlZAogewogICAgIHJldHVybiBbc2Vs
ZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXldOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC02NjEsNiArNjYxLDcgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNlcyAoV2ViUHJp
dmF0ZSkKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGtleWdlbkVsZW1lbnRFbmFibGVkOwog
QHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgdXNlclRpbWluZ0VuYWJsZWQ7CiBAcHJvcGVydHkg
KG5vbmF0b21pYykgQk9PTCByZXNvdXJjZVRpbWluZ0VuYWJsZWQ7CitAcHJvcGVydHkgKG5vbmF0
b21pYykgQk9PTCBwYWludFRpbWluZ0VuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9P
TCBsaW5rUHJlbG9hZEVuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBtZWRpYVVz
ZXJHZXN0dXJlSW5oZXJpdHNGcm9tRG9jdW1lbnQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9P
TCBpc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkOwpJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0z
MTk2LDYgKzMxOTYsNyBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVu
CiAKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFVzZXJU
aW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnVzZXJUaW1pbmdFbmFibGVkKTsKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFJlc291cmNlVGltaW5nRW5hYmxl
ZChwcmVmZXJlbmNlcy5yZXNvdXJjZVRpbWluZ0VuYWJsZWQpOworICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1pbmdFbmFibGVkKHByZWZlcmVu
Y2VzLnBhaW50VGltaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRMaW5rUHJlbG9hZEVuYWJsZWQocHJlZmVyZW5jZXMubGlua1ByZWxv
YWRFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQocHJlZmVyZW5jZXMubWVkaWFQcmVsb2FkaW5nRW5h
YmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRJ
c1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKHByZWZlcmVuY2VzLmlzU2VjdXJlQ29udGV4
dEF0dHJpYnV0ZUVuYWJsZWQpOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkocmV2
aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50aGFsICA8
bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgcHJlZmVyZW5jZSBrZXkgZm9yIHBhaW50LXRpbWluZy4KKworICAgICAgICAqIEludGVy
ZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6CisgICAgICAgICogV2ViUHJlZmVyZW5j
ZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBX
ZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJW
aWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorCiAyMDIwLTAzLTI5ICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIFRleHRJdGVyYXRvcjo6cmFuZ2VG
cm9tTG9jYXRpb25BbmRMZW5ndGggb2ZmIG9mIGxpdmUgcmFuZ2VzCkluZGV4OiBTb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNp
b24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQ
cml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE5Nyw2ICsxOTcsOCBAQAogCiAjZGVmaW5lIFdl
YktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0VXNlclRpbWluZ0VuYWJs
ZWQiCiAKKyNkZWZpbmUgV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2Vi
S2l0UGFpbnRUaW1pbmdFbmFibGVkIgorCiAjZGVmaW5lIFdlYktpdFJlc291cmNlVGltaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZCIKIAogI2RlZmlu
ZSBXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRMaW5rUHJlbG9h
ZEVuYWJsZWQiCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMu
Y3BwCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVm
ZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyNiw2ICszMjYsOCBAQCB2b2lkIFdlYlBy
ZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNlCiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1
ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtl
eSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0
cywgQ0ZTVFIoV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xl
YW5GYWxzZSk7CisKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2Vi
S2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAK
ICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0TWVkaWFQcmVs
b2FkaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwpAQCAtMjQxNCw2
ICsyNDE2LDIwIEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnJlc291cmNlVGltaW5nRW4KICAg
ICByZXR1cm4gU19PSzsKIH0KIAorSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0UGFpbnRUaW1p
bmdFbmFibGVkKEJPT0wgZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUoV2ViS2l0UGFpbnRU
aW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwgZW5hYmxlZCk7CisgICAgcmV0dXJuIFNfT0s7Cit9
CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnBhaW50VGltaW5nRW5hYmxlZChfT3V0XyBCT09M
KiBlbmFibGVkKQoreworICAgIGlmICghZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRF
UjsKKyAgICAqZW5hYmxlZCA9IGJvb2xWYWx1ZUZvcktleShXZWJLaXRQYWludFRpbWluZ0VuYWJs
ZWRQcmVmZXJlbmNlS2V5KTsKKyAgICByZXR1cm4gU19PSzsKK30KKwogSFJFU1VMVCBXZWJQcmVm
ZXJlbmNlczo6c2VydmVyVGltaW5nRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQogewogICAg
IGlmICghZW5hYmxlZCkKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVu
Y2VzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5j
ZXMuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJl
ZmVyZW5jZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjUxLDYgKzI1MSw4IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0VXNlclRpbWluZ0VuYWJsZWQo
Qk9PTCk7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHJlc291cmNlVGlt
aW5nRW5hYmxlZChfT3V0XyBCT09MKik7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIHNldFJlc291cmNlVGltaW5nRW5hYmxlZChCT09MKTsKKyAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgcGFpbnRUaW1pbmdFbmFibGVkKF9PdXRfIEJPT0wqKTsKKyAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0UGFpbnRUaW1pbmdFbmFibGVk
KEJPT0wpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBsaW5rUHJlbG9h
ZEVuYWJsZWQoX091dF8gQk9PTCopOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSBzZXRMaW5rUHJlbG9hZEVuYWJsZWQoQk9PTCk7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNU
RE1FVEhPRENBTExUWVBFIG1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoX091dF8gQk9PTCopOwpJbmRl
eDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Mjgz
LDYgKzUyODMsMTEgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQog
ICAgICAgICByZXR1cm4gaHI7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVh
dHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZCghIWVuYWJsZWQpOwogCisgICAgaHIgPSBwcmVm
c1ByaXZhdGUtPnBhaW50VGltaW5nRW5hYmxlZCgmZW5hYmxlZCk7CisgICAgaWYgKEZBSUxFRCho
cikpCisgICAgICAgIHJldHVybiBocjsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldFBhaW50VGltaW5nRW5hYmxlZCghIWVuYWJsZWQpOworCiAgICAgaHIg
PSBwcmVmc1ByaXZhdGUtPnJlc291cmNlVGltaW5nRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYg
KEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmlkbAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50
ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTk3
LDYgKzE5Nyw4IEBAIGludGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRlNCA6IElXZWIKICAg
ICBIUkVTVUxUIHNldFVzZXJUaW1pbmdFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKICAgICBI
UkVTVUxUIHJlc291cmNlVGltaW5nRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKICAgICBI
UkVTVUxUIHNldFJlc291cmNlVGltaW5nRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAg
SFJFU1VMVCBwYWludFRpbWluZ0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MKik7CisgICAgSFJF
U1VMVCBzZXRQYWludFRpbWluZ0VuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwogICAgIEhSRVNV
TFQgbGlua1ByZWxvYWRFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOwogICAgIEhSRVNVTFQg
c2V0TGlua1ByZWxvYWRFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKICAgICBIUkVTVUxUIG1l
ZGlhUHJlbG9hZGluZ0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MKik7CkluZGV4OiBUb29scy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTkxOTQp
CisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAy
MC0wMy0yMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1w
bGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBwcmVmZXJlbmNlIGtleSBmb3IgcGFpbnQt
dGltaW5nLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1t
OgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHJl
c2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxl
cjo6cmVzZXRQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisKIDIwMjAtMDMtMjggIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSRUdS
RVNTSU9OKHIyNTc5NjMpIFVJIHByb2Nlc3MgY3Jhc2hlcyB3aGVuIHNldHRpbmcgbmF2aWdhdGlv
biBkZWxlZ2F0ZSBpbnNpZGUgbmF2aWdhdGlvbiBkZWxlZ2F0ZSBjYWxsYmFja3MKSW5kZXg6IFRv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHJldmlzaW9uIDI1OTE5
NCkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMTAwNCw2ICsxMDA0LDcgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJl
bmNlc1RvQ29uc2lzdAogICAgIFtwcmVmZXJlbmNlcyBzZXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5h
YmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQ6WUVT
XTsKICAgICBbcHJlZmVyZW5jZXMgc2V0VXNlclRpbWluZ0VuYWJsZWQ6WUVTXTsKKyAgICBbcHJl
ZmVyZW5jZXMgc2V0UGFpbnRUaW1pbmdFbmFibGVkOllFU107CiAKICAgICBbcHJlZmVyZW5jZXMg
c2V0Q2FjaGVBUElFbmFibGVkOk5PXTsKICAgICBwcmVmZXJlbmNlcy5tZWRpYUNhcGFiaWxpdGll
c0VuYWJsZWQgPSBZRVM7CkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRl
clRyZWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVu
ZGVyVHJlZS5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9EdW1wUmVuZGVyVHJlZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg5OSw2ICs4OTksNyBAQCBz
dGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0CiAgICAgcHJlZnNQcml2YXRl
LT5zZXRDdXN0b21FbGVtZW50c0VuYWJsZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2YXRlLT5zZXRS
ZXNvdXJjZVRpbWluZ0VuYWJsZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2YXRlLT5zZXRVc2VyVGlt
aW5nRW5hYmxlZChUUlVFKTsKKyAgICBwcmVmc1ByaXZhdGUtPnNldFBhaW50VGltaW5nRW5hYmxl
ZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGUtPnNldERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZChU
UlVFKTsKICAgICBwcmVmc1ByaXZhdGUtPmNsZWFyTmV0d29ya0xvYWRlclNlc3Npb24oKTsKIApJ
bmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9u
IDI1OTE5NCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC05MzEsNiArOTMxLDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cmVz
ZXRQcmVmZXJlbmNlc1RvQwogICAgIFdLUHJlZmVyZW5jZXNTZXRGZXRjaEFQSUtlZXBBbGl2ZUVu
YWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRSZXNvdXJjZVRp
bWluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRVc2Vy
VGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CisgICAgV0tQcmVmZXJlbmNlc1NldFBh
aW50VGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1Nl
dE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVy
ZW5jZXNTZXRNZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lKHByZWZlcmVuY2VzLCB0cnVlKTsKICAg
ICBXS1ByZWZlcmVuY2VzU2V0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVB
dHRyaWJ1dGUocHJlZmVyZW5jZXMsIGZhbHNlKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE5NCkK
KysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBA
CisyMDIwLTAzLTIzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAg
ICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgdGVzdHMgZm9yIHNvbWUgZmly
c3QtY29udGVudGZ1bC1wYWludCAoRkNQKSB1c2UtY2FzZXMuCisKKyAgICAgICAgKiBwZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzOiBBZGRlZC4K
KyAgICAgICAgICAgICAgICBUZXN0IGV4aXN0ZW5jZSBvZiBwYWludCB0aW1pbmcgQVBJIG9uIHRo
ZSB3aW5kb3cgb2JqZWN0LgorCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQtZnJhbWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9y
bWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LXdpdGgtd29ya2Vy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNv
bnRlbnRmdWwtcGFpbnQtd2l0aC13b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9y
bWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICog
cGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAgICAg
ICAgICAgVGVzdCB0aGF0IEZDUCBpcyBub3QgYXZhaWxhYmxlIGZvciBjcm9zcy1vcmlnaW4gZnJh
bWVzIGFuZCB3b3JrZXJzLgorCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNl
LW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVu
dGZ1bC1wYWludC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3Vy
Y2VzL3BhaW50LWFwaS11dGlscy5qczogQWRkZWQuCisgICAgICAgIChhc3luYyB3YWl0Rm9yRkNQ
KToKKyAgICAgICAgICAgICAgICBUZXN0IHRoYXQgcGVyZm9ybWFuY2Ugb2JzZXJ2ZXJzIGFyZSBj
YWxsZWQgZm9yIEZDUC4KKwogMjAyMC0wMy0zMCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBs
ZS5jb20+CiAKICAgICAgICAgVXBkYXRlIGNzcy9zZWxlY3RvcnMgV1BUIHRlc3RzCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE5NCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw3OCBA
QAorMjAyMC0wMy0yMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcG9ydGVkIHRlc3Qtc3VpdGUgZnJv
bSB3M2MgdG8gY292ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYXNlcy4KKyAgICAgICAgVGhl
IGZjcC1vbmx5IGNhc2VzIGFyZSBpbXBvcnRlZCwgd2hpbGUgdGhlIG90aGVyIG9uZXMgYXJlIG5v
dCBzaW5jZSBXZWJLaXQgZG9lcyBub3Qgc3VwcG9ydCBmaXJzdC1wYWludC4KKworICAgICAgICAq
IHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28t
c3RlcHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Y2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWlu
dmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtc2NhbGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS1zY2FsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1kaXNwbGF5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtb3BhY2l0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LXRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5z
dmc6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVz
b3VyY2VzL2NpcmNsZXMucG5nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1wYWludGluZy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFt
ZS1zZW5kaW5nLXBhaW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzOiBBZGRlZC4KKyAgICAgICAgKHdhaXRU
aW1lKToKKyAgICAgICAgKGFzeW5jIGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAg
ICAgICAoYXN5bmMgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAgICAodGVzdF9m
Y3ApOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2Vz
L3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKwogMjAyMC0wMy0zMCAgQW50dGkgS29pdmlzdG8gIDxh
bnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIGNzcy9zZWxlY3RvcnMgV1BUIHRlc3Rz
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3Rh
dGlvbnMuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3Vy
Y2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgkocmV2aXNpb24gMjU5MTk0KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24JKHdv
cmtpbmcgY29weSkKQEAgLTEzLDYgKzEzLDggQEAKICAgICAiY3NzL2dlb21ldHJ5IjogImltcG9y
dCIsIAogICAgICJjc3Mvc3VwcG9ydCI6ICJpbXBvcnQiLCAKICAgICAiY3VzdG9tLWVsZW1lbnRz
IjogImltcG9ydCIsIAorICAgICJwYWludC10aW1pbmcvIjogImltcG9ydCIsIAorICAgICJwYWlu
dC10aW1pbmcvZmNwLW9ubHkiOiAiaW1wb3J0IiwgCiAgICAgInNoYWRvdy1kb20iOiAiaW1wb3J0
IiwgCiAgICAgInRvb2xzIjogImltcG9ydCIsIAogICAgICJ3ZWItYW5pbWF0aW9ucyI6ICJpbXBv
cnQiLCAKQEAgLTMxOSw3ICszMjEsOCBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvb3JpZW50
YXRpb24tZXZlbnQiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvb3JpZW50YXRp
b24tc2Vuc29yIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BhZ2UtdmlzaWJp
bGl0eSI6ICJza2lwIiwgCi0gICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmciOiAi
c2tpcCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5Ijog
ImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNl
cyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtaGFuZGxlciI6
ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LW1ldGhvZC1iYXNpYy1j
YXJkIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtbWV0aG9kLWlk
IjogInNraXAiLCAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgc2l6ZS4gCisKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
YmFja2dyb3VuZC1zaXplLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tn
cm91bmQtc2l6ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZD
UCBkdWUgdG8gYmFja2dyb3VuZCBzaXplPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7Cisg
ICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3Vy
Y2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDA7CisgICAgfQor
CisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4g
Ki8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAl
IDEwMCU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+
CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tn
cm91bmQgc2l6ZS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3Vu
ZCBpbWFnZSBpbiBpbWFnZS1zZXQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZv
cm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4g
aW1hZ2Utc2V0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAx
MDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVs
IGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRl
bnRmdWwgeworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWltYWdlLXNldCh1cmwo
Li4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKSAxeCk7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6
IGltYWdlLXNldCh1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKSAxeCk7CisgICAgfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZp
cnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1h
Z2Utc2V0LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGZv
ciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxlLiAKKwpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
Zy1pbWFnZS10d28tc3RlcHMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmct
aW1hZ2UtdHdvLXN0ZXBzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVz
dDogRkNQIHNob3VsZCBmaXJlIGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxl
PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGFuZCBwcmVG
Q1AgY2xhc3NlcyBhcmUgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4u
cHJlRkNQIHsKKyAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOworICAgIH0KKworICAgICNtYWlu
LmNvbnRlbnRmdWwsICAjbWFpbi5wcmVGQ1AgeworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1
cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50
ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKKyAgICB9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxk
aXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVu
dGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZS4i
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52
YXMtY29udGV4dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNh
bnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAK
KworUEFTUyBDYW52YXMgc2hvdWxkIGNvdW50IGFzIGNvbnRlbnRmdWwgd2hlbiBjb250ZXh0IGlz
IGNyZWF0ZWQgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCB3aGVuIGNhbnZhcyBjb250ZXh0IGlzIGNyZWF0ZWQ8L3Rp
dGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZh
cz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3NlcnRfcHJl
Y29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlz
bid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50
ZnVsUGFpbnQoKTsKKyAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
Y2FudmFzJyk7CisgICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwor
ICAgIGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgMTAwLCAxMDApOworICAgIGF3YWl0IGFzc2VydEZp
cnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdDYW52YXMgc2hvdWxkIGNvdW50IGFzIGNvbnRl
bnRmdWwgd2hlbiBjb250ZXh0IGlzIGNyZWF0ZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDMgQEAKKworUEFTUyBHcmFkaWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50
ZnVsIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Z3JhZGllbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
c2hvdWxkIG5vdCBmaXJlIHdpdGggZ3JhZGllbnQtb25seSBiYWNrZ3JvdW5kczwvdGl0bGU+Cis8
c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBi
b3R0b20sIG9yYW5nZSwgYmx1ZSk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48
L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2Vy
dF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1p
bmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAgY29uc3QgbWFpbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdtYWluJyk7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENv
bnRlbnRmdWxQYWludCgpOworICB9LCAgJ0dyYWRpZW50cyBzaG91bGQgbm90IGNvdW50IGFzIGNv
bnRlbnRmdWwnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0
ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAK
K1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5j
ZXN0b3IgZ2V0dGluZyByb3RhdGluZyBpbnRvIHZpZXcuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRp
dGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIDNkIHJldmVhbGlu
ZyBvZiBkZXNjZW5kYW50czwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3
aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsK
KyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIHRy
YW5zZm9ybTogcm90YXRlWCg0NWRlZyk7CisgICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2Vy
dmUtM2Q7CisgICAgfQorCisgICAgLyoKKyAgICAgICBUaGlzIHRlc3RzIHRoYXQgZ2l2ZW4gbXVs
dGlwbGljYXRpb24gZWZmZWN0IG9mIDNkIHRyYW5zZm9ybXMgb24gYm91bmRpbmcgcmVjdCwKKyAg
ICAgICBBbiBlbGVtZW50IGNvdW50cyBhcyBjb250ZW50ZnVsL3BhaW50YWJsZSBvbmx5IHdoZW4g
aXRzIGJvdW5kaW5nIHJlY3QgaXMgdHJ1bHkgbm9uLWVtcHR5ICovCisgICAgI2NoaWxkIHsKKyAg
ICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDQ1ZGVnKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50
ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNv
bnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJjaGlsZCI+VGV4dDwvZGl2PgorPC9kaXY+Cis8
c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0
byBpdHMgYW5jZXN0b3IgZ2V0dGluZyByb3RhdGluZyBpbnRvIHZpZXcuIik7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRl
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJv
dGF0ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAor
VGV4dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIDNkIHJvdGF0
aW9uIGludG8gdmlldy4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+
Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gM2Qgcm90
YXRpb24gaW50byB2aWV3PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4Owor
ICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoOTBkZWcpOworICAgICAgICBwb3NpdGlvbjogcmVs
YXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNz
IGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwg
eworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJt
YWluIj5UZXh0PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXcuIikKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gc2NhbGUgYmVjb21pbmcgcG9zaXRpdmUuIAor
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlv
bi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQg
QEAKK1RFWFQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gcmV2ZWFs
ZWQgZHVyaW5nIHRyYW5zaXRpb24uIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNj
YWxlLXRyYW5zaXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXNjYWxlLXRyYW5zaXRpb24uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMw
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRp
bWluZyBUZXN0OiBGQ1AgaW4gdHJhbnNpdGlvbjwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
IGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKKyAgICAgICAgdHJhbnNp
dGlvbjogdHJhbnNmb3JtIDEwczsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAg
ICB0b3A6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGlu
IHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJh
bnNmb3JtOiBzY2FsZSgxKTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRFWFQ8
L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcgdHJhbnNpdGlvbi4iKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5j
ZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBzY2FsZSBjaGFuZ2U8L3RpdGxlPgorPHN0
eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7
CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBi
YWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisK
KyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAq
LworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHNjYWxlIGJlY29taW5nIHBv
c2l0aXZlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NCBAQAorSU5WSVNJQkxFCisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtdGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtdGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4
dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQg
c3RpbGwgZmlyZSBmb3IgaW52aXNpYmxlIHRleHQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWlu
IHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7Cisg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICAg
ICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBj
bGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50
ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKKyAgICB9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxk
aXYgaWQ9Im1haW4iPgorICAgIElOVklTSUJMRQorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3Rf
ZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBi
ZWNvbWluZyB2aXNpYmxlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHku
IAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1h
bmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGFuY2VzdG9yIG9wYWNpdHk8L3RpdGxl
PgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxh
dGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0KKworICAgICNjaGlsZCB7CisgICAgICAgIG9w
YWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBhbmQgaW50ZXJtZWRpYXRlIGNs
YXNzZXMgYXJlIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRl
bnRmdWwgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5p
bnRlcm1lZGlhdGUgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0eTogMTsKKyAgICB9CisKKyAgICAj
bWFpbi5pbnRlcm1lZGlhdGUgeworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAgICNt
YWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFjaXR5OiAwLjU7CisgICAgfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+
Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJjaGlsZCI+VGV4dDwvZGl2PgorPC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiIpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVsZW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3BhY2l0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1h
bmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxl
PgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAg
ICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2Vz
L2NpcmNsZXMucG5nKTsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250
ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWlu
LmNvbnRlbnRmdWwgeworICAgICAgICBvcGFjaXR5OiAwLjE7CisgICAgfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIG9wYWNpdHktcmV2ZWFsZWQgZWxlbWVudC4iKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3Vu
ZHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRz
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5k
cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1l
bnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0
ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3Vu
ZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAK
KworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byB0cmFuc2Zvcm0tYmFz
ZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0
LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0
LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMw
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRp
bWluZyBUZXN0OiBGQ1AgZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBk
b2N1bWVudDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAw
cHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAg
dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMDBweCk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2
ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVz
b3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlz
IGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgewor
ICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWlu
Ij48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQg
ZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4i
KQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9m
LWJvdW5kcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRp
dGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGludGVyc2VjdGlv
biB3aXRoIGRvY3VtZW50PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogLTEwMDBw
eDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAg
IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0K
KworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQu
ICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgi
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9j
dW1lbnQuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWlu
dCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4gCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQg
VGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5
bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjph
ZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgZGlzcGxheTogbm9uZTsK
KyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Ag
c2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBkaXNwbGF5
OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2Ny
aXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBw
c2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGltYWdlLiAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWlu
dCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZTwvdGl0bGU+Cis8
c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAg
IHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBj
b250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNt
YWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBjb250ZW50OiB1cmwoLi4vcmVzb3VyY2Vz
L2NpcmNsZXMucG5nKTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9w
YWNpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNT
IEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRp
bmcgcG9zaXRpdmUgb3BhY2l0eS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC1vcGFjaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LW9wYWNpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtb3BhY2l0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZD
UCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5PC90aXRsZT4K
KzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAg
ICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNt
YWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiOworICAgICAgICBvcGFjaXR5OiAw
OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2Zj
cCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAgIG9wYWNp
dHk6IDAuNTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2Ny
aXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBw
c2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIikKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtdGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4
dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVy
Zm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4
dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRp
dmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9
CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0
LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAiVEVY
VCIKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0Pgor
ICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8t
ZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0
eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcg
dmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxp
dHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlz
aWJpbGl0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBk
dWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAx
MDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7
CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwor
ICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBz
Y3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAgIHZpc2liaWxp
dHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2Pgor
PHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAK
KworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gU1ZHIGJlY29tZXMgY29u
dGVudGZ1bC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atc3ZnLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhl
YWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCB3aXRoIFNWRzwv
dGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246
IHJlbGF0aXZlOworICAgIH0KKworICAgICNjaXJjbGUgeworICAgICAgZGlzcGxheTogbm9uZTsK
KyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Ag
c2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI2NpcmNsZSB7CisgICAgICAgIGRpc3Bs
YXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgIDxzdmcgdmll
d0JveD0iMCAwIDEwIDEwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCisgICAg
IHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKyAgICA8ZGVmcz4K
KyAgICAgIDxjaXJjbGUgaWQ9Im15Q2lyY2xlIiBjeD0iNSIgY3k9IjUiIHI9IjQiIHN0cm9rZT0i
Ymx1ZSIvPgorICAgIDwvZGVmcz4KKyAgICA8dXNlIGlkPSJjaXJjbGUiIGhyZWY9IiNteUNpcmNs
ZSIgZmlsbD0iZ3JlZW4iIC8+CisgIDwvc3ZnPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3Rf
ZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gU1ZHIGJlY29tZXMgY29udGVu
dGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4
dC1pbnB1dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQt
aW5wdXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BB
U1MgVGV4dCBpbnB1dCBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBpdHMgdmFsdWUgaXMg
bm9uLWVtcHR5IAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWlu
ZyBUZXN0OiBGQ1AgZHVlIGZvciBub24tZW1wdHkgdGV4dCBpbnB1dDwvdGl0bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGlucHV0
IGlkPSJpbnB1dCIgdHlwZT0idGV4dCIgLz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3lu
YyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQg
bmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAg
ICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICAgIGNvbnN0IGlu
cHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0Jyk7CisgICAgICBpbnB1dC5zZXRB
dHRyaWJ1dGUoJ3ZhbHVlJywgJyAgJyk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVu
dGZ1bFBhaW50KCk7CisgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ3ZhbHVlJyk7
CisgICAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAnVGV4dCBp
bnB1dCBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBpdHMgdmFsdWUgaXMgbm9uLWVtcHR5
Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBv
Z3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10
eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNCBAQAorQQorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgb25seSB3
aGVuIHNvbWUgb2YgdGhlIHRleHQgaXMgdmlzaWJsZSwgY29uc2lkZXJpbmcgOjpmaXJzdC1sZXR0
ZXIuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZv
cm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIG5vdCBmaXJlIHdoZW4gYWxsIHRl
eHQgaXMgaGlkZGVuIGR1ZSB0byB0eXBvZ3JhcGhpYyBwc2V1ZG8tZWxlbWVudHM8L3RpdGxlPgor
PHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAg
ICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21h
aW4gKjo6Zmlyc3QtbGV0dGVyIHsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAv
KiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAg
ICNtYWluLmNvbnRlbnRmdWwgKjo6Zmlyc3QtbGV0dGVyIHsKKyAgICAgICAgb3BhY2l0eTogMTsK
KyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0
aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXY+QTwvZGl2PgorPC9k
aXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IG9ubHkgd2hlbiBzb21lIG9mIHRoZSB0ZXh0IGlzIHZpc2libGUsIGNvbnNpZGVyaW5nIDo6Zmly
c3QtbGV0dGVyLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
dmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAor
CisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gZmlyc3QgZnJhbWUg
aXMgbG9hZGVkIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI0
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRp
bWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRlZCB2aWRlbyBmcmFtZTwvdGl0bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHZpZGVv
IGlkPSJ2aWRlbyIgYXV0b3BsYXk+PC92aWRlbz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNl
UGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAgYXdh
aXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsK
KyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICAgIGNvbnN0
IHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpZGVvJyk7CisgICAgICB2aWRlby5z
ZXRBdHRyaWJ1dGUoJ3NyYycsICcvbWVkaWEvdGVzdC5tcDQnKTsKKyAgICAgIGF3YWl0IG5ldyBQ
cm9taXNlKHJlc29sdmUgPT4geworICAgICAgICB2aWRlby5vbmNhbnBsYXkgPSByZXNvbHZlOwor
ICAgICAgfSk7CisgICAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9
LCAnVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gZmlyc3QgZnJhbWUgaXMgbG9h
ZGVkJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12
aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCisK
K1BBU1MgVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9zdGVyIGlzIGxvYWRl
ZCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGR1ZSB0byBsb2FkZWQgdmlkZW8gcG9zdGVyPC90aXRsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8dmlkZW8gaWQ9
InZpZGVvIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvdmlkZW8+Cis8c2NyaXB0PgorICBwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVy
Zm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7Cisg
ICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcs
IHIpKTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgY29u
c3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmlkZW8nKTsKKyAgICBjb25zdCBz
cmMgPSAnLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nJzsKKyAgICBjb25zdCBpbWFnZSA9IG5ldyBJ
bWFnZSgpOworICAgIGltYWdlLnNyYyA9IHNyYzsKKyAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3Bv
c3RlcicsIHNyYyk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAg
IGltYWdlLm9ubG9hZCA9IGFzeW5jICgpID0+IHJlc29sdmUoKTsKKyAgICB9KQorICAgIGF3YWl0
IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdWaWRlbyBzaG91bGQgYmVjb21l
IGNvbnRlbnRmdWwgd2hlbiBwb3N0ZXIgaXMgbG9hZGVkJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNTIFdoaXRlc3BhY2Ugc2hvdWxkIG5vdCBj
b3VudCBhcyBjb250ZW50ZnVsLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwzNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQ
YWludCBUaW1pbmcgVGVzdDogV2hpdGVzcGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRm
dWw8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAg
ICAgICBiYWNrZ3JvdW5kLXNpemU6IDAgMDsKKyAgICB9CisKKyAgICAjdGV4dCB7CisgICAgICAg
IGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZp
bmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICN0ZXh0ewor
ICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4i
PgorICAgIDxkaXYgaWQ9IndoaXRlc3BhY2UiPiAgIDwvZGl2PgorICAgIDxkaXYgaWQ9InRleHQi
PlRFWFQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiV2hpdGVzcGFjZSBz
aG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw0IEBACitURVhUCisKK1BBU1MgRkNQIHNob3VsZCBmaXJlIHdoZW4gY29vcmRpbmF0ZXMg
YXJlIG5lZ2F0aXZlLCBpZiB3aXRoaW4gZG9jdW1lbnQgc2Nyb2xsYWJsZSBhcmVhIAorCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
d2l0aC1ydGwuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGRpcmVj
dGlvbiBjaGFuZ2U8L3RpdGxlPgorPHN0eWxlPgorICAjdGV4dCB7CisgICAgcmlnaHQ6IC0xMDBw
eDsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgIH0KKworICBib2R5IHsKKyAgICBkaXJlY3Rp
b246IHJ0bDsKKyAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IGRpcmVjdGlvbj0iUlRMIj4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0idGV4dCI+
VEVYVDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAg
YXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50
IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0
Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5kaXJl
Y3Rpb24gPSAnbHRyJworICAgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsK
KyAgfSwgJ0ZDUCBzaG91bGQgZmlyZSB3aGVuIGNvb3JkaW5hdGVzIGFyZSBuZWdhdGl2ZSwgaWYg
d2l0aGluIGRvY3VtZW50IHNjcm9sbGFibGUgYXJlYScpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS93M2MtaW1wb3J0LmxvZwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS93M2MtaW1wb3J0
LmxvZwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACitUaGUgdGVzdHMgaW4gdGhpcyBk
aXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBt
b2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEg
cHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWIt
cGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13
M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3Zl
IHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVm
aXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWJnLWltYWdlLXNldC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGll
bnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRl
eHQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LW91dC1vZi1ib3VuZHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW92ZXJmbG93Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1pbWFnZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4
dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhp
Yy1wc2V1ZG8uaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRs
Lmh0bWwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNl
cy9jaXJjbGUuc3ZnCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHZlcnNpb249IjEuMSI+CisgICA8Y2lyY2xlIGN4PSIxMDAiIGN5PSI1MCIgcj0i
NDAiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgLz4KKzwvc3Zn
PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3Vy
Y2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBA
QAorPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KKzxkaXYgaWQ9ImltYWdlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0lNRycpOworICBpbWcu
c3JjID0gJ2NpcmNsZXMucG5nJzsKKyAgaW1nLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGZ1
bmN0aW9uIHNlbmRQYWludEVudHJpZXMoKSB7CisgICAgICBjb25zdCBwYWludEVudHJpZXMgPSBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdwYWludCcpOworICAgICAgaWYgKHBhaW50RW50
cmllcy5sZW5ndGggPCAyKSB7CisgICAgICAgIHNldFRpbWVvdXQoc2VuZFBhaW50RW50cmllcywg
MjApOworICAgICAgICByZXR1cm47CisgICAgICB9CisgICAgICBsZXQgZW50cnlDb250ZW50cyA9
IHBhaW50RW50cmllcy5sZW5ndGggKyAnJzsKKyAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFp
bnRFbnRyaWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gcGFpbnRFbnRy
aWVzW2ldOworICAgICAgICBlbnRyeUNvbnRlbnRzICs9ICcgJyArIGVudHJ5LmVudHJ5VHlwZSAr
ICcgJyAgKyBlbnRyeS5uYW1lOworICAgICAgfQorICAgICAgcGFyZW50LnBvc3RNZXNzYWdlKGVu
dHJ5Q29udGVudHMsICcqJyk7CisgICAgfTsKKyAgICBzZW5kUGFpbnRFbnRyaWVzKCk7CisgIH07
CisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWFnZScpLmFwcGVuZENoaWxkKGltZyk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5k
aW5nLXBhaW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmct
cGFpbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1w
YWludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1s
PgorPHNjcmlwdD4KKyAgc2VsZi5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24o
ZSkgeworICAgIC8vIFNlbmQgcGFpbnQtdGltaW5nIGVudHJpZXMgdXBvbiByZWNlaXZpbmcgYSBt
ZXNzYWdlLgorICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNC
eVR5cGUoJ3BhaW50Jyk7CisgICAgbGV0IGVudHJ5Q29udGVudHMgPSBwYWludEVudHJpZXMubGVu
Z3RoICsgJyc7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBp
KyspIHsKKyAgICAgIGNvbnN0IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAgICAgZW50cnlD
b250ZW50cyArPSAnICcgKyBlbnRyeS5lbnRyeVR5cGUgKyAnICcgICsgZW50cnkubmFtZTsKKyAg
ICB9CisgICAgcGFyZW50LnBvc3RNZXNzYWdlKGVudHJ5Q29udGVudHMsICcqJyk7CisgIH0pOwor
PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3Vy
Y2VzL3V0aWxzLmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDU2IEBACisvLyBOdW1iZXIgbWlsbGlzZWNvbmRzIHRvIHdhaXQg
Zm9yIENTUyByZXNvdXJjZXMgdG8gbG9hZC4KK2NvbnN0IG51bU1pbGxpc2Vjb25kc1dhaXQgPSA1
MDsKKworLy8gV2UgdXNlIHJlcXVlc3RBbmltYXRpb25GcmFtZSgpIGNhbGxzIHRvIGZvcmNlIHRo
ZSB1c2VyIGFnZW50IHRvIHBhaW50IGFuZCBnaXZlIGVub3VnaAorLy8gdGltZSBmb3IgRkNQIHRv
IHNob3cgdXAgaW4gdGhlIHBlcmZvcm1hbmNlIHRpbWVsaW5lLiBIZW5jZSwgc2V0IHxudW1GcmFt
ZXNXYWl0aW5nfCB0bworLy8gMyBhbmQgdXNlIHRoYXQgY29uc3RhbnQgd2hlbmV2ZXIgdGhlIHRl
c3QgbmVlZHMgdG8gd2FpdCBmb3IgdGhlIG5leHQgcGFpbnQgdG8gb2NjdXIuCitjb25zdCBudW1G
cmFtZXNXYWl0aW5nID0gMzsKKworZnVuY3Rpb24gd2FpdFRpbWUodCkgeworICByZXR1cm4gbmV3
IFByb21pc2UocmVzb2x2ZSA9PiB0LnN0ZXBfdGltZW91dChyZXNvbHZlLCBudW1NaWxsaXNlY29u
ZHNXYWl0KSk7Cit9CisKK2Z1bmN0aW9uIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoY291bnQpIHsK
KyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGlmIChjb3VudC0tIDw9IDAp
IHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9IGVsc2UgeworICAgICAgcmVxdWVzdEFuaW1hdGlv
bkZyYW1lKCgpID0+IHsKKyAgICAgICAgd2FpdEZvckFuaW1hdGlvbkZyYW1lcyhjb3VudCkudGhl
bihyZXNvbHZlKTsKKyAgICAgIH0pOworICAgIH0KKyAgfSk7Cit9CisKKy8vIEFzc2VydHMgdGhh
dCB0aGVyZSBpcyBjdXJyZW50bHkgbm8gRkNQIHJlcG9ydGVkLCBldmVuIGFmdGVyIHNvbWUgd2Fp
dC4KK2FzeW5jIGZ1bmN0aW9uIGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCkgeworICBp
ZiAodCkKKyAgICBhd2FpdCB3YWl0VGltZSh0KTsKKworICBhd2FpdCB3YWl0Rm9yQW5pbWF0aW9u
RnJhbWVzKG51bUZyYW1lc1dhaXRpbmcpOworICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeU5hbWUoJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5ndGgsIDAsICdGaXJz
dCBjb250ZW50ZnVsIHBhaW50IG1hcmtlZCB0b28gZWFybHkuICcpOworfQorCisvLyBBc3NlcnRz
IHRoYXQgRkNQIGlzIHJlcG9ydGVkLCBwb3NzaWJseSBhZnRlciBzb21lIHdhaXQuIFRoZSB3YWl0
IGlzIG5lZWRlZAorLy8gYmVjYXVzZSBzb21ldGltZXMgdGhlIEZDUCByZWxpZXMgb24gc29tZSBD
U1MgcmVzb3VyY2VzIHRvIGZpbmlzaCBsb2FkaW5nLgorYXN5bmMgZnVuY3Rpb24gYXNzZXJ0Rmly
c3RDb250ZW50ZnVsUGFpbnQodCkgeworICBpZiAodCkKKyAgICBhd2FpdCB3YWl0VGltZSh0KTsK
KyAgYXdhaXQgd2FpdEZvckFuaW1hdGlvbkZyYW1lcyhudW1GcmFtZXNXYWl0aW5nKTsKKyAgYXNz
ZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVs
LXBhaW50JykubGVuZ3RoLCAxLCAnRXhwZWN0ZWQgZmlyc3QgY29udGVudGZ1bCBwYWludCBub3Qg
Zm91bmQuICcpOworfQorCitmdW5jdGlvbiB0ZXN0X2ZjcChsYWJlbCkgeworICBjb25zdCBzdHls
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CisgIGRvY3VtZW50LmhlYWQuYXBw
ZW5kQ2hpbGQoc3R5bGUpOworICByZXR1cm4gcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAg
IGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWlu
dCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgIGNvbnN0IG1haW4gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnbWFpbicpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENv
bnRlbnRmdWxQYWludCgpOworICAgIG1haW4uY2xhc3NOYW1lID0gJ3ByZUZDUCc7CisgICAgYXdh
aXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIG1haW4uY2xhc3NOYW1lID0g
J2NvbnRlbnRmdWwnOworICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7Cisg
IH0sIGxhYmVsKTsKK30KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2Vz
L3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjEgQEAKK1RoZSB0ZXN0
cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5
LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRo
dWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1Njcmlw
dHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlm
eSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5z
dmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJj
bGVzLnBuZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2Vz
L3N1YmZyYW1lLXBhaW50aW5nLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQt
dGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwpJbmRleDogTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFw
aXMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxMyBAQAorQmFzaWMgSW50ZXJmYWNlIHRlc3QgZm9yIHBhaW50LXRpbWluZyBBUElzLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUGVyZm9ybWFuY2VQYWludFRpbWluZwor
UEFTUyBQZXJmb3JtYW5jZVBhaW50VGltaW5nIGlzIGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNl
UGFpbnRUaW1pbmcucHJvdG90eXBlLnRvSlNPTiBpcyBkZWZpbmVkLgorUEFTUyBuZXcgUGVyZm9y
bWFuY2VQYWludFRpbWluZygpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IGZ1bmN0aW9uIGlz
IG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgUGVyZm9ybWFuY2VQYWludFRpbWlu
ZygpJykuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWlu
Zy1hcGlzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3BhaW50LXRpbWluZy1hcGlzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAor
PCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Bh
aW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACitQYWludCBBUEkgc2hvdWxkIGJlIGF2YWlsYWJs
ZSBmb3Igc2FtZS1vcmlnaW4gZnJhbWVzIGJ1dCBub3QgdG8gY3Jvc3Mtb3JpZ2luL3NhbmRib3hl
ZCBmcmFtZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHJlY2VpdmVk
RXZlbnQuc291cmNlIGlzIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKS5j
b250ZW50V2luZG93CitQQVNTIHJlY2VpdmVkRW50cnkubmFtZSBpcyAnZmlyc3QtY29udGVudGZ1
bC1wYWludCcKK1BBU1MgZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1lIGlzIGZh
bHNlCitQQVNTIEFycmF5LmlzQXJyYXkobm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzKSBpcyB0cnVl
CitQQVNTIEFycmF5LmlzQXJyYXkoc2FuZGJveFN1cHBvcnRlZFR5cGVzKSBpcyB0cnVlCitQQVNT
IGRpZFJlY2VpdmVNZXNzYWdlIGlzIHRydWUKK1BBU1Mgbm9uU2FuZGJveFN1cHBvcnRlZFR5cGVz
LmluY2x1ZGVzKCJwYWludCIpIGlzIHRydWUKK1BBU1Mgc2FuZGJveFN1cHBvcnRlZFR5cGVzLmlu
Y2x1ZGVzKCJwYWludCIpIGlzIGZhbHNlCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3Qt
Y29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXMgZmlyZWQgZm9yIHNhbWUtb3JpZ2luIGZyYW1l
IGJ1dCBub3QgZm9yIGNyb3NzLW9yaWdpbiBmcmFtZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKKworVEVYVApJbmRleDogTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVz
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUw+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKyAg
ICA8aWZyYW1lIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBpZD0ibm9uU2FuZGJveGVkIiBzcmM9
Ii4vcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sIj48L2lmcmFtZT4KKzxkaXYgY2xhc3M9InNw
YWNlciI+PC9kaXY+Cis8aWZyYW1lIGlkPSJzYW5kYm94ZWQiIHNyYz0iLi9yZXNvdXJjZXMvZmNw
LXN1YmZyYW1lLmh0bWwiIHNhbmRib3g9ImFsbG93LXNjcmlwdHMiPjwvaWZyYW1lPgorPGRpdiBj
bGFzcz0ic3BhY2VyIj48L2Rpdj4KKworICAgIFRFWFQKKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCJQYWludCBBUEkgc2hvdWxkIGJlIGF2YWlsYWJsZSBmb3Igc2FtZS1vcmlnaW4gZnJhbWVzIGJ1
dCBub3QgdG8gY3Jvc3Mtb3JpZ2luL3NhbmRib3hlZCBmcmFtZXMuIik7Cit3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7Cit3aW5kb3cuZGlkUmVjZWl2ZU1lc3NhZ2UgPSBmYWxzZTsKKword2lu
ZG93Lm9ubG9hZCA9IGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBzYW5kYm94ZWQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnc2FuZGJveGVkJyk7CisgICAgY29uc3Qgbm9uU2FuZGJveGVkID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNhbmRib3hlZCcpOworICAgIGNvbnN0IGZjcE1l
c3NhZ2VQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIHdpbmRvdy5v
bm1lc3NhZ2UgPSBldmVudCA9PiB7CisgICAgICAgICAgICB3aW5kb3cucmVjZWl2ZWRFdmVudCA9
IGV2ZW50OworICAgICAgICAgICAgY29uc3QgaXNGcm9tU2FuZGJveGVkID0gZXZlbnQuc291cmNl
ID09PSBzYW5kYm94ZWQuY29udGVudFdpbmRvdzsKKyAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2Ug
PSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpOworICAgICAgICAgICAgc3dpdGNoIChtZXNzYWdlLnR5
cGUpIHsKKyAgICAgICAgICAgICAgICBjYXNlICdzdXBwb3J0ZWQnOgorICAgICAgICAgICAgICAg
ICAgICBpZiAoaXNGcm9tU2FuZGJveGVkKQorICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93
LnNhbmRib3hTdXBwb3J0ZWRUeXBlcyA9IG1lc3NhZ2Uuc3VwcG9ydGVkOworICAgICAgICAgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cubm9uU2FuZGJveFN1
cHBvcnRlZFR5cGVzID0gbWVzc2FnZS5zdXBwb3J0ZWQ7CisgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgICAgIGNhc2UgJ3JlY2VpdmVkJzoKKyAgICAgICAgICAgICAgICAg
ICAgd2luZG93LmRpZFJlY2VpdmVNZXNzYWdlRnJvbVNhbmRib3hlZElmcmFtZSA9IGlzRnJvbVNh
bmRib3hlZDsKKyAgICAgICAgICAgICAgICAgICAgd2luZG93LnJlY2VpdmVkRW50cnkgPSBtZXNz
YWdlLmVudHJ5OworICAgICAgICAgICAgICAgICAgICBkaWRSZWNlaXZlTWVzc2FnZSA9IHRydWU7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCdyZWNlaXZlZEV2ZW50LnNvdXJjZScsICJk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJykuY29udGVudFdpbmRvdyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgncmVjZWl2ZWRFbnRyeS5uYW1lJywgIidmaXJz
dC1jb250ZW50ZnVsLXBhaW50JyIpOworICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7Cisg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9OworICAg
IH0pOworCisgICAgc2FuZGJveGVkLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoInBhaW50Iiwg
IioiKTsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgbm9uU2FuZGJveGVkLmNvbnRlbnRX
aW5kb3cucG9zdE1lc3NhZ2UoInBhaW50IiwgIioiKTsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7
CisgICAgYXdhaXQgZmNwTWVzc2FnZVByb21pc2U7CisgICAgc2hvdWxkQmVGYWxzZSgnZGlkUmVj
ZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1lJyk7CisgICAgc2hvdWxkQmVUcnVlKCdBcnJh
eS5pc0FycmF5KG5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcyknKTsKKyAgICBzaG91bGRCZVRydWUo
J0FycmF5LmlzQXJyYXkoc2FuZGJveFN1cHBvcnRlZFR5cGVzKScpOworICAgIHNob3VsZEJlVHJ1
ZSgnZGlkUmVjZWl2ZU1lc3NhZ2UnKTsKKyAgICBzaG91bGRCZVRydWUoJ25vblNhbmRib3hTdXBw
b3J0ZWRUeXBlcy5pbmNsdWRlcygicGFpbnQiKScpOworICAgIHNob3VsZEJlRmFsc2UoJ3NhbmRi
b3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygicGFpbnQiKScpOworICAgIHRlc3RQYXNzZWQoIlBl
cmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXMgZmly
ZWQgZm9yIHNhbWUtb3JpZ2luIGZyYW1lIGJ1dCBub3QgZm9yIGNyb3NzLW9yaWdpbiBmcmFtZSIp
OworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3Jr
ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFw
aS9wYWludC10aW1pbmctd2l0aC13b3JrZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXItZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKK1BhaW50IEFQSSBzaG91
bGQgbm90IGJlIGF2YWlsYWJsZSBpbiB3b3JrZXIgY29udGV4dHMuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlU
eXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyB0cnVlCitQQVNTIHdvcmtlclN1cHBvcnRlZEVudHJ5
VHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgZmFsc2UKK1BBU1Mgd29ya2VyU3VwcG9ydGVkRW50
cnlUeXBlcy5pbmNsdWRlcygibWFyayIpIGlzIHRydWUKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZl
ci5zdXBwb3J0ZWRFbnRyeVR5cGVzIGRpZCBub3QgaW5jbHVkZSAncGFpbnQnIGZvciB3b3JrZXJz
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRl
eDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1p
bmctd2l0aC13b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwyNiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJQYWludCBBUEkgc2hvdWxkIG5vdCBiZSBhdmFpbGFi
bGUgaW4gd29ya2VyIGNvbnRleHRzLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwor
Y29uc3Qgd29ya2VyID0gbmV3IFdvcmtlcigiLi9yZXNvdXJjZXMvd29ya2VyLmh0bWwiKTsKK3dv
cmtlci5vbm1lc3NhZ2UgPSBldmVudCA9PiB7CisgICAgd2luZG93LndvcmtlclN1cHBvcnRlZEVu
dHJ5VHlwZXMgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpOworICAgIHNob3VsZEJlVHJ1ZSgnUGVy
Zm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7
CisgICAgc2hvdWxkQmVGYWxzZSgnd29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygi
cGFpbnQiKScpOworICAgIHNob3VsZEJlVHJ1ZSgnd29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5p
bmNsdWRlcygibWFyayIpJyk7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlci5z
dXBwb3J0ZWRFbnRyeVR5cGVzIGRpZCBub3QgaW5jbHVkZSAncGFpbnQnIGZvciB3b3JrZXJzIik7
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCit3b3JrZXIucG9zdE1lc3NhZ2UoInN0YXJ0Iik7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3Jt
YW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2
ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwxMCBAQAorUEFTUyBkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQgaXMgdHJ1
ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKCkubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIpLmxlbmd0aCBp
cyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQiLCAicGFpbnQiKS5sZW5ndGggaXMgMQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVz
QnlUeXBlKCJwYWludCIpLmxlbmd0aCBpcyAxCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmly
c3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXNuJ3QgZmlyZWQgYWdhaW4gCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK1RFWFQyCkluZGV4OiBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29u
dGVudGZ1bC1wYWludC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9i
c2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDUxIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgorZGVzY3JpcHRpb24oIkVuc3VyZSBQZXJmb3JtYW5jZU9ic2VydmVycyBhcmUgbm90
aWZpZWQgb25jZSBmb3IgZmlyc3QtY29udGVudGZ1bC1wYWludC4iKTsKK3dpbmRvdy5qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKyAKKyhhc3luYyAoKSA9PiB7CisgICAgd2luZG93LmRpZFJlY2VpdmVG
aXJzdENvbnRlbnRmdWxQYWludCA9IGZhbHNlOworICAgIHdpbmRvdy5zdGFydFRpbWUgPSBwZXJm
b3JtYW5jZS5ub3coKTsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgYXdhaXQgbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1h
bmNlT2JzZXJ2ZXIoZW50cnlMaXN0ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5lbnRyeUxpc3Qg
PSBlbnRyeUxpc3Q7CisgICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0LmdldEVudHJpZXMo
KS5sZW5ndGgnLCAiMSIpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRy
aWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikubGVuZ3RoJywgMSk7CisgICAgICAg
ICAgICBzaG91bGRCZSgnZW50cnlMaXN0LmdldEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3Ro
JywgIjEiKTsKKyAgICAgICAgICAgIHdpbmRvdy5mY3BFbnRyeSA9IGVudHJ5TGlzdC5nZXRFbnRy
aWVzKClbMF07CisgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCdkaWRSZWNlaXZlRmlyc3RDb250
ZW50ZnVsUGFpbnQnKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5uYW1lJywgJyJm
aXJzdC1jb250ZW50ZnVsLXBhaW50IicpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5
LmVudHJ5VHlwZScsICcicGFpbnQiJyk7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoJ2ZjcEVu
dHJ5LnN0YXJ0VGltZSA+IHdpbmRvdy5zdGFydFRpbWUnKTsKKyAgICAgICAgICAgIHNob3VsZEJl
VHJ1ZSgnZmNwRW50cnkuc3RhcnRUaW1lIDwgcGVyZm9ybWFuY2Uubm93KCknKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCdmY3BFbnRyeS5kdXJhdGlvbicsICIwIik7CisgICAgICAgICAgICBkaWRS
ZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQgPSB0cnVlOworICAgICAgICAgICAgcmVzb2x2ZSgp
OworICAgICAgICB9KTsKKworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBb
J3BhaW50J119KTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAnVEVYVCc7Cisg
ICAgfSkKKyAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICdURVhUMic7CisgICAgYXdhaXQg
d2FpdEZvckZDUCgpOworICAgIHNob3VsZEJlVHJ1ZSgnZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1
bFBhaW50Jyk7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXMoKS5sZW5ndGgn
LCAiMSIpOworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJz
dC1jb250ZW50ZnVsLXBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIsICJwYWludCIp
Lmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5
cGUoInBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9i
c2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2Fzbid0IGZpcmVkIGFnYWlu
ICIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSkoKTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1
YmZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jl
c291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQ+CisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+
IHsKKyAgICAgICAgbGlzdC5nZXRFbnRyaWVzKCkuZm9yRWFjaChlbnRyeSA9PiB7CisgICAgICAg
ICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHt0eXBlOiAncmVj
ZWl2ZWQnLCBlbnRyeX0pLCAnKicpOworICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIG9ic2Vy
dmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsicGFpbnQiXX0pOworICAgIHdpbmRvdy5vbm1lc3Nh
Z2UgPSBlID0+IHsKKyAgICAgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZShKU09OLnN0cmlu
Z2lmeSh7c3VwcG9ydGVkOiBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMs
IHR5cGU6ICdzdXBwb3J0ZWQnfSksICcqJyk7CisgICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJU
ZXh0ID0gIlRFWFQiOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3Bh
aW50LWFwaS11dGlscy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDUgQEAKK2FzeW5jIGZ1bmN0aW9uIHdhaXRGb3JGQ1AoKQorewor
ICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgp
ID0+IHJlc29sdmUoKSkpOworICAgIHJldHVybiB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0aCA9PSAxOworfQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9y
ZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanMJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmct
YXBpLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKK2lmIChzZWxmLmltcG9ydFNj
cmlwdHMpCisgICAgaW1wb3J0U2NyaXB0cygiLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Iik7CisKK2lmIChzZWxmLndpbmRvdykKKyAgICBkZXNjcmlwdGlvbigiQmFzaWMgSW50ZXJmYWNl
IHRlc3QgZm9yIHBhaW50LXRpbWluZyBBUElzLiIpOworCitkZWJ1ZygiUGVyZm9ybWFuY2VQYWlu
dFRpbWluZyIpOworc2hvdWxkQmVEZWZpbmVkKCJQZXJmb3JtYW5jZVBhaW50VGltaW5nIik7Citz
aG91bGRCZURlZmluZWQoYFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcucHJvdG90eXBlLnRvSlNPTmAp
Oworc2hvdWxkVGhyb3coYG5ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKClgKTsKKworaWYgKHNl
bGYuaW1wb3J0U2NyaXB0cykKKyAgICBmaW5pc2hKU1Rlc3QoKTsKSW5kZXg6IExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorc2VsZi5vbm1lc3NhZ2UgPSAoKSA9PiB7
CisgICAgc2VsZi5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShQZXJmb3JtYW5jZU9ic2VydmVy
LnN1cHBvcnRlZEVudHJ5VHlwZXMpKTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmls
ZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIworaW1hZ2UvcG5nClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDUUFBQUJJQ0FZQUFBQ2VO
bGU1QUFBQzdtbERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJE
cko0a0NKSldhdG9SZFEyL1JGaWF3emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApC
LytBSG5yd1pDOUtoVnBGS042cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05Q
V0FCT1FOeDFLaUVXbHNmRUpxCi9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3cz
djdkN0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9V
NTVlTUcxRHlzOXhGa2lmRUExTGM1L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNi
SQpFTDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1I
aHBPYkVoajBjR0RYMCtHQVZ0eHFwCitEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01w
a1lZQnpXa2hQMTB4dStMcUhCWDBtMXhPdjRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5
YURVaFFFRVVFWVppd1VFQ0dQQm94TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdr
M1R6KwpLQ0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdY
MDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1N
Rk1YalZmUHFTNFIxV2pFMzM1OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBt
VmZsUFh2WHgvR2ZOeEdQaUtURW1kb3JuSVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZK
TlZnWUpxOAo5UzlkUDF0NHZVWi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNp
dWVmS0FJdmJPREltYnB0VTNIdkVLRmxwVzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNO
WjhndkFFY2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pW
V0xwZHRpWjB4MXVIS0U1UXZmRXAwcGxrL3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9V
WEFlSXVKQUFBQQpDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFHWjBsRVFWUm9CZTJhVVc5VlJS
REhkNjh0RVZKTFcyS0N4Q1kraWdRRG9Za0tmZ0o4CjlNa25FdkVkdm9DbWtTK0E3MnBDUXNLVGov
SUpCQ1NCMU5Tb1BKcVUxQ2FrZ05pQWFlTmRmLytaT1QyMzU5N1NGdTdsNlV5eTUrek8KMloyWm5a
M2RuWmw3YzVyUEplMEtTc3BwaHA3N1UwbVBxRC9kSEZVUnlKdVlSSjhEOUprRzg0ejZROTY5WDNz
Nk5xcGpqWGFqS1NMZApFR1FmOVJXSU8rbVN6c0wxQksxWnlpR0toRmpsdVVTSFh4aHpuZlpURXlP
bncrRFhRN0NPOWVReEVKNGprRmlQUVZERWxtMXdLWi95ClBwZEtPYzNiaGJBUHpRZERUYmg4ay9l
VmxQTVAxaU9uSTdRZlVOK2dETlpZN2w4eTEwcEtrd3daWnlDekxtY1I0bXZhcDR4d1NiOUMKN3li
dGhWVHlIN3ovRHZ6QmxNdFJtSjVrekdud3h3Ti9GNkcrWXN4MTJvZjRMb0dlVVBxMTFSQ29YaUt0
dTFxbGZNZmpjMm9zWGI2RwpBSmZCMzZFTm1tSjlyRlhYaFJPVU5JZUFGNkh4R1MyWTUrK2hjVDdH
emZDV2JXMFZxaUZRWmJnUGJWRHEvc3lBRHlnM0dQY0Y3M3NtClFMSmxGQ0hOVkxiUjVTMkJoSk90
U2JQQ3VjMmw5QzdOYjJtZm9keUcxb2RCcHhLcW1vS01aQk0wMzBtS3BBYTZ2L000Q3BkdktCZUQK
d0N6TXRUd3I2Z0hVaE5RU0JZZXFwbVUvQ09wZUtwMlA2WENaY3NGcGQ5NERMMTdpcWVWeldwcFNO
TVpCalJ2UmdtYXlDYU4xbHpCdgowMmVLYit5Z3RCYjl0d29Ec2dmMFRXVXR4a3c1RFdnbGJFbTB4
Y09YWE5wVTJTS1F0dmFiSUZkWmMyeUdaU3FtbVV2ZzMySGdYNVRICk1haWFQYzBkd1ZscXJHaUlW
c3FYbkRZOG5CYzhqWGUxN1BPNStBR0czYkNiVXZtUkRqZE14ZEtNQ0xrOTdNaDlGeDA2MEg0TG12
ZFQKN3Y3RUc1dktuMkRvMm4yeXAwZXlRczFDaGdpd3RZMjVHYkFRV3A3L1ZCa1NpSlpvQXNZRHJS
aFBJU1JEU1IyL0R0Z05kdWlkOHExdAp1MGtHWEMyVEJnd0RzdEhNbk81RlBEaEdFbWViODE1QmV6
UFNrTzRtd1RsN0pzNFpnZSttc0huL01xUm5KMmhETG5qWjZXL1U5NmVPClg1UjhzNU4xRWZRZEpO
VjFvYTNvb2xyZm9UMUU4MG53RUsvRjRDMXUySkJ1YlYyVVJVZDZ2aFZzUjZHWjVveWNoM2dhYjJT
UUxJRTkKRWIyNW02eW1FOWpQaFNhWjRiUkZleU40TFRoSjh4ejhJZ0V4NjBpN0tGVmQ5L1pJbitz
K1pYZzZ1QXhqcmhGM0pYUnJlOXNQcVZISwpVOTkvRlU5NUFac2FHaVhydmRIR3FBWHk5R1RsK0RP
OC9kWTIxTWdlNGlGZTR1bWdLMlJUUTdvMEFYT3VWSW1UVzlXUndUNDNEM2c2CnVBeSt5L0NCSFU2
YWxINzd1alhGaHlHL1JGdmVoUUR2VWhBeVlOU0tEblM1eVZYRlY3WmVvemZxNnNMV2dld21vNkRn
Z0E3R2FWTmQKTVlkY1B2QWNiVGxnY3B4OERsU0dDS0k1R1R6RTZ6Z0hzb0lCY1p2V3dmZ3MyRjV4
cHZqQUF2ZjBScUVwK1Y1aHlNRXJLVEl4cnBKbApIZ0h0N3VMRzc4cDV4NDQ2eDVCWS9yTzh4TWNt
bnZWLzZZZDhkcWVaOGJOTDl6Y29Mc0J2anZkaGVLMUlRNUl0VG1hRktrS1pRMDQxClRWQmVVMlZJ
SUZxaUNSZ1BzUmRQZ1dTSUE4ZkRrU1BtdVdWQ0ZmUGtjTWpOczdOcmhZRzBYaHcwVnVlTy9LRDdr
Qkx0TS9CVFdLUU4KcFFEU2c0dUlPdVNqUEdDQWJ2enpERGlHUzNBQjNDcHQrZFZ5OHVXd2EvbjJJ
cHkwTDV1WjRqM0IrRCtoL1dYUXZtMjhqS2RGczA0MwpCTklNZFB0dU1CZ2diaW9LZzh5OWxKQWVC
dmtNRlFiSlZ4SzRLWHE5OTFscDh3MTZ5SUNYZkRJUkJwVkV0QXNQZ1VleHRYY1JBdW1UCmlJdlJE
QVgxS1c1U29LZzRxckE5WHpoUUZNMytRQkVrRUx4NkppWTk5WUNXVG11cGpvaW9XYkRPRm5HeUkz
SzV5bmZ0Q0oxVHk5U1YKT0pERy9vbWltMXU0WlFxNzFrTHBxMHhNdTBrUkJqWVRtdkVvUTd5Mmlz
QzJiK2FIZk4xMWVHMmZiRmlFK0MyK1B5L1o4QkhmMzRlaApsdVV1eHN0dTJudXl3Y2JIUTNhZysw
WUJwR1lNNFVqSDJCWHp2SFNNOWVZcTRnUzJReS9TTWI2YjlweU9NV3J4Y0cxNXFDUVBRTXNBCkg0
cjg4SXpiV2V4WWNBZlBJbDhaTUJlbEo2eThyeWNuZHBld0dyQmtJVXZmcThxTXZJNFFpaHAwREF3
R0YzaUNQcE4wK0pkK3NoVmgKZDRhdEZyVnovNUgzNk5uMmczaTk3Skt0bVY1ZVdZNXgwSklaamtl
Ylk5UUNTeHR1d0w3Y1ZiMHkzemJIMk56S3RVMVZ0VGJINkxhegovZE90VEg1VW0yUGNYa3U5WDlv
Y1k2ODJ0cXUzT2NidE5OUEV1NlBSNWhpYmVxbmJiWTZ4MXNWZWFtMk9zZFpXbTJPc2RURzQxalYw
Cm0yUHMxMDZiWSt6WFNZMXBjNHkxTHJ4V2hlSnRqakhPRkV2UEtZL1UrMmVVTnNkSWluZmdINXJh
SEdQL24rTDhkNjhsUXY1WG1tUFUKWHpORzk3ZkIvd0ZaYmcwNUVFTnVOd0FBQUFCSlJVNUVya0pn
Z2c9PQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394911</attachid>
            <date>2020-03-30 06:25:53 -0700</date>
            <delta_ts>2020-03-30 07:12:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200330162549.patch</filename>
            <type>text/plain</type>
            <size>136836</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDExMiBAQAorMjAyMC0wMy0yMyAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BhaW50LXRpbWluZy8jZmlyc3QtY29udGVudGZ1bC1wYWludC4KKyAgICAgICAgQ3VycmVu
dGx5IG11dHVhbGx5IGV4Y2x1c2l2ZSB0byB2aXN1YWxseS1ub24tZW1wdHkgaGV1cmlzdGljcy4K
KworICAgICAgICBXaGVuIHRoZSBmcmFtZSBwYWludHMgb3IgZmx1c2hlcyB0aGUgY29tcG9zaXRp
bmcgc3RhdGUsIGl0IG1hcmtzIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgYXMgYSBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IHBlcmZvcm1hbmNlIGVudHJ5LgorCisgICAgICAgIFRlc3RzOiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
dmlzaWJpbGl0eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10ZXh0LWlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdpdGgtcnRsLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9maXJz
dC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5j
ZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sCisgICAgICAgICAg
ICAgICBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAorICAgICAgICAgICAg
ICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBT
b3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRU
aW1pbmcuaDogCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDoKKyAg
ICAgICAgICAgICAgICBBZGQgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNlLgor
CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFibGVk
IGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgUGFpbnRUaW1pbmdFbmFibGVkIHJ1bnRpbWUg
ZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJp
bmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNQYWludCBjb25zdCk6CisgICAgICAgICAgICAgICAgQWRk
IGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIHBhaW50IGVudHJpZXMuCisKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6CisgICAgICAgICAgICAgICAgQWRk
ICJwYWludCIgdG8gc3VwcG9ydGVkRW50cnlUeXBlcyB3aGVuIGluIGVsaWdpYmxlIGJyb3dzaW5n
IGNvbnRleHQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aXNDb250ZW50ZnVsIGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRWxlbWVudDo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVySFRNTENhbnZhczo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6Omhhc093blBhaW50YWJs
ZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck9iamVjdDo6Y29udGFpbnNQYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVmlkZW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlkZW86Omhh
c093blBhaW50YWJsZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJW
aWRlby5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSBjb25zdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aGFz
UGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R01vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR01vZGVsT2JqZWN0
OjpoYXNPd25QYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR01vZGVsT2JqZWN0Lmg6CisgICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciBj
b21wdXRpbmcgd2hldGhlciBlbGVtZW50cyBhcmUgY29udGVudGZ1bCAmIHBhaW50YWJsZS4KKwor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CitgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JU
aGlzRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzdXBwb3J0c1BhaW50VGlt
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bWFya1BhaW50VGltaW5nSWZOZWVk
ZWQpOgorICAgICAgICAgICAgICAgIE1hcmsgZmlyc3QtY29udGVudGZ1bC1wYWludCBvbmNlIHdo
ZW4gY29tcG9zaXRpbmcvcGFpbnRpbmcuCisKIDIwMjAtMDMtMzAgIEFudG9pbmUgUXVpbnQgIDxn
cmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBNYXJrIFBvaW50ZXIgRXZlbnRzIGFuZCBXZWIg
QW5pbWF0aW9ucyBmZWF0dXJlcyBhcyBjb21wbGV0ZWQgaW4gaHR0cHM6Ly93ZWJraXQub3JnL3N0
YXR1cy8KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOTM2LDYgKzkzNiw3
IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyQ2FsbGJhY2suaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbAorICAgIHBhZ2UvUGVyZm9y
bWFuY2VQYWludFRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZv
cm1hbmNlVGltaW5nLmlkbApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZp
c2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3Jr
aW5nIGNvcHkpCkBAIC05MjYsNiArOTI2LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQo
V2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCBcCisgICAgJChXZWJDb3JlKS9wYWdl
L1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5j
ZVNlcnZlclRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVRpbWlu
Zy5pZGwgXApJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMTk4LDYgKzMxOTgsNyBAQCBK
U1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKIEpT
UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmNwcAogSlNQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0LmNwcAorSlNQZXJmb3JtYW5jZVBhaW50VGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5jcHAKIEpTUGVyZm9y
bWFuY2VUaW1pbmcuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEz
ODAzLDYgKzEzODAzLDggQEAKIAkJQ0EwOTFEODYyM0NGOTA3ODAwQUQ0MzQ2IC8qIFN0eWxlSW1h
Z2VTZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVJbWFnZVNldC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBMDkxRDg5MjNDRjkwODgwMEFENDM0NiAvKiBTdHlsZUlt
YWdlU2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxlSW1hZ2VTZXQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0ExNjM1REMyMDcyRTc2OTAwRTdEMkNFIC8qIFJlZmVycmVyUG9saWN5
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZmVycmVyUG9saWN5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEy
NDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNEODI0
MDdFRENGMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBM0JGNjdCMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxBbmltYXRvci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1
MyAvKiBTY3JvbGxBbmltYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
Y3JvbGxBbmltYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTUyQkFFNTIz
RDBBRjE2MDBERTBCODQgLyogU3R5bGVDdXJzb3JJbWFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTdHlsZUN1cnNvckltYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIw
OTQ5LDYgKzIwOTUxLDggQEAKIAkJCQlBNUE5OTMzQTFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgKi8sCiAJCQkJQTVBOTkzM0IxRTM3RkFGRDAwNUI1
RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCAqLywKIAkJCQlBNUE5OTMzQzFF
MzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwgKi8sCisJ
CQkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCAq
LywKKwkJCQlDQTE5MzNEODI0MDdFRENGMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWlu
Zy5pZGwgKi8sCiAJCQkJODY1MTJFREIxNTRBMkFFRTAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuY3BwICovLAogCQkJCTg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8sCiAJCQkJODY1MTJFREQxNTRBMkFFRjAwQTkwNDI2
IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsICovLApJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3Bw
CShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZv
cm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSwxMSBAQAog
I2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgi
CiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1h
bmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1l
YXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcg
bmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+
JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkK
KyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNiArMTc5LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3VyZSkgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWluZykgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVNlcnZl
clRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXApJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw2ICs3MSw3IEBACiAjaW5jbHVkZSAi
T3ZlcmZsb3dFdmVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlT3Zlcmxh
eUNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgogI2luY2x1ZGUgIlByb2dy
ZXNzVHJhY2tlci5oIgogI2luY2x1ZGUgIlJlbmRlckVtYmVkZGVkT2JqZWN0LmgiCiAjaW5jbHVk
ZSAiUmVuZGVyRnVsbFNjcmVlbi5oIgpAQCAtOTgxLDYgKzk4Miw3IEBAIGJvb2wgRnJhbWVWaWV3
OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3IKICNlbmRpZgogCiAgICAgcmVuZGVyVmlldy0+Y29t
cG9zaXRvcigpLmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygmcm9vdEZyYW1lRm9yRmx1c2ggPT0g
bV9mcmFtZS5wdHIoKSk7CisgICAgbWFya1BhaW50VGltaW5nSWZOZWVkZWQoKTsKIAogICAgIHJl
dHVybiB0cnVlOwogfQpAQCAtNDE5MSw2ICs0MTkzLDM4IEBAIHZvaWQgRnJhbWVWaWV3Ojp3aWxs
UGFpbnRDb250ZW50cyhHcmFwaGkKICAgICBtX2lzUGFpbnRpbmcgPSB0cnVlOwogfQogCitib29s
IEZyYW1lVmlldzo6c3VwcG9ydHNQYWludFRpbWluZygpIGNvbnN0Cit7CisgICAgaWYgKCFSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnBhaW50VGltaW5nRW5hYmxlZCgp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gZnJhbWUoKS5pc01haW5GcmFt
ZSgpIAorICAgIHx8IGZyYW1lKCkuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS5jYW5BY2Nl
c3MoZnJhbWUoKS5tYWluRnJhbWUoKS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKTsKK30K
Kwordm9pZCBGcmFtZVZpZXc6Om1hcmtQYWludFRpbWluZ0lmTmVlZGVkKCkKK3sKKyAgICBpZiAo
bV9kaWRNYXJrRmlyc3RDb250ZW50ZnVsUGFpbnQpCisgICAgICAgIHJldHVybjsKKworICAgIGlm
IChtX2ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dE1pbGVzdG9uZUlzUGVuZGluZykKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaWYgKCFzdXBwb3J0c1BhaW50VGltaW5nKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGNvbnN0IGF1dG8qIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpOwor
ICAgIGNvbnN0IGF1dG8qIHdpbmRvdyA9IGRvY3VtZW50LT5kb21XaW5kb3coKTsKKyAgICBpZiAo
IXdpbmRvdykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFyZW5kZXJWaWV3KCktPmNvbnRh
aW5zUGFpbnRhYmxlQ29udGVudCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2RpZE1hcmtG
aXJzdENvbnRlbnRmdWxQYWludCA9IHRydWU7CisgICAgd2luZG93LT5wZXJmb3JtYW5jZSgpLnJl
cG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7Cit9CisKIHZvaWQgRnJhbWVWaWV3OjpkaWRQYWlu
dENvbnRlbnRzKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgSW50UmVjdCYgZGlydHlS
ZWN0LCBQYWludGluZ1N0YXRlJiBwYWludGluZ1N0YXRlKQogewogICAgIG1faXNQYWludGluZyA9
IGZhbHNlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCShyZXZpc2lvbiAyNTkxOTQpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC02NjAs
NiArNjYwLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBpblVwZGF0ZUVtYmVkZGVkT2JqZWN0cygp
IGNvbnN0IHsgcmV0dXJuIG1faW5VcGRhdGVFbWJlZGRlZE9iamVjdHM7IH0KIAorICAgIGJvb2wg
c3VwcG9ydHNQYWludFRpbWluZygpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzY3Jv
bGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRS
ZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KSBmaW5hbDsKICAgICB2
b2lkIHNjcm9sbENvbnRlbnRzU2xvd1BhdGgoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCkgZmlu
YWw7CkBAIC04MjIsNiArODI0LDkgQEAgcHJpdmF0ZToKICAgICB9OwogICAgIHZvaWQgb3ZlcnJp
ZGVWaWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKE92ZXJyaWRlVmlld3BvcnRTaXplKTsK
IAorICAgIHZvaWQgbWFya1BhaW50VGltaW5nSWZOZWVkZWQoKTsKKyAgICBib29sIG1fZGlkTWFy
a0ZpcnN0Q29udGVudGZ1bFBhaW50IHsgZmFsc2UgfTsKKwogICAgIHN0YXRpYyBNb25vdG9uaWNU
aW1lIHNDdXJyZW50UGFpbnRUaW1lU3RhbXA7IC8vIHVzZWQgZm9yIGRldGVjdGluZyBkZWNvZGVk
IHJlc291cmNlIHRocmFzaCBpbiB0aGUgY2FjaGUKIAogICAgIGNvbnN0IFJlZjxGcmFtZT4gbV9m
cmFtZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCShyZXZpc2lvbiAyNTkx
OTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKICNpbmNs
dWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2Vy
dmVyLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgogI2luY2x1ZGUgIlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVRpbWluZy5o
IgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVXNlclRpbWluZy5oIgpAQCAtMTI0LDYgKzEyNSw5IEBA
IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICAgICAgZW50cmll
cy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNZWFzdXJlcygpKTsKICAgICB9CiAKKyAg
ICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCkKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9m
aXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBzdGQ6OnNvcnQoZW50cmllcy5iZWdpbigpLCBl
bnRyaWVzLmVuZCgpLCBQZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRpbWVDb21wYXJlTGVzc1RoYW4p
OwogICAgIHJldHVybiBlbnRyaWVzOwogfQpAQCAtMTM1LDYgKzEzOSw5IEBAIFZlY3RvcjxSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicmVzb3VyY2UiKSkKICAgICAgICAgZW50cmllcy5hcHBl
bmRWZWN0b3IobV9yZXNvdXJjZVRpbWluZ0J1ZmZlcik7CiAKKyAgICBpZiAobV9maXJzdENvbnRl
bnRmdWxQYWludCAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJw
YWludCIpKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsK
KwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBw
ZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MoKSk7CkBAIC0xNTcsNiArMTY0LDkgQEAg
VmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybQogICAgICAgICB9CiAgICAg
fQogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYgKGVudHJ5VHlwZS5pc051bGwo
KSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJwYWludCIpKSAm
JiBuYW1lID09ICJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikKKyAgICAgICAgZW50cmllcy5hcHBl
bmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAg
ICAgICAgIGlmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoZW50cnlUeXBlLCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0
b3IobV91c2VyVGltaW5nLT5nZXRNYXJrcyhuYW1lKSk7CkBAIC0xODAsNiArMTkwLDEzIEBAIHZv
aWQgUGVyZm9ybWFuY2U6OnNldFJlc291cmNlVGltaW5nQnVmZmUKICAgICBtX3Jlc291cmNlVGlt
aW5nQnVmZmVyRnVsbEZsYWcgPSBmYWxzZTsKIH0KIAordm9pZCBQZXJmb3JtYW5jZTo6cmVwb3J0
Rmlyc3RDb250ZW50ZnVsUGFpbnQoKQoreworICAgIEFTU0VSVCghbV9maXJzdENvbnRlbnRmdWxQ
YWludCk7CisgICAgbV9maXJzdENvbnRlbnRmdWxQYWludCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1p
bmc6OmNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KG5vdygpKTsKKyAgICBxdWV1ZUVudHJ5KCpt
X2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKK30KKwogdm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3Vy
Y2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRpbWluZykKIHsKICAgICBBU1NFUlQo
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
LmgJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBjbGFzcyBMb2FkVGltaW5nOwogY2xh
c3MgUGVyZm9ybWFuY2VFbnRyeTsKIGNsYXNzIFBlcmZvcm1hbmNlTmF2aWdhdGlvbjsKIGNsYXNz
IFBlcmZvcm1hbmNlT2JzZXJ2ZXI7CitjbGFzcyBQZXJmb3JtYW5jZVBhaW50VGltaW5nOwogY2xh
c3MgUGVyZm9ybWFuY2VUaW1pbmc7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVz
b3VyY2VUaW1pbmc7CkBAIC03Nyw2ICs3OCw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkUmVz
b3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJik7CiAKKyAgICB2b2lkIHJlcG9ydEZpcnN0Q29u
dGVudGZ1bFBhaW50KCk7CisKICAgICB2b2lkIHJlbW92ZUFsbE9ic2VydmVycygpOwogICAgIHZv
aWQgcmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKICAg
ICB2b2lkIHVucmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXIm
KTsKQEAgLTEyMSw2ICsxMjQsNyBAQCBwcml2YXRlOgogCiAgICAgTW9ub3RvbmljVGltZSBtX3Rp
bWVPcmlnaW47CiAKKyAgICBSZWZQdHI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4gbV9maXJzdENv
bnRlbnRmdWxQYWludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXNlclRpbWluZz4gbV91c2VyVGlt
aW5nOwogCiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3Bl
cmZvcm1hbmNlVGltZWxpbmVUYXNrUXVldWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlRW50cnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VFbnRyeS5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDExIEBA
IE9wdGlvbmFsPFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IFBlcmZvcm0KICAgICAgICAgICAgIHJl
dHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpSZXNvdXJjZSk7CiAgICAgfQogCisgICAgaWYgKFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucGFpbnRUaW1pbmdFbmFibGVk
KCkpIHsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9PSAicGFpbnQiKQorICAgICAgICAgICAgcmV0
dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6OlBhaW50KTsKKyAgICB9CisKICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
aAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgICAgICBN
YXJrID0gMSA8PCAxLAogICAgICAgICBNZWFzdXJlID0gMSA8PCAyLAogICAgICAgICBSZXNvdXJj
ZSA9IDEgPDwgMywKKyAgICAgICAgUGFpbnQgPSAxIDw8IDQKICAgICB9OwogCiAgICAgdmlydHVh
bCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC02Miw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICBi
b29sIGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UmVzb3VyY2U7
IH0KICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYXJr
OyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6
TWVhc3VyZTsgfQorICAgIGJvb2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBU
eXBlOjpQYWludDsgfQogCiAgICAgc3RhdGljIGJvb2wgc3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFu
KGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYSwgY29uc3QgUmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+JiBiKQogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDE1ICsxMTMs
MjkgQEAgdm9pZCBQZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVyKCkKICAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZEZpcmVPYnNlcnZlckNhbGxiYWNrKCpjb250ZXh0KTsKIH0KIAot
VmVjdG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcygp
CitzdGF0aWMgYm9vbCBzdXBwb3J0c1BhaW50VGltaW5nKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIHsKKyAgICBpZiAoIWlzPERvY3VtZW50Pihjb250ZXh0
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byogdmlldyA9IGRvd25jYXN0PERv
Y3VtZW50Pihjb250ZXh0KS52aWV3KCk7CisgICAgcmV0dXJuIHZpZXcgJiYgdmlldy0+c3VwcG9y
dHNQYWludFRpbWluZygpOworfQorCitWZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5jZU9ic2VydmVy
OjpzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCit7
CisgICAgVmVjdG9yPFN0cmluZz4gZW50cnlUeXBlcyA9IHsKICAgICAgICAgLy8gRklYTUU6IDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xODQzNjM+IEFkZCBzdXBwb3J0IGZvciBOYXZpZ2F0aW9uIFRp
bWluZyBMZXZlbCAyCiAgICAgICAgIC8vICJuYXZpZ2F0aW9uIl9zLAogICAgICAgICAibWFyayJf
cywKICAgICAgICAgIm1lYXN1cmUiX3MsCiAgICAgICAgICJyZXNvdXJjZSJfcwogICAgIH07CisK
KyAgICBpZiAoc3VwcG9ydHNQYWludFRpbWluZyhjb250ZXh0KSkKKyAgICAgICAgZW50cnlUeXBl
cy5hcHBlbmQoInBhaW50Il9zKTsKKworICAgIHJldHVybiBlbnRyeVR5cGVzOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZU9ic2VydmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDcgKzQ5LDcgQEAgcHVibGlj
OgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGNvbnRl
eHQsIFdURk1vdmUoY2FsbGJhY2spKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFZlY3RvcjxTdHJp
bmc+IHN1cHBvcnRlZEVudHJ5VHlwZXMoKTsKKyAgICBzdGF0aWMgVmVjdG9yPFN0cmluZz4gc3Vw
cG9ydGVkRW50cnlUeXBlcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAKICAgICB2b2lkIGRp
c2Fzc29jaWF0ZSgpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlci5pZGwJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VPYnNlcnZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDcgQEAKIF0g
aW50ZXJmYWNlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgewogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBvYnNlcnZlKFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IG9wdGlvbnMpOwogICAgIHZvaWQg
ZGlzY29ubmVjdCgpOwotICAgIHN0YXRpYyByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8
RE9NU3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVj
dXRpb25Db250ZXh0XSBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PERPTVN0
cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlczsKIH07CiAKIGRpY3Rpb25hcnkgUGVyZm9ybWFuY2VP
YnNlcnZlckluaXQgewpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50
VGltaW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBh
aW50VGltaW5nLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZVBhaW50VGltaW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBXaWtpTWVkaWEgRm91bmRhdGlvbi4gQWxsIFJpZ2h0cyBSZXNl
cnZlLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKKyNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQZXJmb3JtYW5j
ZVBhaW50VGltaW5nIGZpbmFsIDogcHVibGljIFBlcmZvcm1hbmNlRW50cnkgeworcHVibGljOgor
ICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VQYWludFRpbWluZz4gY3JlYXRlRmlyc3RDb250ZW50
ZnVsUGFpbnQoZG91YmxlIHRpbWVTdGFtcCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiX3Ms
IHRpbWVTdGFtcCkpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBQZXJmb3JtYW5jZVBhaW50VGlt
aW5nKGNvbnN0IFN0cmluZyYgbmFtZSwgZG91YmxlIHRpbWVTdGFtcCkKKyAgICAgICAgOiBQZXJm
b3JtYW5jZUVudHJ5KG5hbWUsIHRpbWVTdGFtcCwgdGltZVN0YW1wKQorICAgIHsKKyAgICB9CisK
KyAgICBBU0NJSUxpdGVyYWwgZW50cnlUeXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gInBhaW50
Il9zOyB9CisgICAgVHlwZSB0eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gVHlwZTo6UGFpbnQ7
IH0KKworICAgIH5QZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgPSBkZWZhdWx0OworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNv
cmU6OlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0
IFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KSB7IHJldHVybiBlbnRyeS5pc1BhaW50
KCk7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkobm9uZXhpc3RlbnQpCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlh
IEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGFp
bnQtdGltaW5nLworCit0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOworCitbCisg
ICAgRW5hYmxlZEF0UnVudGltZT1QYWludFRpbWluZywKKyAgICBFeHBvc2VkPShXaW5kb3cpLAor
XSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VQYWludFRpbWluZyA6IFBlcmZvcm1hbmNlRW50cnkgewor
fTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5o
CShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsOSBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRVc2VyVGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzVXNlclRpbWlu
Z0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHVzZXJUaW1pbmdFbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9pc1VzZXJUaW1pbmdFbmFibGVkOyB9CiAKKyAgICB2b2lkIHNldFBhaW50
VGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzUGFpbnRUaW1pbmdFbmFibGVkID0g
aXNFbmFibGVkOyB9CisgICAgYm9vbCBwYWludFRpbWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVy
biBtX2lzUGFpbnRUaW1pbmdFbmFibGVkOyB9CisKICAgICBib29sIHBlcmZvcm1hbmNlVGltZWxp
bmVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gcmVzb3VyY2VUaW1pbmdFbmFibGVkKCkgfHwgdXNl
clRpbWluZ0VuYWJsZWQoKTsgfQogCiAgICAgdm9pZCBzZXRTaGFkb3dET01FbmFibGVkKGJvb2wg
aXNFbmFibGVkKSB7IG1faXNTaGFkb3dET01FbmFibGVkID0gaXNFbmFibGVkOyB9CkBAIC00MjQs
NiArNDI3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNMaW5rUHJlbG9hZEVuYWJsZWQgeyB0
cnVlIH07CiAgICAgYm9vbCBtX2lzTGlua1ByZWZldGNoRW5hYmxlZCB7IGZhbHNlIH07CiAgICAg
Ym9vbCBtX2lzTWVkaWFQcmVsb2FkaW5nRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lz
UGFpbnRUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNSZXNvdXJjZVRpbWlu
Z0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1VzZXJUaW1pbmdFbmFibGVkIHsgZmFs
c2UgfTsKICAgICBib29sIG1faXNJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCB7IGZh
bHNlIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyOSw2ICszMjksNTAgQEAgU3R5bGVEaWZmZXJl
bmNlIFJlbmRlckVsZW1lbnQ6OmFkanVzdFN0eQogICAgIHJldHVybiBkaWZmOwogfQogCitib29s
IFJlbmRlckVsZW1lbnQ6OmNvbnRhaW5zUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0Cit7CisgICAg
aWYgKCFvcGFjaXR5KCkgfHwgaXNTVkdIaWRkZW5Db250YWluZXIoKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgYXV0byBoYXNQb3RlbnRpYWxseVZpc2libGVSZWdpb25zID0gWyZdKCkg
eworICAgICAgICBpZiAoc3R5bGUoKS52aXNpYmlsaXR5KCkgIT0gVmlzaWJpbGl0eTo6VmlzaWJs
ZSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBhdXRvIGRvY3VtZW50UmVj
dCA9IHZpZXcoKS5kb2N1bWVudFJlY3QoKTsKKworICAgICAgICBpZiAoYXV0byogY3VycmVudCA9
IGVsZW1lbnQoKSkKKyAgICAgICAgICAgIHJldHVybiBjdXJyZW50LT5ib3VuZGluZ0NsaWVudFJl
Y3QoKS5pbnRlcnNlY3RzKGRvY3VtZW50UmVjdCk7CisKKyAgICAgICAgcmV0dXJuIGlzVmlzaWJs
ZUluRG9jdW1lbnRSZWN0KGRvY3VtZW50UmVjdCk7CisgICAgfTsKKworICAgIGlmIChpc0NvbnRl
bnRmdWwoKSAmJiBoYXNQb3RlbnRpYWxseVZpc2libGVSZWdpb25zKCkpCisgICAgICAgIHJldHVy
biB0cnVlOworCisgICAgZm9yIChjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlck9iamVjdCA9IGZp
cnN0Q2hpbGQoKTsgcmVuZGVyT2JqZWN0OyByZW5kZXJPYmplY3QgPSByZW5kZXJPYmplY3QtPm5l
eHRTaWJsaW5nKCkpIHsKKyAgICAgICAgaWYgKHJlbmRlck9iamVjdC0+Y29udGFpbnNQYWludGFi
bGVDb250ZW50KCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKK2Jvb2wgUmVuZGVyRWxlbWVudDo6aXNDb250ZW50ZnVsKCkgY29uc3QK
K3sKKyAgICBpZiAoaGFzT3duUGFpbnRhYmxlQ29udGVudCgpKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIGlmIChzdHlsZSgpLmhhc1BhaW50YWJsZUNhY2hlZEJhY2tncm91bmRJbWFnZSgp
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGZvciAoYXV0byYgY2hpbGQgOiBjaGlsZHJl
bk9mVHlwZTxSZW5kZXJPYmplY3Q+KCp0aGlzKSkgeworICAgICAgICBpZiAoaXM8UmVuZGVyVGV4
dD4oY2hpbGQpICYmICFkb3duY2FzdDxSZW5kZXJUZXh0PihjaGlsZCkuY29udGFpbnNPbmx5SFRN
TFdoaXRlc3BhY2UoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJl
dHVybiBmYWxzZTsKK30KKwogaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6aGFzSW1tZWRpYXRl
Tm9uV2hpdGVzcGFjZVRleHRDaGlsZE9yQm9yZGVyT3JPdXRsaW5lKCkgY29uc3QKIHsKICAgICBm
b3IgKGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8UmVuZGVyT2JqZWN0PigqdGhpcykpIHsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAkocmV2aXNpb24g
MjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMTAwLDYgKzEwMCw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9p
ZCBkaXJ0eUxpbmVzRnJvbUNoYW5nZWRDaGlsZChSZW5kZXJPYmplY3QmKSB7IH0KIAorICAgIHZp
cnR1YWwgYm9vbCBoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KKwogICAgIGJvb2wgYW5jZXN0b3JMaW5lQm94RGlydHkoKSBjb25zdCB7IHJldHVybiBtX2Fu
Y2VzdG9yTGluZUJveERpcnR5OyB9CiAgICAgdm9pZCBzZXRBbmNlc3RvckxpbmVCb3hEaXJ0eShi
b29sIGYgPSB0cnVlKTsKIApAQCAtMTM5LDYgKzE0MSw4IEBAIHB1YmxpYzoKICAgICBib29sIGlz
VHJhbnNwYXJlbnQoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLm9wYWNpdHkoKSA8IDEuMGY7IH0K
ICAgICBmbG9hdCBvcGFjaXR5KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5vcGFjaXR5KCk7IH0K
IAorICAgIGJvb2wgY29udGFpbnNQYWludGFibGVDb250ZW50KCkgY29uc3QgZmluYWw7CisKICAg
ICBib29sIHZpc2libGVUb0hpdFRlc3RpbmcoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLnZpc2li
aWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlICYmIHN0eWxlKCkucG9pbnRlckV2ZW50cygp
ICE9IFBvaW50ZXJFdmVudHM6Ok5vbmU7IH0KIAogICAgIGJvb2wgaGFzQmFja2dyb3VuZCgpIGNv
bnN0IHsgcmV0dXJuIHN0eWxlKCkuaGFzQmFja2dyb3VuZCgpOyB9CkBAIC0zMTYsNiArMzIwLDgg
QEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IGNvbXB1dGVGaXJz
dExpbmVTdHlsZSgpIGNvbnN0OwogICAgIHZvaWQgaW52YWxpZGF0ZUNhY2hlZEZpcnN0TGluZVN0
eWxlKCk7CiAKKyAgICBib29sIGlzQ29udGVudGZ1bCgpIGNvbnN0OworCiAgICAgYm9vbCBjYW5E
ZXN0cm95RGVjb2RlZERhdGEoKSBmaW5hbCB7IHJldHVybiAhaXNWaXNpYmxlSW5WaWV3cG9ydCgp
OyB9CiAgICAgVmlzaWJsZUluVmlld3BvcnRTdGF0ZSBpbWFnZUZyYW1lQXZhaWxhYmxlKENhY2hl
ZEltYWdlJiwgSW1hZ2VBbmltYXRpbmdTdGF0ZSwgY29uc3QgSW50UmVjdCogY2hhbmdlUmVjdCkg
ZmluYWw7CiAgICAgdm9pZCBkaWRSZW1vdmVDYWNoZWRJbWFnZUNsaWVudChDYWNoZWRJbWFnZSYp
IGZpbmFsOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2Fu
dmFzLmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckhUTUxDYW52YXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCwxMSBAQCBSZW5k
ZXJIVE1MQ2FudmFzOjpSZW5kZXJIVE1MQ2FudmFzKEhUTUxDCiB7CiB9CiAKK2Jvb2wgUmVuZGVy
SFRNTENhbnZhczo6aGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJu
ICEhY2FudmFzRWxlbWVudCgpLnJlbmRlcmluZ0NvbnRleHQoKTsKK30KKwogSFRNTENhbnZhc0Vs
ZW1lbnQmIFJlbmRlckhUTUxDYW52YXM6OmNhbnZhc0VsZW1lbnQoKSBjb25zdAogewogICAgIHJl
dHVybiBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4obm9kZUZvck5vbkFub255bW91cygpKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaAkocmV2
aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52
YXMuaAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
ZWxlbWVudCgpIGNvbnN0ID0gZGVsZXRlOwogICAgIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0
IG92ZXJyaWRlOwogICAgIGJvb2wgaXNDYW52YXMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0
cnVlOyB9CisgICAgYm9vbCBoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJS
ZW5kZXJIVE1MQ2FudmFzIjsgfQogICAgIHZvaWQgcGFpbnRSZXBsYWNlZChQYWludEluZm8mLCBj
b25zdCBMYXlvdXRQb2ludCYpIG92ZXJyaWRlOwogICAgIHZvaWQgaW50cmluc2ljU2l6ZUNoYW5n
ZWQoKSBvdmVycmlkZSB7IGNhbnZhc1NpemVDaGFuZ2VkKCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzM5
LDYgKzMzOSwxMSBAQCB2b2lkIFJlbmRlckltYWdlOjp1cGRhdGVJbnRyaW5zaWNTaXplSWZOCiAg
ICAgc2V0SW50cmluc2ljU2l6ZShuZXdTaXplKTsKIH0KIAorYm9vbCBSZW5kZXJJbWFnZTo6aGFz
T3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1faW1hZ2VSZXNvdXJj
ZS0+Y2FjaGVkSW1hZ2UoKSAmJiAhbV9pbWFnZVJlc291cmNlLT5pbWFnZVNpemUoMSkuaXNFbXB0
eSgpOworfQorCiB2b2lkIFJlbmRlckltYWdlOjp1cGRhdGVJbm5lckNvbnRlbnRSZWN0KCkKIHsK
ICAgICAvLyBQcm9wYWdhdGUgY29udGFpbmVyIHNpemUgdG8gaW1hZ2UgcmVzb3VyY2UuCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAkocmV2aXNpb24gMjU5MTk0KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTc2LDYgKzc2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZERpc3Bs
YXlCcm9rZW5JbWFnZUljb24oKSBjb25zdDsKIAorICAgIGJvb2wgaGFzT3duUGFpbnRhYmxlQ29u
dGVudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaGFzTm9uQml0bWFwSW1hZ2UoKSBjb25z
dDsKIAogICAgIGJvb2wgaXNFZGl0YWJsZUltYWdlKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3OCw2
ICsyNzgsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJTY3JvbGxiYXJQ
YXJ0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIHZpcnR1YWwgYm9vbCBjb250YWlu
c1BhaW50YWJsZUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCiAgICAgYm9vbCBp
c0RvY3VtZW50RWxlbWVudFJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gZG9jdW1lbnQoKS5kb2N1
bWVudEVsZW1lbnQoKSA9PSAmbV9ub2RlOyB9CiAgICAgYm9vbCBpc0JvZHkoKSBjb25zdCB7IHJl
dHVybiBub2RlKCkgJiYgbm9kZSgpLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6Ym9keVRhZyk7IH0K
ICAgICBib29sIGlzSFIoKSBjb25zdCB7IHJldHVybiBub2RlKCkgJiYgbm9kZSgpLT5oYXNUYWdO
YW1lKEhUTUxOYW1lczo6aHJUYWcpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0LmgJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTE3OSw3ICsxNzksNyBAQCBwdWJsaWM6CiAg
ICAgTGF5b3V0VW5pdCB0b3BPZkZpcnN0VGV4dCgpIGNvbnN0OwogICAgIAogICAgIGJvb2wgY29u
dGFpbnNPbmx5SFRNTFdoaXRlc3BhY2UodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuZ3RoKSBj
b25zdDsKLSAgICAKKyAgICBib29sIGNvbnRhaW5zT25seUhUTUxXaGl0ZXNwYWNlKCkgY29uc3Qg
eyByZXR1cm4gY29udGFpbnNPbmx5SFRNTFdoaXRlc3BhY2UoMCwgdGV4dCgpLmxlbmd0aCgpKTsg
fSAKICAgICBib29sIGNhblVzZVNpbXBsaWZpZWRUZXh0TWVhc3VyaW5nKCkgY29uc3QgeyByZXR1
cm4gbV9jYW5Vc2VTaW1wbGlmaWVkVGV4dE1lYXN1cmluZzsgfQogCiAgICAgVmVjdG9yPHN0ZDo6
cGFpcjx1bnNpZ25lZCwgdW5zaWduZWQ+PiBkcmFnZ2VkQ29udGVudFJhbmdlc0JldHdlZW5PZmZz
ZXRzKHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBlbmRPZmZzZXQpIGNvbnN0OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCShyZXZpc2lvbiAyNTkx
OTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC05Miw2ICs5MiwxNCBAQCB2b2lkIFJlbmRlclZpZGVvOjppbnRyaW5zaWNTaXpl
Q2hhbmdlZCgpCiAgICAgdXBkYXRlSW50cmluc2ljU2l6ZSgpOyAKIH0KIAorYm9vbCBSZW5kZXJW
aWRlbzo6aGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0Cit7CisgICAgaWYgKHZpZGVvRWxl
bWVudCgpLnNob3VsZERpc3BsYXlQb3N0ZXJJbWFnZSgpKQorICAgICAgICByZXR1cm4gUmVuZGVy
SW1hZ2U6Omhhc093blBhaW50YWJsZUNvbnRlbnQoKTsKKworICAgIHJldHVybiB2aWRlb0VsZW1l
bnQoKS5yZWFkeVN0YXRlKCkgPiBIVE1MTWVkaWFFbGVtZW50RW51bXM6OkhBVkVfTUVUQURBVEE7
Cit9CisKIGJvb2wgUmVuZGVyVmlkZW86OnVwZGF0ZUludHJpbnNpY1NpemUoKQogewogICAgIExh
eW91dFNpemUgc2l6ZSA9IGNhbGN1bGF0ZUludHJpbnNpY1NpemUoKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uaAkod29ya2luZyBjb3B5KQpAQCAtNjcsNiAr
NjcsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCByZXF1aXJlc0xheWVyKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wgaXNWaWRlbygpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IHRydWU7IH0KKyAgICBib29sIGhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdCBvdmVycmlk
ZTsKIAogICAgIHZvaWQgcGFpbnRSZXBsYWNlZChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2lu
dCYpIGZpbmFsOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExh
eWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmls
bExheWVyLmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL0ZpbGxMYXllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0MCw2ICszNDAsMTUgQEAg
Ym9vbCBGaWxsTGF5ZXI6OmNvbnRhaW5zSW1hZ2UoU3R5bGVJbWFnZQogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAorYm9vbCBGaWxsTGF5ZXI6Omhhc0xvYWRlZENhY2hlZEltYWdlKCkgY29uc3QKK3sK
KyAgICBmb3IgKGF1dG8qIGxheWVyID0gdGhpczsgbGF5ZXI7IGxheWVyID0gbGF5ZXItPm1fbmV4
dC5nZXQoKSkgeworICAgICAgICBpZiAobGF5ZXItPm1faW1hZ2UgJiYgbGF5ZXItPm1faW1hZ2Ut
PmlzTG9hZGVkKCkgJiYgbGF5ZXItPm1faW1hZ2UtPmhhc0NhY2hlZEltYWdlKCkpCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIEZp
bGxMYXllcjo6aW1hZ2VzQXJlTG9hZGVkKCkgY29uc3QKIHsKICAgICBmb3IgKGF1dG8qIGxheWVy
ID0gdGhpczsgbGF5ZXI7IGxheWVyID0gbGF5ZXItPm1fbmV4dC5nZXQoKSkgewpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAkocmV2aXNpb24gMjU5MTk0
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xNDUsNiArMTQ1LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBjb250YWluc0lt
YWdlKFN0eWxlSW1hZ2UmKSBjb25zdDsKICAgICBib29sIGltYWdlc0FyZUxvYWRlZCgpIGNvbnN0
OworICAgIGJvb2wgaGFzTG9hZGVkQ2FjaGVkSW1hZ2UoKSBjb25zdDsKICAgICBib29sIGhhc0lt
YWdlKCkgY29uc3QgeyByZXR1cm4gbV9uZXh0ID8gaGFzSW1hZ2VJbkFueUxheWVyKCkgOiBtX2lt
YWdlOyB9CiAgICAgYm9vbCBoYXNGaXhlZEltYWdlKCkgY29uc3Q7CiAgICAgYm9vbCBoYXNPcGFx
dWVJbWFnZShjb25zdCBSZW5kZXJFbGVtZW50JikgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAJKHJldmlzaW9uIDI1OTE5NCkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ0NCw2ICs0NDQsMjEgQEAgYm9vbCBSZW5kZXJTdHlsZTo6ZGVzY2VuZGFu
dEFmZmVjdGluZ05vbgogICAgICAgICAmJiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5qdXN0aWZ5
SXRlbXMgPT0gb3RoZXIubV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+anVzdGlmeUl0ZW1zOwogfQog
Citib29sIFJlbmRlclN0eWxlOjpoYXNQYWludGFibGVDYWNoZWRCYWNrZ3JvdW5kSW1hZ2UoKSBj
b25zdAoreworICAgIGlmICghaGFzQmFja2dyb3VuZEltYWdlKCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIGNvbnN0IEZpbGxMYXllciYgYmFja2dyb3VuZCA9IGJhY2tncm91bmRMYXll
cnMoKTsKKyAgICBpZiAoIWJhY2tncm91bmQuaGFzTG9hZGVkQ2FjaGVkSW1hZ2UoKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGJhY2tncm91bmRTaXplTGVuZ3RoKCkuaXNFbXB0
eSgpICYmIGJhY2tncm91bmRTaXplVHlwZSgpID09IEZpbGxTaXplVHlwZTo6U2l6ZSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKICNpZiBFTkFCTEUoVEVY
VF9BVVRPU0laSU5HKQogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGNvbXB1dGVGb250SGFzaChj
b25zdCBGb250Q2FzY2FkZSYgZm9udCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDE1LDYg
KzQxNSw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBMZW5ndGhTaXplJiBiYWNrZ3JvdW5kU2l6ZUxl
bmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2dyb3VuZERhdGEtPmJhY2tncm91bmQuc2l6ZUxl
bmd0aCgpOyB9CiAgICAgRmlsbExheWVyJiBlbnN1cmVCYWNrZ3JvdW5kTGF5ZXJzKCkgeyByZXR1
cm4gbV9iYWNrZ3JvdW5kRGF0YS5hY2Nlc3MoKS5iYWNrZ3JvdW5kOyB9CiAgICAgY29uc3QgRmls
bExheWVyJiBiYWNrZ3JvdW5kTGF5ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9iYWNrZ3JvdW5kRGF0
YS0+YmFja2dyb3VuZDsgfQorICAgIGJvb2wgaGFzUGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZElt
YWdlKCkgY29uc3Q7CiAKICAgICBTdHlsZUltYWdlKiBtYXNrSW1hZ2UoKSBjb25zdCB7IHJldHVy
biBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5tYXNrLmltYWdlKCk7IH0KICAgICBGaWxsUmVwZWF0
IG1hc2tSZXBlYXRYKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RmlsbFJlcGVhdD4obV9y
YXJlTm9uSW5oZXJpdGVkRGF0YS0+bWFzay5yZXBlYXRYKCkpOyB9CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmNwcAko
cmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdNb2RlbE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1OCw2ICsxNTgsMTEgQEAgc3Rh
dGljIGJvb2wgaXNHcmFwaGljc0VsZW1lbnQoY29uc3QgUmVuZAogICAgIHJldHVybiByZW5kZXJl
ci5pc1NWR1NoYXBlKCkgfHwgcmVuZGVyZXIuaXNTVkdUZXh0KCkgfHwgcmVuZGVyZXIuaXNTVkdJ
bWFnZSgpIHx8IHJlbmRlcmVyLmVsZW1lbnQoKS0+aGFzVGFnTmFtZShTVkdOYW1lczo6dXNlVGFn
KTsKIH0KIAorYm9vbCBSZW5kZXJTVkdNb2RlbE9iamVjdDo6aGFzT3duUGFpbnRhYmxlQ29udGVu
dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGlzR3JhcGhpY3NFbGVtZW50KCp0aGlzKTsKK30KKwog
Ly8gVGhlIFNWRyBhZGRGb2N1c1JpbmdSZWN0cygpIG1ldGhvZCBhZGRzIHJlY3RzIGluIGxvY2Fs
IGNvb3JkaW5hdGVzIHNvIHRoZSBkZWZhdWx0IGFic29sdXRlRm9jdXNSaW5nUXVhZHMKIC8vIHJl
dHVybnMgaW5jb3JyZWN0IHZhbHVlcyBmb3IgU1ZHIG9iamVjdHMuIE92ZXJyaWRpbmcgdGhpcyBt
ZXRob2QgcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBhYnNvbHV0ZSBib3VuZHMuCiB2b2lkIFJlbmRl
clNWR01vZGVsT2JqZWN0OjphYnNvbHV0ZUZvY3VzUmluZ1F1YWRzKFZlY3RvcjxGbG9hdFF1YWQ+
JiBxdWFkcykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9k
ZWxPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR01vZGVsT2JqZWN0LmgJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAt
NjksNiArNjksNyBAQCBwcm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAgYm9vbCBpc1JlbmRlclNW
R01vZGVsT2JqZWN0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIGJvb2wgaGFz
T3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IGZpbmFsOwogCiAgICAgLy8gVGhpcyBtZXRob2Qg
c2hvdWxkIG5ldmVyIGJlIGNhbGxlZCwgU1ZHIHVzZXMgYSBkaWZmZXJlbnQgbm9kZUF0UG9pbnQg
bWV0aG9kCiAgICAgYm9vbCBub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRl
c3RSZXN1bHQmLCBjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNv
bnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbikgb3ZlcnJp
ZGU7CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wMy0yMyAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBhIHJ1bnRpbWUgZmxhZyBmb3IgcGFpbnQtdGltaW5nIChwYWludFRp
bWluZ0VuYWJsZWQpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQ
cmVmZXJlbmNlc1NldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2Vz
R2V0UGFpbnRUaW1pbmdFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlc1JlZlByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbjo6dXBkYXRlUHJlZmVyZW5jZXNTdG9yZSk6CisKIDIwMjAtMDMt
MjkgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBbQXV0b1Np
emluZ10gQnJpbmcgYmFjayB0aGUgb2xkIGF1dG8tc2l6aW5nIGNvZGUgYXMgYSBkZXByZWNhdGVk
IGNvZGVwYXRoIGZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAkod29ya2luZyBjb3B5KQpAQCAtODM5LDYg
KzgzOSwxMyBAQCBVc2VyVGltaW5nRW5hYmxlZDoKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9u
OiAiRW5hYmxlIFVzZXJUaW1pbmcgQVBJIgogICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJs
ZWRGZWF0dXJlcwogCitQYWludFRpbWluZ0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVs
dFZhbHVlOiB0cnVlCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiUGFpbnQgVGltaW5nIgorICBodW1h
blJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgUGFpbnQgVGltaW5nIEFQSSIKKyAgd2ViY29y
ZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKwogQmVhY29uQVBJRW5hYmxlZDoKICAg
dHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAyNTkxOTQpCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTgxOSw2ICsxODE5LDE2IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldFVzZXJU
aW1pbmdFbmFibGVkKFcKICAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+dXNlclRp
bWluZ0VuYWJsZWQoKTsKIH0KIAordm9pZCBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFi
bGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKK3sKKyAgICB0
b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRQYWludFRpbWluZ0VuYWJsZWQoZmxhZyk7Cit9CisK
K2Jvb2wgV0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVm
IHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5w
YWludFRpbWluZ0VuYWJsZWQoKTsKK30KKwogdm9pZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VU
aW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykK
IHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQo
ZmxhZyk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
UmVmUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTUwMCw2ICs1MDAsMTAgQEAgV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1Nl
dFVzZXJUaW1pbgogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFi
bGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCiAvLyBEZWZhdWx0cyB0byBmYWxzZQorV0tfRVhQT1JU
IHZvaWQgV0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVm
LCBib29sIGZsYWcpOworV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5n
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKKworLy8gRGVmYXVsdHMgdG8gZmFsc2UKIFdLX0VY
UE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRSZXNv
dXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTIyLDYgKzEyMiw3IEBAIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb246OnVwZGEKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldENhY2hlQVBJRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OmNhY2hlQVBJRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUVuYWJsZWQoc3RvcmUuZ2V0Qm9v
bFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpmZXRjaEFQSUVuYWJsZWRLZXkoKSkpOwog
ICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWlu
Z0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp1c2Vy
VGltaW5nRW5hYmxlZEtleSgpKSk7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5
KFdlYlByZWZlcmVuY2VzS2V5OjpwYWludFRpbWluZ0VuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFi
bGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVzb3VyY2VU
aW1pbmdFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZEtleSgpKSk7
CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXN0cmlj
dGVkSFRUUFJlc3BvbnNlQWNjZXNzKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJl
bmNlc0tleTo6cmVzdHJpY3RlZEhUVFBSZXNwb25zZUFjY2Vzc0tleSgpKSk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAy
MC0wMy0yMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1w
bGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHByZWZlcmVuY2Uga2V5IGZvciBwYWlu
dCB0aW1pbmcuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5o
OgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlBy
ZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgcGFpbnRU
aW1pbmdFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldFBhaW50VGltaW5n
RW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgor
ICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKwogMjAyMC0wMy0yOSAgRGFyaW4gQWRsZXIg
IDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBUZXh0SXRlcmF0b3I6OnJhbmdlRnJv
bUxvY2F0aW9uQW5kTGVuZ3RoIG9mZiBvZiBsaXZlIHJhbmdlcwpJbmRleDogU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJp
dmF0ZS5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNjAsNiAr
MjYwLDcgQEAKICNkZWZpbmUgV2ViS2l0QXR0YWNobWVudEVsZW1lbnRFbmFibGVkUHJlZmVyZW5j
ZUtleSBAIldlYktpdEF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0SW50
ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEludGVyc2VjdGlv
bk9ic2VydmVyRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TWVudUl0ZW1FbGVtZW50RW5hYmxlZFBy
ZWZlcmVuY2VLZXkgQCJXZWJLaXRNZW51SXRlbUVsZW1lbnRFbmFibGVkIgorI2RlZmluZSBXZWJL
aXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UGFpbnRUaW1pbmdFbmFi
bGVkIgogI2RlZmluZSBXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJL
aXRVc2VyVGltaW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVk
UHJlZmVyZW5jZUtleSBAIldlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZCIKICNkZWZpbmUgV2Vi
S2l0TWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnRQcmVmZXJlbmNlS2V5
IEAiV2ViS2l0TWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQiCkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMu
bW0JKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTY4Myw2ICs2ODMsNyBAQCArICh2
b2lkKWluaXRpYWxpemUKICNpZiBFTkFCTEUoSU5URVJTRUNUSU9OX09CU0VSVkVSKQogICAgICAg
ICBATk8sIFdlYktpdEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXksCiAj
ZW5kaWYKKyAgICAgICAgQE5PLCBXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5
LAogICAgICAgICBATk8sIFdlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAg
ICAgICAgQE5PLCBXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAg
ICAgICBATk8sIFdlYktpdE1lZGlhVXNlckdlc3R1cmVJbmhlcml0c0Zyb21Eb2N1bWVudCwKQEAg
LTMzMDgsNiArMzMwOSwxNiBAQCAtICh2b2lkKXNldFVzZXJUaW1pbmdFbmFibGVkOihCT09MKWZs
YWcKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFVzZXJUaW1pbmdF
bmFibGVkUHJlZmVyZW5jZUtleV07CiB9CiAKKy0gKEJPT0wpcGFpbnRUaW1pbmdFbmFibGVkCit7
CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UGFpbnRUaW1pbmdFbmFi
bGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0UGFpbnRUaW1pbmdFbmFibGVkOihC
T09MKWZsYWcKK3sKKyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFBh
aW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCiAtIChCT09MKXJlc291cmNlVGlt
aW5nRW5hYmxlZAogewogICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFJl
c291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOwpJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCShy
ZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02NjEsNiArNjYxLDcgQEAgQGlu
dGVyZmFjZSBXZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZSkKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
KSBCT09MIGtleWdlbkVsZW1lbnRFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wg
dXNlclRpbWluZ0VuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCByZXNvdXJjZVRp
bWluZ0VuYWJsZWQ7CitAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBwYWludFRpbWluZ0VuYWJs
ZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBsaW5rUHJlbG9hZEVuYWJsZWQ7CiBAcHJv
cGVydHkgKG5vbmF0b21pYykgQk9PTCBtZWRpYVVzZXJHZXN0dXJlSW5oZXJpdHNGcm9tRG9jdW1l
bnQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBpc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVF
bmFibGVkOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMTk2LDYgKzMxOTYsNyBAQCAtICh2b2lkKV9w
cmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFVzZXJUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnVz
ZXJUaW1pbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldFJlc291cmNlVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5yZXNvdXJjZVRpbWlu
Z0VuYWJsZWQpOworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0UGFpbnRUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnBhaW50VGltaW5nRW5hYmxlZCk7CiAg
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMaW5rUHJlbG9h
ZEVuYWJsZWQocHJlZmVyZW5jZXMubGlua1ByZWxvYWRFbmFibGVkKTsKICAgICBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQo
cHJlZmVyZW5jZXMubWVkaWFQcmVsb2FkaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRJc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFi
bGVkKHByZWZlcmVuY2VzLmlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQpOwpJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dl
YktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAg
IEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgcHJlZmVyZW5jZSBrZXkgZm9yIHBh
aW50LXRpbWluZy4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0
ZS5pZGw6CisgICAgICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICog
V2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAg
ICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5n
ZWQpOgorCiAyMDIwLTAzLTI5ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNb3ZlIFRleHRJdGVyYXRvcjo6cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGggb2ZmIG9m
IGxpdmUgcmFuZ2VzCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTE5Nyw2ICsxOTcsOCBAQAogCiAjZGVmaW5lIFdlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVy
ZW5jZUtleSAiV2ViS2l0VXNlclRpbWluZ0VuYWJsZWQiCiAKKyNkZWZpbmUgV2ViS2l0UGFpbnRU
aW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkIgorCiAj
ZGVmaW5lIFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFJl
c291cmNlVGltaW5nRW5hYmxlZCIKIAogI2RlZmluZSBXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQ
cmVmZXJlbmNlS2V5ICJXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWQiCkluZGV4OiBTb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAyNTkxOTQpCisrKyBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMyNiw2ICszMjYsOCBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVs
dFNlCiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0UmVz
b3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKKyAg
ICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0UGFpbnRUaW1pbmdF
bmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CisKICAgICBDRkRpY3Rpb25h
cnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVy
ZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShk
ZWZhdWx0cywgQ0ZTVFIoV2ViS2l0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkp
LCBrQ0ZCb29sZWFuRmFsc2UpOwpAQCAtMjQxNCw2ICsyNDE2LDIwIEBAIEhSRVNVTFQgV2ViUHJl
ZmVyZW5jZXM6OnJlc291cmNlVGltaW5nRW4KICAgICByZXR1cm4gU19PSzsKIH0KIAorSFJFU1VM
VCBXZWJQcmVmZXJlbmNlczo6c2V0UGFpbnRUaW1pbmdFbmFibGVkKEJPT0wgZW5hYmxlZCkKK3sK
KyAgICBzZXRCb29sVmFsdWUoV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwg
ZW5hYmxlZCk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6
OnBhaW50VGltaW5nRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQoreworICAgIGlmICghZW5h
YmxlZCkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKyAgICAqZW5hYmxlZCA9IGJvb2xWYWx1
ZUZvcktleShXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KTsKKyAgICByZXR1
cm4gU19PSzsKK30KKwogSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2VydmVyVGltaW5nRW5hYmxl
ZChfT3V0XyBCT09MKiBlbmFibGVkKQogewogICAgIGlmICghZW5hYmxlZCkKSW5kZXg6IFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAkocmV2aXNpb24gMjU5MTk0KQorKysg
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAkod29ya2luZyBjb3B5KQpA
QCAtMjUxLDYgKzI1MSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgc2V0VXNlclRpbWluZ0VuYWJsZWQoQk9PTCk7CiAgICAgdmlydHVhbCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIHJlc291cmNlVGltaW5nRW5hYmxlZChfT3V0XyBCT09MKik7CiAg
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFJlc291cmNlVGltaW5nRW5h
YmxlZChCT09MKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcGFpbnRU
aW1pbmdFbmFibGVkKF9PdXRfIEJPT0wqKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgc2V0UGFpbnRUaW1pbmdFbmFibGVkKEJPT0wpOwogICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSBsaW5rUHJlbG9hZEVuYWJsZWQoX091dF8gQk9PTCopOwogICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRMaW5rUHJlbG9hZEVuYWJsZWQo
Qk9PTCk7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIG1lZGlhUHJlbG9h
ZGluZ0VuYWJsZWQoX091dF8gQk9PTCopOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmll
dy5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZp
ZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MjgzLDYgKzUyODMsMTEgQEAgSFJFU1VMVCBXZWJW
aWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQogICAgICAgICByZXR1cm4gaHI7CiAgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxl
ZCghIWVuYWJsZWQpOwogCisgICAgaHIgPSBwcmVmc1ByaXZhdGUtPnBhaW50VGltaW5nRW5hYmxl
ZCgmZW5hYmxlZCk7CisgICAgaWYgKEZBSUxFRChocikpCisgICAgICAgIHJldHVybiBocjsKKyAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFBhaW50VGltaW5n
RW5hYmxlZCghIWVuYWJsZWQpOworCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPnJlc291cmNlVGlt
aW5nRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVy
biBocjsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZl
cmVuY2VzUHJpdmF0ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4v
SW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAkocmV2aXNpb24gMjU5MTk0KQor
KysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTk3LDYgKzE5Nyw4IEBAIGludGVyZmFjZSBJV2Vi
UHJlZmVyZW5jZXNQcml2YXRlNCA6IElXZWIKICAgICBIUkVTVUxUIHNldFVzZXJUaW1pbmdFbmFi
bGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKICAgICBIUkVTVUxUIHJlc291cmNlVGltaW5nRW5hYmxl
ZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKICAgICBIUkVTVUxUIHNldFJlc291cmNlVGltaW5nRW5h
YmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBwYWludFRpbWluZ0VuYWJsZWQo
W291dCwgcmV0dmFsXSBCT09MKik7CisgICAgSFJFU1VMVCBzZXRQYWludFRpbWluZ0VuYWJsZWQo
W2luXSBCT09MIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgbGlua1ByZWxvYWRFbmFibGVkKFtvdXQs
IHJldHZhbF0gQk9PTCopOwogICAgIEhSRVNVTFQgc2V0TGlua1ByZWxvYWRFbmFibGVkKFtpbl0g
Qk9PTCBlbmFibGVkKTsKICAgICBIUkVTVUxUIG1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoW291dCwg
cmV0dmFsXSBCT09MKik7CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTkxOTQpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wMy0yMyAgTm9hbSBSb3NlbnRoYWwgIDxu
b2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1
bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBwcmVmZXJlbmNlIGtleSBmb3IgcGFpbnQtdGltaW5nLgorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJl
bmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1
bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3Rl
bnRWYWx1ZXMpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVmZXJlbmNlc1RvQ29uc2lz
dGVudFZhbHVlcyk6CisKIDIwMjAtMDMtMjggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyNTc5NjMpIFVJIHByb2Nlc3Mg
Y3Jhc2hlcyB3aGVuIHNldHRpbmcgbmF2aWdhdGlvbiBkZWxlZ2F0ZSBpbnNpZGUgbmF2aWdhdGlv
biBkZWxlZ2F0ZSBjYWxsYmFja3MKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW0JKHJldmlzaW9uIDI1OTE5NCkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9EdW1wUmVuZGVyVHJlZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTAwNCw2ICsxMDA0LDcg
QEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdAogICAgIFtwcmVmZXJl
bmNlcyBzZXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNl
cyBzZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0VXNl
clRpbWluZ0VuYWJsZWQ6WUVTXTsKKyAgICBbcHJlZmVyZW5jZXMgc2V0UGFpbnRUaW1pbmdFbmFi
bGVkOllFU107CiAKICAgICBbcHJlZmVyZW5jZXMgc2V0Q2FjaGVBUElFbmFibGVkOk5PXTsKICAg
ICBwcmVmZXJlbmNlcy5tZWRpYUNhcGFiaWxpdGllc0VuYWJsZWQgPSBZRVM7CkluZGV4OiBUb29s
cy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAJKHJldmlzaW9uIDI1OTE5
NCkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTg5OSw2ICs4OTksNyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVu
Y2VzVG9Db25zaXN0CiAgICAgcHJlZnNQcml2YXRlLT5zZXRDdXN0b21FbGVtZW50c0VuYWJsZWQo
VFJVRSk7CiAgICAgcHJlZnNQcml2YXRlLT5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoVFJVRSk7
CiAgICAgcHJlZnNQcml2YXRlLT5zZXRVc2VyVGltaW5nRW5hYmxlZChUUlVFKTsKKyAgICBwcmVm
c1ByaXZhdGUtPnNldFBhaW50VGltaW5nRW5hYmxlZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGUt
PnNldERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGUtPmNs
ZWFyTmV0d29ya0xvYWRlclNlc3Npb24oKTsKIApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MzEsNiArOTMx
LDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVmZXJlbmNlc1RvQwogICAgIFdLUHJl
ZmVyZW5jZXNTZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOwog
ICAgIFdLUHJlZmVyZW5jZXNTZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRy
dWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRVc2VyVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcywg
dHJ1ZSk7CisgICAgV0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5nRW5hYmxlZChwcmVmZXJlbmNl
cywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQocHJl
ZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVBsYXliYWNrQWxsb3dz
SW5saW5lKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0SW5saW5lTWVk
aWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUocHJlZmVyZW5jZXMsIGZhbHNl
KTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE5NCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDIwLTAzLTIzICBOb2FtIFJvc2VudGhh
bCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250
ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkZWQgdGVzdHMgZm9yIHNvbWUgZmlyc3QtY29udGVudGZ1bC1wYWludCAoRkNQKSB1
c2UtY2FzZXMuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGlt
aW5nLWFwaXMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNl
cy9wYWludC10aW1pbmctYXBpLmpzOiBBZGRlZC4KKyAgICAgICAgICAgICAgICBUZXN0IGV4aXN0
ZW5jZSBvZiBwYWludCB0aW1pbmcgQVBJIG9uIHRoZSB3aW5kb3cgb2JqZWN0LgorCisgICAgICAg
ICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQtZnJhbWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJz
dC1jb250ZW50ZnVsLXBhaW50LXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtd2l0aC13b3JrZXIu
aHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3Vi
ZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93
b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAgICAgICAgICAgVGVzdCB0aGF0IEZDUCBpcyBub3Qg
YXZhaWxhYmxlIGZvciBjcm9zcy1vcmlnaW4gZnJhbWVzIGFuZCB3b3JrZXJzLgorCisgICAgICAg
ICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVy
Zm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qczogQWRk
ZWQuCisgICAgICAgIChhc3luYyB3YWl0Rm9yRkNQKToKKyAgICAgICAgICAgICAgICBUZXN0IHRo
YXQgcGVyZm9ybWFuY2Ugb2JzZXJ2ZXJzIGFyZSBjYWxsZWQgZm9yIEZDUC4KKwogMjAyMC0wMy0z
MCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIGNz
cy9zZWxlY3RvcnMgV1BUIHRlc3RzCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDI1OTE5NCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw3OCBAQAorMjAyMC0wMy0yMyAgTm9hbSBSb3NlbnRo
YWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29u
dGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEltcG9ydGVkIHRlc3Qtc3VpdGUgZnJvbSB3M2MgdG8gY292ZXIgZmlyc3QtY29udGVu
dGZ1bC1wYWludCBjYXNlcy4KKyAgICAgICAgVGhlIGZjcC1vbmx5IGNhc2VzIGFyZSBpbXBvcnRl
ZCwgd2hpbGUgdGhlIG90aGVyIG9uZXMgYXJlIG5vdCBzaW5jZSBXZWJLaXQgZG9lcyBub3Qgc3Vw
cG9ydCBmaXJzdC1wYWludC4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRp
b25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1z
aXplLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdl
LXNldC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
Zy1pbWFnZS10d28tc3RlcHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWdyYWRpZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFu
dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LTNkLXJvdGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS1zY2FsZS10cmFuc2l0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVz
Y2VuZGFudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5k
cy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3Bs
YXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
aW1hZ2UuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4
dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNl
dWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LXZpc2liaWxpdHkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBz
ZXVkby5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZy
YW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBv
c3Rlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFj
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmc6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJm
cmFtZS1wYWludGluZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0
aWxzLmpzOiBBZGRlZC4KKyAgICAgICAgKHdhaXRUaW1lKToKKyAgICAgICAgKGFzeW5jIGFzc2Vy
dE5vRmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAgICAoYXN5bmMgYXNzZXJ0Rmlyc3RDb250
ZW50ZnVsUGFpbnQpOgorICAgICAgICAodGVzdF9mY3ApOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKwog
MjAyMC0wMy0zMCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAg
VXBkYXRlIGNzcy9zZWxlY3RvcnMgV1BUIHRlc3RzCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNv
bgkocmV2aXNpb24gMjU5MTk0KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNl
cy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTEzLDYgKzEzLDgg
QEAKICAgICAiY3NzL2dlb21ldHJ5IjogImltcG9ydCIsIAogICAgICJjc3Mvc3VwcG9ydCI6ICJp
bXBvcnQiLCAKICAgICAiY3VzdG9tLWVsZW1lbnRzIjogImltcG9ydCIsIAorICAgICJwYWludC10
aW1pbmcvIjogImltcG9ydCIsIAorICAgICJwYWludC10aW1pbmcvZmNwLW9ubHkiOiAiaW1wb3J0
IiwgCiAgICAgInNoYWRvdy1kb20iOiAiaW1wb3J0IiwgCiAgICAgInRvb2xzIjogImltcG9ydCIs
IAogICAgICJ3ZWItYW5pbWF0aW9ucyI6ICJpbXBvcnQiLCAKQEAgLTMxOSw3ICszMjEsOCBAQAog
ICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvb3JpZW50YXRpb24tZXZlbnQiOiAic2tpcCIsIAogICAg
ICJ3ZWItcGxhdGZvcm0tdGVzdHMvb3JpZW50YXRpb24tc2Vuc29yIjogInNraXAiLCAKICAgICAi
d2ViLXBsYXRmb3JtLXRlc3RzL3BhZ2UtdmlzaWJpbGl0eSI6ICJza2lwIiwgCi0gICAgIndlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmciOiAic2tpcCIsIAorICAgICJ3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5IjogImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtaGFuZGxlciI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9y
bS10ZXN0cy9wYXltZW50LW1ldGhvZC1iYXNpYy1jYXJkIjogInNraXAiLCAKICAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtbWV0aG9kLWlkIjogInNraXAiLCAKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJh
Y2tncm91bmQgc2l6ZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVy
Zm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gYmFja2dyb3VuZCBzaXplPC90
aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBi
YWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAg
YmFja2dyb3VuZC1zaXplOiAwIDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBp
cyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsK
KyAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7CisgICAgfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgc2l6ZS4iKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50
eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBpbWFnZSBpbiBpbWFnZS1zZXQuIAorCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWJnLWltYWdlLXNldC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
Zy1pbWFnZS1zZXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBG
Q1AgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0PC90aXRsZT4KKzxzdHlsZT4K
KyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9m
Y3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiAtd2Via2l0LWltYWdlLXNldCh1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKSAx
eCk7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXNldCh1cmwoLi4vcmVzb3VyY2Vz
L2NpcmNsZXMucG5nKSAxeCk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rp
dj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0LiIpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0
ZXBzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hl
biB2aXNpYmxlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBmaXJlIGZvciBiYWNr
Z3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFp
biB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9
CisKKyAgICAvKiBjb250ZW50ZnVsIGFuZCBwcmVGQ1AgY2xhc3NlcyBhcmUgZGVmaW5lZCBpbiB0
ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4ucHJlRkNQIHsKKyAgICAgICAgdmlzaWJpbGl0
eTogaGlkZGVuOworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwsICAjbWFpbi5wcmVGQ1Ag
eworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5n
KTsKKyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTog
dmlzaWJsZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlw
dD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dy
b3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBDYW52YXMgc2hvdWxkIGNvdW50
IGFzIGNvbnRlbnRmdWwgd2hlbiBjb250ZXh0IGlzIGNyZWF0ZWQgCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52
YXMtY29udGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29u
dGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCB3aGVu
IGNhbnZhcyBjb250ZXh0IGlzIGNyZWF0ZWQ8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxjYW52YXMgaWQ9ImNhbnZhcyIg
d2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVz
dChhc3luYyB0ID0+IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5j
ZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2Fp
dCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOwor
ICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICBjb25zdCBjYW52
YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FudmFzJyk7CisgICAgY29uc3QgY29udGV4
dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworICAgIGNvbnRleHQuZmlsbFJlY3QoMCwgMCwg
MTAwLCAxMDApOworICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0s
ICdDYW52YXMgc2hvdWxkIGNvdW50IGFzIGNvbnRlbnRmdWwgd2hlbiBjb250ZXh0IGlzIGNyZWF0
ZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Z3JhZGllbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVu
dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBHcmFkaWVu
dHMgc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsIAorCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Z3JhZGllbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZv
cm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIG5vdCBmaXJlIHdpdGggZ3JhZGll
bnQtb25seSBiYWNrZ3JvdW5kczwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAg
ICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGJhY2tncm91
bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIG9yYW5nZSwgYmx1ZSk7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAg
ICAgY29uc3QgbWFpbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluJyk7CisgICAgICBh
d2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikp
OworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAgJ0dy
YWRpZW50cyBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwnKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1k
ZXNjZW5kYW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyByb3RhdGluZyBpbnRv
IHZpZXcuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5k
YW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUt
ZGVzY2VuZGFudC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWlu
ZyBUZXN0OiBGQ1AgZHVlIHRvIDNkIHJldmVhbGluZyBvZiBkZXNjZW5kYW50czwvdGl0bGU+Cis8
c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZl
OworICAgICAgICB0b3A6IDA7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCg0NWRlZyk7Cisg
ICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7CisgICAgfQorCisgICAgLyoKKyAg
ICAgICBUaGlzIHRlc3RzIHRoYXQgZ2l2ZW4gbXVsdGlwbGljYXRpb24gZWZmZWN0IG9mIDNkIHRy
YW5zZm9ybXMgb24gYm91bmRpbmcgcmVjdCwKKyAgICAgICBBbiBlbGVtZW50IGNvdW50cyBhcyBj
b250ZW50ZnVsL3BhaW50YWJsZSBvbmx5IHdoZW4gaXRzIGJvdW5kaW5nIHJlY3QgaXMgdHJ1bHkg
bm9uLWVtcHR5ICovCisgICAgI2NoaWxkIHsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDQ1
ZGVnKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zv
cm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlk
PSJjaGlsZCI+VGV4dDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyByb3Rh
dGluZyBpbnRvIHZpZXcuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4dAorCitQQVNTIEZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgZmlyZXMgZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldy4gCisKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQg
VGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gM2Qgcm90YXRpb24gaW50byB2aWV3PC90aXRsZT4KKzxz
dHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVko
OTBkZWcpOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAg
ICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2Ny
aXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7
CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91
dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj5UZXh0PC9kaXY+Cis8c2NyaXB0Pgor
ICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byAzZCByb3Rh
dGlvbiBpbnRvIHZpZXcuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gc2NhbGUgYmVjb21pbmcgcG9zaXRpdmUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RFWFQKKworUEFTUyBGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gcmV2ZWFsZWQgZHVyaW5nIHRyYW5zaXRpb24uIAorCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgaW4gdHJhbnNpdGlv
bjwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7Cisg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNm
b3JtOiBzY2FsZSgwKTsKKyAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwczsKKyAgICAg
ICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAgLyog
Y29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAj
bWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKKyAgICB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRFWFQ8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcgdHJh
bnNpdGlvbi4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtc2NhbGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXNjYWxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1
ZSB0byBzY2FsZSBjaGFuZ2U8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAg
d2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7
CisgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2
ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVz
b3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlz
IGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgewor
ICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWlu
Ij48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQg
ZmlyZXMgZHVlIHRvIHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiIpCis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorSU5WSVNJQkxFCisKK1BBU1MgRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcg
dmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgc3RpbGwgZmlyZSBmb3IgaW52aXNpYmxlIHRl
eHQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7
CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNw
IHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTog
dmlzaWJsZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIElOVklTSUJM
RQorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiIpCis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRh
bnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2Nl
bmRhbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5
LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAor
VGV4dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNl
c3RvciBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS1kZXNjZW5kYW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkt
ZGVzY2VuZGFudC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRl
c2NlbmRhbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
ZHVlIHRvIGFuY2VzdG9yIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAg
ICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0
OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAg
IH0KKworICAgICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyog
Y29udGVudGZ1bCBhbmQgaW50ZXJtZWRpYXRlIGNsYXNzZXMgYXJlIGRlZmluZWQgaW4gdGVzdF9m
Y3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI2NoaWxkIHsKKyAgICAgICAgb3Bh
Y2l0eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgI2NoaWxkIHsKKyAgICAg
ICAgb3BhY2l0eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgeworICAgICAg
ICBvcGFjaXR5OiAwOworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBv
cGFjaXR5OiAwLjU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2
IGlkPSJjaGlsZCI+VGV4dDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBw
b3NpdGl2ZSBvcGFjaXR5LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFT
UyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVs
ZW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LW9wYWNpdHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
ZHVlIHRvIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lk
dGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7Cisg
ICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNr
Z3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgb3Bh
Y2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4g
dGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFj
aXR5OiAwLjE7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3Jp
cHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIG9w
YWNpdHktcmV2ZWFsZWQgZWxlbWVudC4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBk
dWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIGR1ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1l
bnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHRyYW5z
Zm9ybS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudDwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMDBw
eCk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAg
ICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9
CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0
LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7Cisg
ICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVz
dF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1iYXNl
ZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWlu
ZyBUZXN0OiBGQ1AgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50PC90aXRsZT4KKzxz
dHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgbGVmdDogLTEwMDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9y
ZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3Mg
aXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7
CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwv
ZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBkdWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIikKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBA
CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1l
bnQgdGV4dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhl
YWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNl
dWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJU
RVhUIjsKKyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVs
IGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRl
bnRmdWw6YWZ0ZXIgeworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC1pbWFnZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVk
by1lbGVtZW50IGltYWdlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWlt
YWdlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdl
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdl
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBw
c2V1ZG8tZWxlbWVudCBpbWFnZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAg
ICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQg
aW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAg
ICAgICBjb250ZW50OiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4i
KQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4gCisKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVy
Zm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0
dGluZyBwb3NpdGl2ZSBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAg
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVu
dDogIlRFWFQiOworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRm
dWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29u
dGVudGZ1bDphZnRlciB7CisgICAgICAgIG9wYWNpdHk6IDAuNTsKKyAgICB9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0
aXZlIG9wYWNpdHkuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LXRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9D
VFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6
IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21h
aW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsK
KyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNz
IGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6
YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAiVEVYVCIKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYg
aWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4K
KzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZp
c2liaWxpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBk
dWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21p
bmcgdmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsK
KyAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwg
Y2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVu
dGZ1bDphZnRlciB7CisgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcg
dmlzaWJsZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atc3ZnLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIHdoZW4gU1ZHIGJlY29tZXMgY29udGVudGZ1bC4gCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1zdmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFp
bnQgVGltaW5nIFRlc3Q6IEZDUCB3aXRoIFNWRzwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
IGxlZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgIH0KKworICAgICNj
aXJjbGUgeworICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVs
IGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRl
bnRmdWwgI2NpcmNsZSB7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0
PgorPGRpdiBpZD0ibWFpbiI+CisgIDxzdmcgdmlld0JveD0iMCAwIDEwIDEwIiB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciCisgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hsaW5rIj4KKyAgICA8ZGVmcz4KKyAgICAgIDxjaXJjbGUgaWQ9Im15Q2lyY2xl
IiBjeD0iNSIgY3k9IjUiIHI9IjQiIHN0cm9rZT0iYmx1ZSIvPgorICAgIDwvZGVmcz4KKyAgICA8
dXNlIGlkPSJjaXJjbGUiIGhyZWY9IiNteUNpcmNsZSIgZmlsbD0iZ3JlZW4iIC8+CisgIDwvc3Zn
PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIHdoZW4gU1ZHIGJlY29tZXMgY29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+
CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVGV4dCBpbnB1dCBzaG91bGQgYmVjb21l
IGNvbnRlbnRmdWwgd2hlbiBpdHMgdmFsdWUgaXMgbm9uLWVtcHR5IAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdGV4dC1pbnB1dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlu
cHV0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIGZvciBub24tZW1w
dHkgdGV4dCBpbnB1dDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGlucHV0IGlkPSJpbnB1dCIgdHlwZT0idGV4dCIgLz4K
KzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVj
b25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNu
J3Qgc3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250
ZW50ZnVsUGFpbnQoKTsKKyAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2lucHV0Jyk7CisgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJyAgJyk7Cisg
ICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgICBpbnB1dC5z
ZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ3ZhbHVlJyk7CisgICAgICBhd2FpdCBhc3NlcnRGaXJzdENv
bnRlbnRmdWxQYWludCgpOworICB9LCAnVGV4dCBpbnB1dCBzaG91bGQgYmVjb21lIGNvbnRlbnRm
dWwgd2hlbiBpdHMgdmFsdWUgaXMgbm9uLWVtcHR5Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorQQorCitQQVNTIEZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgb25seSB3aGVuIHNvbWUgb2YgdGhlIHRleHQgaXMgdmlz
aWJsZSwgY29uc2lkZXJpbmcgOjpmaXJzdC1sZXR0ZXIuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
dHlwb2dyYXBoaWMtcHNldWRvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9n
cmFwaGljLXBzZXVkby5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3Jh
cGhpYy1wc2V1ZG8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBG
Q1Agc2hvdWxkIG5vdCBmaXJlIHdoZW4gYWxsIHRleHQgaXMgaGlkZGVuIGR1ZSB0byB0eXBvZ3Jh
cGhpYyBwc2V1ZG8tZWxlbWVudHM8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAg
ICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW4gKjo6Zmlyc3QtbGV0dGVyIHsKKyAgICAg
ICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmlu
ZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgKjo6Zmlyc3Qt
bGV0dGVyIHsKKyAgICAgICAgb3BhY2l0eTogMTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9
Im1haW4iPgorICAgIDxkaXY+QTwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNw
KCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIG9ubHkgd2hlbiBzb21lIG9mIHRoZSB0ZXh0
IGlzIHZpc2libGUsIGNvbnNpZGVyaW5nIDo6Zmlyc3QtbGV0dGVyLiIpCis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29t
ZSBjb250ZW50ZnVsIHdoZW4gZmlyc3QgZnJhbWUgaXMgbG9hZGVkIAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdmlkZW8tZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8t
ZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRl
ZCB2aWRlbyBmcmFtZTwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHZpZGVvIGlkPSJ2aWRlbyIgYXV0b3BsYXk+PC92aWRl
bz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9w
cmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcg
aXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RD
b250ZW50ZnVsUGFpbnQoKTsKKyAgICAgIGNvbnN0IHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3ZpZGVvJyk7CisgICAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3NyYycsICcvbWVkaWEv
dGVzdC5tcDQnKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAg
ICB2aWRlby5vbmNhbnBsYXkgPSByZXNvbHZlOworICAgICAgfSk7CisgICAgICBhd2FpdCBhc3Nl
cnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAnVmlkZW8gc2hvdWxkIGJlY29tZSBjb250
ZW50ZnVsIHdoZW4gZmlyc3QgZnJhbWUgaXMgbG9hZGVkJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29tZSBj
b250ZW50ZnVsIHdoZW4gcG9zdGVyIGlzIGxvYWRlZCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZp
ZGVvLXBvc3Rlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0
aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBsb2FkZWQgdmlk
ZW8gcG9zdGVyPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8dmlkZW8gaWQ9InZpZGVvIiB3aWR0aD0iNTAiIGhlaWdodD0i
NTAiPjwvdmlkZW8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAg
YXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50
IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICBhd2FpdCBhc3NlcnROb0Zp
cnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndmlkZW8nKTsKKyAgICBjb25zdCBzcmMgPSAnLi4vcmVzb3VyY2VzL2NpcmNsZXMu
cG5nJzsKKyAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpOworICAgIGltYWdlLnNyYyA9IHNy
YzsKKyAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3Bvc3RlcicsIHNyYyk7CisgICAgYXdhaXQgbmV3
IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIGltYWdlLm9ubG9hZCA9IGFzeW5jICgpID0+
IHJlc29sdmUoKTsKKyAgICB9KQorICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50
KCk7CisgIH0sICdWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBwb3N0ZXIgaXMg
bG9hZGVkJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hp
dGVzcGFjZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRl
c3BhY2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAor
CitQQVNTIFdoaXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsLiAKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atd2hpdGVzcGFjZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNw
YWNlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogV2hpdGVzcGFj
ZSBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWw8L3RpdGxlPgorPHN0eWxlPgorICAgICNt
YWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7
CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgu
Li9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDAgMDsK
KyAgICB9CisKKyAgICAjdGV4dCB7CisgICAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisg
ICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8K
KyAgICAjbWFpbi5jb250ZW50ZnVsICN0ZXh0eworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAg
ICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxz
LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXYgaWQ9IndoaXRlc3BhY2Ui
PiAgIDwvZGl2PgorICAgIDxkaXYgaWQ9InRleHQiPlRFWFQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlw
dD4KKyAgICB0ZXN0X2ZjcCgiV2hpdGVzcGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRm
dWwuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdp
dGgtcnRsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgRkNQ
IHNob3VsZCBmaXJlIHdoZW4gY29vcmRpbmF0ZXMgYXJlIG5lZ2F0aXZlLCBpZiB3aXRoaW4gZG9j
dW1lbnQgc2Nyb2xsYWJsZSBhcmVhIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50
IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGRpcmVjdGlvbiBjaGFuZ2U8L3RpdGxlPgorPHN0eWxl
PgorICAjdGV4dCB7CisgICAgcmlnaHQ6IC0xMDBweDsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7
CisgIH0KKworICBib2R5IHsKKyAgICBkaXJlY3Rpb246IHJ0bDsKKyAgfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5IGRpcmVjdGlvbj0iUlRMIj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
dXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPGRpdiBpZD0idGV4dCI+VEVYVDwvZGl2PgorPHNjcmlwdD4KKyAgcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cu
UGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7
CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCds
b2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOwor
ICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5kaXJlY3Rpb24gPSAnbHRyJworICAgICAgYXdhaXQg
YXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ0ZDUCBzaG91bGQgZmlyZSB3aGVu
IGNvb3JkaW5hdGVzIGFyZSBuZWdhdGl2ZSwgaWYgd2l0aGluIGRvY3VtZW50IHNjcm9sbGFibGUg
YXJlYScpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS93M2Mt
aW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS93M2MtaW1wb3J0LmxvZwkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS93M2MtaW1wb3J0LmxvZwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQzIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9t
IHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkg
aW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0
aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4g
cnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1w
b3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0
eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdv
LXN0ZXBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVz
Y2VuZGFudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24u
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS1zY2FsZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW92ZXJmbG93Lmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtb3BhY2l0eS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0
eS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atc3ZnLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXIuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJj
bGUuc3ZnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAor
PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSI+Cisg
ICA8Y2lyY2xlIGN4PSIxMDAiIGN5PSI1MCIgcj0iNDAiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13
aWR0aD0iMiIgZmlsbD0ibm9uZSIgLz4KKzwvc3ZnPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1l
LXBhaW50aW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5n
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4K
KzxkaXYgaWQ9ImltYWdlIj48L2Rpdj4KKzxzY3JpcHQ+CisgIGNvbnN0IGltZyA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ0lNRycpOworICBpbWcuc3JjID0gJ2NpcmNsZXMucG5nJzsKKyAgaW1n
Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGZ1bmN0aW9uIHNlbmRQYWludEVudHJpZXMoKSB7
CisgICAgICBjb25zdCBwYWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBl
KCdwYWludCcpOworICAgICAgaWYgKHBhaW50RW50cmllcy5sZW5ndGggPCAyKSB7CisgICAgICAg
IHNldFRpbWVvdXQoc2VuZFBhaW50RW50cmllcywgMjApOworICAgICAgICByZXR1cm47CisgICAg
ICB9CisgICAgICBsZXQgZW50cnlDb250ZW50cyA9IHBhaW50RW50cmllcy5sZW5ndGggKyAnJzsK
KyAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFpbnRFbnRyaWVzLmxlbmd0aDsgaSsrKSB7Cisg
ICAgICAgIGNvbnN0IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAgICAgICBlbnRyeUNvbnRl
bnRzICs9ICcgJyArIGVudHJ5LmVudHJ5VHlwZSArICcgJyAgKyBlbnRyeS5uYW1lOworICAgICAg
fQorICAgICAgcGFyZW50LnBvc3RNZXNzYWdlKGVudHJ5Q29udGVudHMsICcqJyk7CisgICAgfTsK
KyAgICBzZW5kUGFpbnRFbnRyaWVzKCk7CisgIH07CisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdpbWFnZScpLmFwcGVuZENoaWxkKGltZyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdD4KKyAgc2VsZi5hZGRFdmVu
dExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZSkgeworICAgIC8vIFNlbmQgcGFpbnQtdGlt
aW5nIGVudHJpZXMgdXBvbiByZWNlaXZpbmcgYSBtZXNzYWdlLgorICAgIGNvbnN0IHBhaW50RW50
cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3BhaW50Jyk7CisgICAgbGV0IGVu
dHJ5Q29udGVudHMgPSBwYWludEVudHJpZXMubGVuZ3RoICsgJyc7CisgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgIGNvbnN0IGVudHJ5ID0g
cGFpbnRFbnRyaWVzW2ldOworICAgICAgZW50cnlDb250ZW50cyArPSAnICcgKyBlbnRyeS5lbnRy
eVR5cGUgKyAnICcgICsgZW50cnkubmFtZTsKKyAgICB9CisgICAgcGFyZW50LnBvc3RNZXNzYWdl
KGVudHJ5Q29udGVudHMsICcqJyk7CisgIH0pOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMv
dXRpbHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL3Jlc291cmNlcy91dGlscy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU2IEBACisv
LyBOdW1iZXIgbWlsbGlzZWNvbmRzIHRvIHdhaXQgZm9yIENTUyByZXNvdXJjZXMgdG8gbG9hZC4K
K2NvbnN0IG51bU1pbGxpc2Vjb25kc1dhaXQgPSA1MDsKKworLy8gV2UgdXNlIHJlcXVlc3RBbmlt
YXRpb25GcmFtZSgpIGNhbGxzIHRvIGZvcmNlIHRoZSB1c2VyIGFnZW50IHRvIHBhaW50IGFuZCBn
aXZlIGVub3VnaAorLy8gdGltZSBmb3IgRkNQIHRvIHNob3cgdXAgaW4gdGhlIHBlcmZvcm1hbmNl
IHRpbWVsaW5lLiBIZW5jZSwgc2V0IHxudW1GcmFtZXNXYWl0aW5nfCB0bworLy8gMyBhbmQgdXNl
IHRoYXQgY29uc3RhbnQgd2hlbmV2ZXIgdGhlIHRlc3QgbmVlZHMgdG8gd2FpdCBmb3IgdGhlIG5l
eHQgcGFpbnQgdG8gb2NjdXIuCitjb25zdCBudW1GcmFtZXNXYWl0aW5nID0gMzsKKworZnVuY3Rp
b24gd2FpdFRpbWUodCkgeworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0LnN0ZXBf
dGltZW91dChyZXNvbHZlLCBudW1NaWxsaXNlY29uZHNXYWl0KSk7Cit9CisKK2Z1bmN0aW9uIHdh
aXRGb3JBbmltYXRpb25GcmFtZXMoY291bnQpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29s
dmUgPT4geworICAgIGlmIChjb3VudC0tIDw9IDApIHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9
IGVsc2UgeworICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgd2Fp
dEZvckFuaW1hdGlvbkZyYW1lcyhjb3VudCkudGhlbihyZXNvbHZlKTsKKyAgICAgIH0pOworICAg
IH0KKyAgfSk7Cit9CisKKy8vIEFzc2VydHMgdGhhdCB0aGVyZSBpcyBjdXJyZW50bHkgbm8gRkNQ
IHJlcG9ydGVkLCBldmVuIGFmdGVyIHNvbWUgd2FpdC4KK2FzeW5jIGZ1bmN0aW9uIGFzc2VydE5v
Rmlyc3RDb250ZW50ZnVsUGFpbnQodCkgeworICBpZiAodCkKKyAgICBhd2FpdCB3YWl0VGltZSh0
KTsKKworICBhd2FpdCB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKG51bUZyYW1lc1dhaXRpbmcpOwor
ICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ2ZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQnKS5sZW5ndGgsIDAsICdGaXJzdCBjb250ZW50ZnVsIHBhaW50IG1hcmtlZCB0
b28gZWFybHkuICcpOworfQorCisvLyBBc3NlcnRzIHRoYXQgRkNQIGlzIHJlcG9ydGVkLCBwb3Nz
aWJseSBhZnRlciBzb21lIHdhaXQuIFRoZSB3YWl0IGlzIG5lZWRlZAorLy8gYmVjYXVzZSBzb21l
dGltZXMgdGhlIEZDUCByZWxpZXMgb24gc29tZSBDU1MgcmVzb3VyY2VzIHRvIGZpbmlzaCBsb2Fk
aW5nLgorYXN5bmMgZnVuY3Rpb24gYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQodCkgeworICBp
ZiAodCkKKyAgICBhd2FpdCB3YWl0VGltZSh0KTsKKyAgYXdhaXQgd2FpdEZvckFuaW1hdGlvbkZy
YW1lcyhudW1GcmFtZXNXYWl0aW5nKTsKKyAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoLCAxLCAnRXhwZWN0
ZWQgZmlyc3QgY29udGVudGZ1bCBwYWludCBub3QgZm91bmQuICcpOworfQorCitmdW5jdGlvbiB0
ZXN0X2ZjcChsYWJlbCkgeworICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J3N0eWxlJyk7CisgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOworICByZXR1cm4g
cHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93
LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIp
OworICAgIGNvbnN0IG1haW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbicpOworICAg
IGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBy
KSk7CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIG1haW4u
Y2xhc3NOYW1lID0gJ3ByZUZDUCc7CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQ
YWludCgpOworICAgIG1haW4uY2xhc3NOYW1lID0gJ2NvbnRlbnRmdWwnOworICAgIGF3YWl0IGFz
c2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sIGxhYmVsKTsKK30KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291
cmNlcy93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5s
b2cJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMjEgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93
cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJL
aXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCist
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05v
bmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9w
YWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZworL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1z
ZW5kaW5nLXBhaW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5n
L3Jlc291cmNlcy91dGlscy5qcwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Bh
aW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorQmFzaWMgSW50ZXJmYWNl
IHRlc3QgZm9yIHBhaW50LXRpbWluZyBBUElzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworUGVyZm9ybWFuY2VQYWludFRpbWluZworUEFTUyBQZXJmb3JtYW5jZVBhaW50VGltaW5n
IGlzIGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcucHJvdG90eXBlLnRvSlNP
TiBpcyBkZWZpbmVkLgorUEFTUyBuZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0
aW5nICduZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygpJykuCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFw
aS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10
aW1pbmctZnJhbWVzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBA
CitQYWludCBBUEkgc2hvdWxkIGJlIGF2YWlsYWJsZSBmb3Igc2FtZS1vcmlnaW4gZnJhbWVzIGJ1
dCBub3QgdG8gY3Jvc3Mtb3JpZ2luL3NhbmRib3hlZCBmcmFtZXMuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIHJlY2VpdmVkRXZlbnQuc291cmNlIGlzIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKS5jb250ZW50V2luZG93CitQQVNTIHJlY2VpdmVk
RW50cnkubmFtZSBpcyAnZmlyc3QtY29udGVudGZ1bC1wYWludCcKK1BBU1MgZGlkUmVjZWl2ZU1l
c3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1lIGlzIGZhbHNlCitQQVNTIEFycmF5LmlzQXJyYXkobm9u
U2FuZGJveFN1cHBvcnRlZFR5cGVzKSBpcyB0cnVlCitQQVNTIEFycmF5LmlzQXJyYXkoc2FuZGJv
eFN1cHBvcnRlZFR5cGVzKSBpcyB0cnVlCitQQVNTIGRpZFJlY2VpdmVNZXNzYWdlIGlzIHRydWUK
K1BBU1Mgbm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIHRydWUK
K1BBU1Mgc2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIGZhbHNlCitQ
QVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3
YXMgZmlyZWQgZm9yIHNhbWUtb3JpZ2luIGZyYW1lIGJ1dCBub3QgZm9yIGNyb3NzLW9yaWdpbiBm
cmFtZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
KworVEVYVApJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1m
cmFtZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFp
bnQtdGltaW5nLWZyYW1lcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKyAgICA8aWZyYW1lIHdpZHRoPSIxMDAiIGhlaWdo
dD0iMTAwIiBpZD0ibm9uU2FuZGJveGVkIiBzcmM9Ii4vcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5o
dG1sIj48L2lmcmFtZT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+Cis8aWZyYW1lIGlkPSJz
YW5kYm94ZWQiIHNyYz0iLi9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwiIHNhbmRib3g9ImFs
bG93LXNjcmlwdHMiPjwvaWZyYW1lPgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKworICAg
IFRFWFQKKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJQYWludCBBUEkgc2hvdWxkIGJlIGF2YWls
YWJsZSBmb3Igc2FtZS1vcmlnaW4gZnJhbWVzIGJ1dCBub3QgdG8gY3Jvc3Mtb3JpZ2luL3NhbmRi
b3hlZCBmcmFtZXMuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit3aW5kb3cuZGlk
UmVjZWl2ZU1lc3NhZ2UgPSBmYWxzZTsKKword2luZG93Lm9ubG9hZCA9IGFzeW5jICgpID0+IHsK
KyAgICBjb25zdCBzYW5kYm94ZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2FuZGJveGVk
Jyk7CisgICAgY29uc3Qgbm9uU2FuZGJveGVkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25v
blNhbmRib3hlZCcpOworICAgIGNvbnN0IGZjcE1lc3NhZ2VQcm9taXNlID0gbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB7CisgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBldmVudCA9PiB7CisgICAg
ICAgICAgICB3aW5kb3cucmVjZWl2ZWRFdmVudCA9IGV2ZW50OworICAgICAgICAgICAgY29uc3Qg
aXNGcm9tU2FuZGJveGVkID0gZXZlbnQuc291cmNlID09PSBzYW5kYm94ZWQuY29udGVudFdpbmRv
dzsKKyAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpOwor
ICAgICAgICAgICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHsKKyAgICAgICAgICAgICAgICBjYXNl
ICdzdXBwb3J0ZWQnOgorICAgICAgICAgICAgICAgICAgICBpZiAoaXNGcm9tU2FuZGJveGVkKQor
ICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LnNhbmRib3hTdXBwb3J0ZWRUeXBlcyA9IG1l
c3NhZ2Uuc3VwcG9ydGVkOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAg
ICAgICAgICAgICB3aW5kb3cubm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzID0gbWVzc2FnZS5zdXBw
b3J0ZWQ7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2Ug
J3JlY2VpdmVkJzoKKyAgICAgICAgICAgICAgICAgICAgd2luZG93LmRpZFJlY2VpdmVNZXNzYWdl
RnJvbVNhbmRib3hlZElmcmFtZSA9IGlzRnJvbVNhbmRib3hlZDsKKyAgICAgICAgICAgICAgICAg
ICAgd2luZG93LnJlY2VpdmVkRW50cnkgPSBtZXNzYWdlLmVudHJ5OworICAgICAgICAgICAgICAg
ICAgICBkaWRSZWNlaXZlTWVzc2FnZSA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCdyZWNlaXZlZEV2ZW50LnNvdXJjZScsICJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9u
U2FuZGJveGVkJykuY29udGVudFdpbmRvdyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgncmVjZWl2ZWRFbnRyeS5uYW1lJywgIidmaXJzdC1jb250ZW50ZnVsLXBhaW50JyIpOworICAg
ICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgfQorICAgICAgICB9OworICAgIH0pOworCisgICAgc2FuZGJveGVkLmNvbnRl
bnRXaW5kb3cucG9zdE1lc3NhZ2UoInBhaW50IiwgIioiKTsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQ
KCk7CisgICAgbm9uU2FuZGJveGVkLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoInBhaW50Iiwg
IioiKTsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgYXdhaXQgZmNwTWVzc2FnZVByb21p
c2U7CisgICAgc2hvdWxkQmVGYWxzZSgnZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZy
YW1lJyk7CisgICAgc2hvdWxkQmVUcnVlKCdBcnJheS5pc0FycmF5KG5vblNhbmRib3hTdXBwb3J0
ZWRUeXBlcyknKTsKKyAgICBzaG91bGRCZVRydWUoJ0FycmF5LmlzQXJyYXkoc2FuZGJveFN1cHBv
cnRlZFR5cGVzKScpOworICAgIHNob3VsZEJlVHJ1ZSgnZGlkUmVjZWl2ZU1lc3NhZ2UnKTsKKyAg
ICBzaG91bGRCZVRydWUoJ25vblNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygicGFpbnQi
KScpOworICAgIHNob3VsZEJlRmFsc2UoJ3NhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygi
cGFpbnQiKScpOworICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29u
dGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXMgZmlyZWQgZm9yIHNhbWUtb3JpZ2luIGZyYW1lIGJ1
dCBub3QgZm9yIGNyb3NzLW9yaWdpbiBmcmFtZSIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfTsK
KworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFw
aS9wYWludC10aW1pbmctd2l0aC13b3JrZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMTMgQEAKK1BhaW50IEFQSSBzaG91bGQgbm90IGJlIGF2YWlsYWJsZSBpbiB3b3Jr
ZXIgY29udGV4dHMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFBlcmZv
cm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyB0
cnVlCitQQVNTIHdvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMg
ZmFsc2UKK1BBU1Mgd29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygibWFyayIpIGlz
IHRydWUKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzIGRpZCBu
b3QgaW5jbHVkZSAncGFpbnQnIGZvciB3b3JrZXJzCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgt
d29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIEhU
TUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxz
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJQ
YWludCBBUEkgc2hvdWxkIG5vdCBiZSBhdmFpbGFibGUgaW4gd29ya2VyIGNvbnRleHRzLiIpOwor
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworY29uc3Qgd29ya2VyID0gbmV3IFdvcmtlcigi
Li9yZXNvdXJjZXMvd29ya2VyLmh0bWwiKTsKK3dvcmtlci5vbm1lc3NhZ2UgPSBldmVudCA9PiB7
CisgICAgd2luZG93LndvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMgPSBKU09OLnBhcnNlKGV2ZW50
LmRhdGEpOworICAgIHNob3VsZEJlVHJ1ZSgnUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRF
bnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnd29ya2Vy
U3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKScpOworICAgIHNob3VsZEJlVHJ1
ZSgnd29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygibWFyayIpJyk7CisgICAgdGVz
dFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzIGRpZCBub3Qg
aW5jbHVkZSAncGFpbnQnIGZvciB3b3JrZXJzIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9Owor
Cit3b3JrZXIucG9zdE1lc3NhZ2UoInN0YXJ0Iik7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVy
LWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50
ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAorUEFTUyBkaWRSZWNl
aXZlRmlyc3RDb250ZW50ZnVsUGFpbnQgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRy
aWVzKCkubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmly
c3QtY29udGVudGZ1bC1wYWludCIpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiLCAicGFpbnQiKS5sZW5ndGggaXMg
MQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCBpcyAx
CitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFj
ayB3YXNuJ3QgZmlyZWQgYWdhaW4gCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKK1RFWFQyCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1m
aXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFp
bnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgSFRNTD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkVuc3Vy
ZSBQZXJmb3JtYW5jZU9ic2VydmVycyBhcmUgbm90aWZpZWQgb25jZSBmb3IgZmlyc3QtY29udGVu
dGZ1bC1wYWludC4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAKKyhhc3luYyAo
KSA9PiB7CisgICAgd2luZG93LmRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCA9IGZhbHNl
OworICAgIHdpbmRvdy5zdGFydFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICBhd2FpdCB3
YWl0Rm9yRkNQKCk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAg
IGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZW50cnlMaXN0ID0+IHsK
KyAgICAgICAgICAgIHdpbmRvdy5lbnRyeUxpc3QgPSBlbnRyeUxpc3Q7CisgICAgICAgICAgICBz
aG91bGRCZSgnZW50cnlMaXN0LmdldEVudHJpZXMoKS5sZW5ndGgnLCAiMSIpOworICAgICAgICAg
ICAgc2hvdWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVs
LXBhaW50IikubGVuZ3RoJywgMSk7CisgICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0Lmdl
dEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICAgICAgICAgIHdpbmRv
dy5mY3BFbnRyeSA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzKClbMF07CisgICAgICAgICAgICBzaG91
bGRCZUZhbHNlKCdkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQnKTsKKyAgICAgICAgICAg
IHNob3VsZEJlKCdmY3BFbnRyeS5uYW1lJywgJyJmaXJzdC1jb250ZW50ZnVsLXBhaW50IicpOwor
ICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5LmVudHJ5VHlwZScsICcicGFpbnQiJyk7Cisg
ICAgICAgICAgICBzaG91bGRCZVRydWUoJ2ZjcEVudHJ5LnN0YXJ0VGltZSA+IHdpbmRvdy5zdGFy
dFRpbWUnKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgnZmNwRW50cnkuc3RhcnRUaW1lIDwg
cGVyZm9ybWFuY2Uubm93KCknKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5kdXJh
dGlvbicsICIwIik7CisgICAgICAgICAgICBkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQg
PSB0cnVlOworICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9KTsKKworICAgICAgICBv
YnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbJ3BhaW50J119KTsKKyAgICAgICAgZG9jdW1l
bnQuYm9keS5pbm5lclRleHQgPSAnVEVYVCc7CisgICAgfSkKKyAgICBkb2N1bWVudC5ib2R5Lmlu
bmVyVGV4dCA9ICdURVhUMic7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIHNob3VsZEJl
VHJ1ZSgnZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50Jyk7CisgICAgc2hvdWxkQmUoJ3Bl
cmZvcm1hbmNlLmdldEVudHJpZXMoKS5sZW5ndGgnLCAiMSIpOworICAgIHNob3VsZEJlKCdwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikubGVuZ3Ro
JywgIjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmly
c3QtY29udGVudGZ1bC1wYWludCIsICJwYWludCIpLmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxk
QmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3RoJywgIjEiKTsK
KyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFp
bnQgY2FsbGJhY2sgd2Fzbid0IGZpcmVkIGFnYWluICIpOworICAgIGZpbmlzaEpTVGVzdCgpOwor
fSkoKTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2Zj
cC1zdWJmcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQ
RSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBu
ZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+IHsKKyAgICAgICAgbGlzdC5nZXRFbnRyaWVz
KCkuZm9yRWFjaChlbnRyeSA9PiB7CisgICAgICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNz
YWdlKEpTT04uc3RyaW5naWZ5KHt0eXBlOiAncmVjZWl2ZWQnLCBlbnRyeX0pLCAnKicpOworICAg
ICAgICB9KTsKKyAgICB9KTsKKworICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsi
cGFpbnQiXX0pOworICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBlID0+IHsKKyAgICAgICAgd2luZG93
LnBhcmVudC5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7c3VwcG9ydGVkOiBQZXJmb3JtYW5j
ZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMsIHR5cGU6ICdzdXBwb3J0ZWQnfSksICcqJyk7
CisgICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gIlRFWFQiOworICAgIH0KKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGls
cy5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3Vy
Y2VzL3BhaW50LWFwaS11dGlscy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUgQEAKK2Fz
eW5jIGZ1bmN0aW9uIHdhaXRGb3JGQ1AoKQoreworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29s
dmUgPT4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHJlc29sdmUoKSkpOworICAgIHJldHVy
biB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1w
YWludCcpLmxlbmd0aCA9PSAxOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3Bh
aW50LXRpbWluZy1hcGkuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMTMgQEAKK2lmIChzZWxmLmltcG9ydFNjcmlwdHMpCisgICAgaW1wb3J0U2NyaXB0cygi
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIik7CisKK2lmIChzZWxmLndpbmRvdykKKyAg
ICBkZXNjcmlwdGlvbigiQmFzaWMgSW50ZXJmYWNlIHRlc3QgZm9yIHBhaW50LXRpbWluZyBBUElz
LiIpOworCitkZWJ1ZygiUGVyZm9ybWFuY2VQYWludFRpbWluZyIpOworc2hvdWxkQmVEZWZpbmVk
KCJQZXJmb3JtYW5jZVBhaW50VGltaW5nIik7CitzaG91bGRCZURlZmluZWQoYFBlcmZvcm1hbmNl
UGFpbnRUaW1pbmcucHJvdG90eXBlLnRvSlNPTmApOworc2hvdWxkVGhyb3coYG5ldyBQZXJmb3Jt
YW5jZVBhaW50VGltaW5nKClgKTsKKworaWYgKHNlbGYuaW1wb3J0U2NyaXB0cykKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMv
d29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jl
c291cmNlcy93b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MyBAQAorc2VsZi5vbm1lc3NhZ2UgPSAoKSA9PiB7CisgICAgc2VsZi5wb3N0TWVzc2FnZShKU09O
LnN0cmluZ2lmeShQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMpKTsKK30K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmcK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4K
c3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2Vz
L2NpcmNsZXMucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAj
IworaW1hZ2UvcG5nClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKCmlWQk9SdzBLR2dv
QUFBQU5TVWhFVWdBQUFDUUFBQUJJQ0FZQUFBQ2VObGU1QUFBQzdtbERRMUJKUTBNZ1VISnZabWxz
WlFBQWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0a0NKSldhdG9SZFEyL1JGaWF3emJIN1pG
a0dRelNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytBSG5yd1pDOUtoVnBGS042cktHS2hGeTN4
elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FCT1FOeDFLaUVXbHNmRUpxCi9JZ0FqcUlK
UVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3
eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVlTUcxRHlzOXhGa2lmRUExTGM1L1RiaFR6
U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpFTDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5
SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0eHFwCitEWENG
RjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpXa2hQMTB4dStMcUhCWDBtMXhPdjRu
ZFdVZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURVaFFFRVVFWVppd1VFQ0dQQm94TkxKeVB5
T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6KwpLQ0p4bEVPMUNKTDhRZjRxcjhsUDVY
bjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4Cm11
d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1OXNmenM5NGk3
UExyWFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZsUFh2WHgvR2ZOeEdQaUtURW1kb3JuSVlt
WHhTN3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZnWUpxOAo5UzlkUDF0NHZVWi9EUFZSbEJu
TTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJdmJPREltYnB0VTNIdkVLRmxwVzV6
CnJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5PV2xzMDVVb2Nz
bjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xwZHRpWjB4MXVIS0U1UXZmRXAwcGxrL3F2
OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFlSXVKQUFBQQpDWEJJV1hNQUFBc1RBQUFM
RXdFQW1wd1lBQUFHWjBsRVFWUm9CZTJhVVc5VlJSREhkNjh0RVZKTFcyS0N4Q1kraWdRRG9Za0tm
Z0o4CjlNa25FdkVkdm9DbWtTK0E3MnBDUXNLVGovSUpCQ1NCMU5Tb1BKcVUxQ2FrZ05pQWFlTmRm
LytaT1QyMzU5N1NGdTdsNlV5eTUrek8KMloyWm5aM2RuWmw3YzVyUEplMEtTc3BwaHA3N1UwbVBx
RC9kSEZVUnlKdVlSSjhEOUprRzg0ejZROTY5WDNzNk5xcGpqWGFqS1NMZApFR1FmOVJXSU8rbVN6
c0wxQksxWnlpR0toRmpsdVVTSFh4aHpuZlpURXlPbncrRFhRN0NPOWVReEVKNGprRmlQUVZERWxt
MXdLWi95ClBwZEtPYzNiaGJBUHpRZERUYmg4ay9lVmxQTVAxaU9uSTdRZlVOK2dETlpZN2w4eTEw
cEtrd3daWnlDekxtY1I0bXZhcDR4d1NiOUMKN3lidGhWVHlIN3ovRHZ6QmxNdFJtSjVrekdud3h3
Ti9GNkcrWXN4MTJvZjRMb0dlVVBxMTFSQ29YaUt0dTFxbGZNZmpjMm9zWGI2RwpBSmZCMzZFTm1t
SjlyRlhYaFJPVU5JZUFGNkh4R1MyWTUrK2hjVDdHemZDV2JXMFZxaUZRWmJnUGJWRHEvc3lBRHln
M0dQY0Y3M3NtClFMSmxGQ0hOVkxiUjVTMkJoSk90U2JQQ3VjMmw5QzdOYjJtZm9keUcxb2RCcHhL
cW1vS01aQk0wMzBtS3BBYTZ2L000Q3BkdktCZUQKd0N6TXRUd3I2Z0hVaE5RU0JZZXFwbVUvQ09w
ZUtwMlA2WENaY3NGcGQ5NERMMTdpcWVWeldwcFNOTVpCalJ2UmdtYXlDYU4xbHpCdgowMmVLYit5
Z3RCYjl0d29Ec2dmMFRXVXR4a3c1RFdnbGJFbTB4Y09YWE5wVTJTS1F0dmFiSUZkWmMyeUdaU3Ft
bVV2ZzMySGdYNVRICk1haWFQYzBkd1ZscXJHaUlWc3FYbkRZOG5CYzhqWGUxN1BPNStBR0czYkNi
VXZtUkRqZE14ZEtNQ0xrOTdNaDlGeDA2MEg0TG12ZFQKN3Y3RUc1dktuMkRvMm4yeXAwZXlRczFD
aGdpd3RZMjVHYkFRV3A3L1ZCa1NpSlpvQXNZRHJSaFBJU1JEU1IyL0R0Z05kdWlkOHExdAp1MGtH
WEMyVEJnd0RzdEhNbk81RlBEaEdFbWViODE1QmV6UFNrTzRtd1RsN0pzNFpnZSttc0huL01xUm5K
MmhETG5qWjZXL1U5NmVPClg1UjhzNU4xRWZRZEpOVjFvYTNvb2xyZm9UMUU4MG53RUsvRjRDMXUy
SkJ1YlYyVVJVZDZ2aFZzUjZHWjVveWNoM2dhYjJTUUxJRTkKRWIyNW02eW1FOWpQaFNhWjRiUkZl
eU40TFRoSjh4ejhJZ0V4NjBpN0tGVmQ5L1pJbitzK1pYZzZ1QXhqcmhGM0pYUnJlOXNQcVZISwpV
OTkvRlU5NUFac2FHaVhydmRIR3FBWHk5R1RsK0RPOC9kWTIxTWdlNGlGZTR1bWdLMlJUUTdvMEFY
T3VWSW1UVzlXUndUNDNEM2c2CnVBeSt5L0NCSFU2YWxINzd1alhGaHlHL1JGdmVoUUR2VWhBeVlO
U0tEblM1eVZYRlY3WmVvemZxNnNMV2dld21vNkRnZ0E3R2FWTmQKTVlkY1B2QWNiVGxnY3B4OERs
U0dDS0k1R1R6RTZ6Z0hzb0lCY1p2V3dmZ3MyRjV4cHZqQUF2ZjBScUVwK1Y1aHlNRXJLVEl4cnBK
bApIZ0h0N3VMRzc4cDV4NDQ2eDVCWS9yTzh4TWNtbnZWLzZZZDhkcWVaOGJOTDl6Y29Mc0J2anZk
aGVLMUlRNUl0VG1hRktrS1pRMDQxClRWQmVVMlZJSUZxaUNSZ1BzUmRQZ1dTSUE4ZkRrU1BtdVdW
Q0ZmUGtjTWpOczdOcmhZRzBYaHcwVnVlTy9LRDdrQkx0TS9CVFdLUU4KcFFEU2c0dUlPdVNqUEdD
QWJ2enpERGlHUzNBQjNDcHQrZFZ5OHVXd2EvbjJJcHkwTDV1WjRqM0IrRCtoL1dYUXZtMjhqS2RG
czA0MwpCTklNZFB0dU1CZ2diaW9LZzh5OWxKQWVCdmtNRlFiSlZ4SzRLWHE5OTFscDh3MTZ5SUNY
ZkRJUkJwVkV0QXNQZ1VleHRYY1JBdW1UCmlJdlJEQVgxS1c1U29LZzRxckE5WHpoUUZNMytRQkVr
RUx4NkppWTk5WUNXVG11cGpvaW9XYkRPRm5HeUkzSzV5bmZ0Q0oxVHk5U1YKT0pERy9vbWltMXU0
WlFxNzFrTHBxMHhNdTBrUkJqWVRtdkVvUTd5MmlzQzJiK2FIZk4xMWVHMmZiRmlFK0MyK1B5L1o4
QkhmMzRlaApsdVV1eHN0dTJudXl3Y2JIUTNhZyswWUJwR1lNNFVqSDJCWHp2SFNNOWVZcTRnUzJR
eS9TTWI2YjlweU9NV3J4Y0cxNXFDUVBRTXNBCkg0cjg4SXpiV2V4WWNBZlBJbDhaTUJlbEo2eThy
eWNuZHBld0dyQmtJVXZmcThxTXZJNFFpaHAwREF3R0YzaUNQcE4wK0pkK3NoVmgKZDRhdEZyVnov
NUgzNk5uMmczaTk3Skt0bVY1ZVdZNXgwSklaamtlYlk5UUNTeHR1d0w3Y1ZiMHkzemJIMk56S3RV
MVZ0VGJINkxhegovZE90VEg1VW0yUGNYa3U5WDlvY1k2ODJ0cXUzT2NidE5OUEV1NlBSNWhpYmVx
bmJiWTZ4MXNWZWFtMk9zZFpXbTJPc2RURzQxalYwCm0yUHMxMDZiWSt6WFNZMXBjNHkxTHJ4V2hl
SnRqakhPRkV2UEtZL1UrMmVVTnNkSWluZmdINXJhSEdQL24rTDhkNjhsUXY1WG1tUFUKWHpORzk3
ZkIvd0ZaYmcwNUVFTnVOd0FBQUFCSlJVNUVya0pnZ2c9PQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394913</attachid>
            <date>2020-03-30 07:12:57 -0700</date>
            <delta_ts>2020-03-30 07:54:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200330171253.patch</filename>
            <type>text/plain</type>
            <size>137651</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDExMiBAQAorMjAyMC0wMy0yMyAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BhaW50LXRpbWluZy8jZmlyc3QtY29udGVudGZ1bC1wYWludC4KKyAgICAgICAgQ3VycmVu
dGx5IG11dHVhbGx5IGV4Y2x1c2l2ZSB0byB2aXN1YWxseS1ub24tZW1wdHkgaGV1cmlzdGljcy4K
KworICAgICAgICBXaGVuIHRoZSBmcmFtZSBwYWludHMgb3IgZmx1c2hlcyB0aGUgY29tcG9zaXRp
bmcgc3RhdGUsIGl0IG1hcmtzIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgYXMgYSBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IHBlcmZvcm1hbmNlIGVudHJ5LgorCisgICAgICAgIFRlc3RzOiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
dmlzaWJpbGl0eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10ZXh0LWlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdpdGgtcnRsLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9maXJz
dC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5j
ZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sCisgICAgICAgICAg
ICAgICBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAorICAgICAgICAgICAg
ICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBT
b3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRU
aW1pbmcuaDogCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDoKKyAg
ICAgICAgICAgICAgICBBZGQgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNlLgor
CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFibGVk
IGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgUGFpbnRUaW1pbmdFbmFibGVkIHJ1bnRpbWUg
ZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJp
bmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNQYWludCBjb25zdCk6CisgICAgICAgICAgICAgICAgQWRk
IGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIHBhaW50IGVudHJpZXMuCisKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6CisgICAgICAgICAgICAgICAgQWRk
ICJwYWludCIgdG8gc3VwcG9ydGVkRW50cnlUeXBlcyB3aGVuIGluIGVsaWdpYmxlIGJyb3dzaW5n
IGNvbnRleHQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aXNDb250ZW50ZnVsIGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRWxlbWVudDo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVySFRNTENhbnZhczo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6Omhhc093blBhaW50YWJs
ZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck9iamVjdDo6Y29udGFpbnNQYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVmlkZW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlkZW86Omhh
c093blBhaW50YWJsZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJW
aWRlby5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSBjb25zdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aGFz
UGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R01vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR01vZGVsT2JqZWN0
OjpoYXNPd25QYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR01vZGVsT2JqZWN0Lmg6CisgICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciBj
b21wdXRpbmcgd2hldGhlciBlbGVtZW50cyBhcmUgY29udGVudGZ1bCAmIHBhaW50YWJsZS4KKwor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CitgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JU
aGlzRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzdXBwb3J0c1BhaW50VGlt
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bWFya1BhaW50VGltaW5nSWZOZWVk
ZWQpOgorICAgICAgICAgICAgICAgIE1hcmsgZmlyc3QtY29udGVudGZ1bC1wYWludCBvbmNlIHdo
ZW4gY29tcG9zaXRpbmcvcGFpbnRpbmcuCisKIDIwMjAtMDMtMzAgIEFudG9pbmUgUXVpbnQgIDxn
cmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBNYXJrIFBvaW50ZXIgRXZlbnRzIGFuZCBXZWIg
QW5pbWF0aW9ucyBmZWF0dXJlcyBhcyBjb21wbGV0ZWQgaW4gaHR0cHM6Ly93ZWJraXQub3JnL3N0
YXR1cy8KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOTM2LDYgKzkzNiw3
IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyQ2FsbGJhY2suaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbAorICAgIHBhZ2UvUGVyZm9y
bWFuY2VQYWludFRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZv
cm1hbmNlVGltaW5nLmlkbApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZp
c2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3Jr
aW5nIGNvcHkpCkBAIC05MjYsNiArOTI2LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQo
V2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCBcCisgICAgJChXZWJDb3JlKS9wYWdl
L1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5j
ZVNlcnZlclRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVRpbWlu
Zy5pZGwgXApJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMTk4LDYgKzMxOTgsNyBAQCBK
U1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKIEpT
UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmNwcAogSlNQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0LmNwcAorSlNQZXJmb3JtYW5jZVBhaW50VGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5jcHAKIEpTUGVyZm9y
bWFuY2VUaW1pbmcuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEz
ODAzLDYgKzEzODAzLDggQEAKIAkJQ0EwOTFEODYyM0NGOTA3ODAwQUQ0MzQ2IC8qIFN0eWxlSW1h
Z2VTZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVJbWFnZVNldC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBMDkxRDg5MjNDRjkwODgwMEFENDM0NiAvKiBTdHlsZUlt
YWdlU2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxlSW1hZ2VTZXQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0ExNjM1REMyMDcyRTc2OTAwRTdEMkNFIC8qIFJlZmVycmVyUG9saWN5
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZmVycmVyUG9saWN5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEy
NDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNEODI0
MDdFRENGMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBM0JGNjdCMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxBbmltYXRvci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1
MyAvKiBTY3JvbGxBbmltYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
Y3JvbGxBbmltYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTUyQkFFNTIz
RDBBRjE2MDBERTBCODQgLyogU3R5bGVDdXJzb3JJbWFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTdHlsZUN1cnNvckltYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIw
OTQ5LDYgKzIwOTUxLDggQEAKIAkJCQlBNUE5OTMzQTFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgKi8sCiAJCQkJQTVBOTkzM0IxRTM3RkFGRDAwNUI1
RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCAqLywKIAkJCQlBNUE5OTMzQzFF
MzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwgKi8sCisJ
CQkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCAq
LywKKwkJCQlDQTE5MzNEODI0MDdFRENGMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWlu
Zy5pZGwgKi8sCiAJCQkJODY1MTJFREIxNTRBMkFFRTAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuY3BwICovLAogCQkJCTg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8sCiAJCQkJODY1MTJFREQxNTRBMkFFRjAwQTkwNDI2
IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsICovLApJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3Bw
CShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZv
cm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSwxMSBAQAog
I2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgi
CiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1h
bmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1l
YXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcg
bmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+
JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkK
KyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNiArMTc5LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3VyZSkgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWluZykgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVNlcnZl
clRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXApJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw2ICs3MSw3IEBACiAjaW5jbHVkZSAi
T3ZlcmZsb3dFdmVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlT3Zlcmxh
eUNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgogI2luY2x1ZGUgIlByb2dy
ZXNzVHJhY2tlci5oIgogI2luY2x1ZGUgIlJlbmRlckVtYmVkZGVkT2JqZWN0LmgiCiAjaW5jbHVk
ZSAiUmVuZGVyRnVsbFNjcmVlbi5oIgpAQCAtOTgxLDYgKzk4Miw3IEBAIGJvb2wgRnJhbWVWaWV3
OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3IKICNlbmRpZgogCiAgICAgcmVuZGVyVmlldy0+Y29t
cG9zaXRvcigpLmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygmcm9vdEZyYW1lRm9yRmx1c2ggPT0g
bV9mcmFtZS5wdHIoKSk7CisgICAgbWFya1BhaW50VGltaW5nSWZOZWVkZWQoKTsKIAogICAgIHJl
dHVybiB0cnVlOwogfQpAQCAtNDE5MSw2ICs0MTkzLDM4IEBAIHZvaWQgRnJhbWVWaWV3Ojp3aWxs
UGFpbnRDb250ZW50cyhHcmFwaGkKICAgICBtX2lzUGFpbnRpbmcgPSB0cnVlOwogfQogCitib29s
IEZyYW1lVmlldzo6c3VwcG9ydHNQYWludFRpbWluZygpIGNvbnN0Cit7CisgICAgaWYgKCFSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnBhaW50VGltaW5nRW5hYmxlZCgp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gZnJhbWUoKS5pc01haW5GcmFt
ZSgpIAorICAgIHx8IGZyYW1lKCkuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS5jYW5BY2Nl
c3MoZnJhbWUoKS5tYWluRnJhbWUoKS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKTsKK30K
Kwordm9pZCBGcmFtZVZpZXc6Om1hcmtQYWludFRpbWluZ0lmTmVlZGVkKCkKK3sKKyAgICBpZiAo
bV9kaWRNYXJrRmlyc3RDb250ZW50ZnVsUGFpbnQpCisgICAgICAgIHJldHVybjsKKworICAgIGlm
IChtX2ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dE1pbGVzdG9uZUlzUGVuZGluZykKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaWYgKCFzdXBwb3J0c1BhaW50VGltaW5nKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGNvbnN0IGF1dG8qIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpOwor
ICAgIGNvbnN0IGF1dG8qIHdpbmRvdyA9IGRvY3VtZW50LT5kb21XaW5kb3coKTsKKyAgICBpZiAo
IXdpbmRvdykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFyZW5kZXJWaWV3KCktPmNvbnRh
aW5zUGFpbnRhYmxlQ29udGVudCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2RpZE1hcmtG
aXJzdENvbnRlbnRmdWxQYWludCA9IHRydWU7CisgICAgd2luZG93LT5wZXJmb3JtYW5jZSgpLnJl
cG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7Cit9CisKIHZvaWQgRnJhbWVWaWV3OjpkaWRQYWlu
dENvbnRlbnRzKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgSW50UmVjdCYgZGlydHlS
ZWN0LCBQYWludGluZ1N0YXRlJiBwYWludGluZ1N0YXRlKQogewogICAgIG1faXNQYWludGluZyA9
IGZhbHNlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCShyZXZpc2lvbiAyNTkxOTQpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC02NjAs
NiArNjYwLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBpblVwZGF0ZUVtYmVkZGVkT2JqZWN0cygp
IGNvbnN0IHsgcmV0dXJuIG1faW5VcGRhdGVFbWJlZGRlZE9iamVjdHM7IH0KIAorICAgIGJvb2wg
c3VwcG9ydHNQYWludFRpbWluZygpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzY3Jv
bGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRS
ZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KSBmaW5hbDsKICAgICB2
b2lkIHNjcm9sbENvbnRlbnRzU2xvd1BhdGgoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCkgZmlu
YWw7CkBAIC04MjIsNiArODI0LDkgQEAgcHJpdmF0ZToKICAgICB9OwogICAgIHZvaWQgb3ZlcnJp
ZGVWaWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKE92ZXJyaWRlVmlld3BvcnRTaXplKTsK
IAorICAgIHZvaWQgbWFya1BhaW50VGltaW5nSWZOZWVkZWQoKTsKKyAgICBib29sIG1fZGlkTWFy
a0ZpcnN0Q29udGVudGZ1bFBhaW50IHsgZmFsc2UgfTsKKwogICAgIHN0YXRpYyBNb25vdG9uaWNU
aW1lIHNDdXJyZW50UGFpbnRUaW1lU3RhbXA7IC8vIHVzZWQgZm9yIGRldGVjdGluZyBkZWNvZGVk
IHJlc291cmNlIHRocmFzaCBpbiB0aGUgY2FjaGUKIAogICAgIGNvbnN0IFJlZjxGcmFtZT4gbV9m
cmFtZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCShyZXZpc2lvbiAyNTkx
OTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKICNpbmNs
dWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2Vy
dmVyLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgogI2luY2x1ZGUgIlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVRpbWluZy5o
IgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVXNlclRpbWluZy5oIgpAQCAtMTI0LDYgKzEyNSw5IEBA
IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICAgICAgZW50cmll
cy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNZWFzdXJlcygpKTsKICAgICB9CiAKKyAg
ICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCkKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9m
aXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBzdGQ6OnNvcnQoZW50cmllcy5iZWdpbigpLCBl
bnRyaWVzLmVuZCgpLCBQZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRpbWVDb21wYXJlTGVzc1RoYW4p
OwogICAgIHJldHVybiBlbnRyaWVzOwogfQpAQCAtMTM1LDYgKzEzOSw5IEBAIFZlY3RvcjxSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicmVzb3VyY2UiKSkKICAgICAgICAgZW50cmllcy5hcHBl
bmRWZWN0b3IobV9yZXNvdXJjZVRpbWluZ0J1ZmZlcik7CiAKKyAgICBpZiAobV9maXJzdENvbnRl
bnRmdWxQYWludCAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJw
YWludCIpKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsK
KwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBw
ZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MoKSk7CkBAIC0xNTcsNiArMTY0LDkgQEAg
VmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybQogICAgICAgICB9CiAgICAg
fQogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYgKGVudHJ5VHlwZS5pc051bGwo
KSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJwYWludCIpKSAm
JiBuYW1lID09ICJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikKKyAgICAgICAgZW50cmllcy5hcHBl
bmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAg
ICAgICAgIGlmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoZW50cnlUeXBlLCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0
b3IobV91c2VyVGltaW5nLT5nZXRNYXJrcyhuYW1lKSk7CkBAIC0xODAsNiArMTkwLDEzIEBAIHZv
aWQgUGVyZm9ybWFuY2U6OnNldFJlc291cmNlVGltaW5nQnVmZmUKICAgICBtX3Jlc291cmNlVGlt
aW5nQnVmZmVyRnVsbEZsYWcgPSBmYWxzZTsKIH0KIAordm9pZCBQZXJmb3JtYW5jZTo6cmVwb3J0
Rmlyc3RDb250ZW50ZnVsUGFpbnQoKQoreworICAgIEFTU0VSVCghbV9maXJzdENvbnRlbnRmdWxQ
YWludCk7CisgICAgbV9maXJzdENvbnRlbnRmdWxQYWludCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1p
bmc6OmNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KG5vdygpKTsKKyAgICBxdWV1ZUVudHJ5KCpt
X2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKK30KKwogdm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3Vy
Y2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRpbWluZykKIHsKICAgICBBU1NFUlQo
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
LmgJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBjbGFzcyBMb2FkVGltaW5nOwogY2xh
c3MgUGVyZm9ybWFuY2VFbnRyeTsKIGNsYXNzIFBlcmZvcm1hbmNlTmF2aWdhdGlvbjsKIGNsYXNz
IFBlcmZvcm1hbmNlT2JzZXJ2ZXI7CitjbGFzcyBQZXJmb3JtYW5jZVBhaW50VGltaW5nOwogY2xh
c3MgUGVyZm9ybWFuY2VUaW1pbmc7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVz
b3VyY2VUaW1pbmc7CkBAIC03Nyw2ICs3OCw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkUmVz
b3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJik7CiAKKyAgICB2b2lkIHJlcG9ydEZpcnN0Q29u
dGVudGZ1bFBhaW50KCk7CisKICAgICB2b2lkIHJlbW92ZUFsbE9ic2VydmVycygpOwogICAgIHZv
aWQgcmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKICAg
ICB2b2lkIHVucmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXIm
KTsKQEAgLTEyMSw2ICsxMjQsNyBAQCBwcml2YXRlOgogCiAgICAgTW9ub3RvbmljVGltZSBtX3Rp
bWVPcmlnaW47CiAKKyAgICBSZWZQdHI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4gbV9maXJzdENv
bnRlbnRmdWxQYWludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXNlclRpbWluZz4gbV91c2VyVGlt
aW5nOwogCiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3Bl
cmZvcm1hbmNlVGltZWxpbmVUYXNrUXVldWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlRW50cnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VFbnRyeS5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDExIEBA
IE9wdGlvbmFsPFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IFBlcmZvcm0KICAgICAgICAgICAgIHJl
dHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpSZXNvdXJjZSk7CiAgICAgfQogCisgICAgaWYgKFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucGFpbnRUaW1pbmdFbmFibGVk
KCkpIHsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9PSAicGFpbnQiKQorICAgICAgICAgICAgcmV0
dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6OlBhaW50KTsKKyAgICB9CisKICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
aAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgICAgICBN
YXJrID0gMSA8PCAxLAogICAgICAgICBNZWFzdXJlID0gMSA8PCAyLAogICAgICAgICBSZXNvdXJj
ZSA9IDEgPDwgMywKKyAgICAgICAgUGFpbnQgPSAxIDw8IDQKICAgICB9OwogCiAgICAgdmlydHVh
bCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC02Miw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICBi
b29sIGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UmVzb3VyY2U7
IH0KICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYXJr
OyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6
TWVhc3VyZTsgfQorICAgIGJvb2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBU
eXBlOjpQYWludDsgfQogCiAgICAgc3RhdGljIGJvb2wgc3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFu
KGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYSwgY29uc3QgUmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+JiBiKQogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDE1ICsxMTMs
MzAgQEAgdm9pZCBQZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVyKCkKICAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZEZpcmVPYnNlcnZlckNhbGxiYWNrKCpjb250ZXh0KTsKIH0KIAot
VmVjdG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcygp
CitzdGF0aWMgYm9vbCBzdXBwb3J0c1BhaW50VGltaW5nKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIHsKKyAgICBpZiAoIWlzPERvY3VtZW50Pihjb250ZXh0
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byogdmlldyA9IGRvd25jYXN0PERv
Y3VtZW50Pihjb250ZXh0KS52aWV3KCk7CisgICAgcmV0dXJuIHZpZXcgJiYgdmlldy0+c3VwcG9y
dHNQYWludFRpbWluZygpOworfQorCitWZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5jZU9ic2VydmVy
OjpzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCit7
CisgICAgVmVjdG9yPFN0cmluZz4gZW50cnlUeXBlcyA9IHsKICAgICAgICAgLy8gRklYTUU6IDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xODQzNjM+IEFkZCBzdXBwb3J0IGZvciBOYXZpZ2F0aW9uIFRp
bWluZyBMZXZlbCAyCiAgICAgICAgIC8vICJuYXZpZ2F0aW9uIl9zLAogICAgICAgICAibWFyayJf
cywKLSAgICAgICAgIm1lYXN1cmUiX3MsCi0gICAgICAgICJyZXNvdXJjZSJfcworICAgICAgICAi
bWVhc3VyZSJfcwogICAgIH07CisKKyAgICBpZiAoc3VwcG9ydHNQYWludFRpbWluZyhjb250ZXh0
KSkKKyAgICAgICAgZW50cnlUeXBlcy5hcHBlbmQoInBhaW50Il9zKTsKKworICAgIGVudHJ5VHlw
ZXMuYXBwZW5kKCJyZXNvdXJjZSJfcyk7CisKKyAgICByZXR1cm4gZW50cnlUeXBlczsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmgJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihj
b250ZXh0LCBXVEZNb3ZlKGNhbGxiYWNrKSkpOwogICAgIH0KIAotICAgIHN0YXRpYyBWZWN0b3I8
U3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzKCk7CisgICAgc3RhdGljIFZlY3RvcjxTdHJpbmc+
IHN1cHBvcnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogCiAgICAgdm9p
ZCBkaXNhc3NvY2lhdGUoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlT2JzZXJ2ZXIuaWRsCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBA
CiBdIGludGVyZmFjZSBQZXJmb3JtYW5jZU9ic2VydmVyIHsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHZvaWQgb2JzZXJ2ZShQZXJmb3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKICAgICB2
b2lkIGRpc2Nvbm5lY3QoKTsKLSAgICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFy
cmF5PERPTVN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlczsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0
RXhlY3V0aW9uQ29udGV4dF0gc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxE
T01TdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXM7CiB9OwogCiBkaWN0aW9uYXJ5IFBlcmZvcm1h
bmNlT2JzZXJ2ZXJJbml0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQ
YWludFRpbWluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VQYWludFRpbWluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMg
UmVzZXJ2ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVyZm9y
bWFuY2VQYWludFRpbWluZyBmaW5hbCA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IGNyZWF0ZUZpcnN0Q29u
dGVudGZ1bFBhaW50KGRvdWJsZSB0aW1lU3RhbXApCisgICAgeworICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50
Il9zLCB0aW1lU3RhbXApKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgUGVyZm9ybWFuY2VQYWlu
dFRpbWluZyhjb25zdCBTdHJpbmcmIG5hbWUsIGRvdWJsZSB0aW1lU3RhbXApCisgICAgICAgIDog
UGVyZm9ybWFuY2VFbnRyeShuYW1lLCB0aW1lU3RhbXAsIHRpbWVTdGFtcCkKKyAgICB7CisgICAg
fQorCisgICAgQVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJw
YWludCJfczsgfQorICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFR5cGU6OlBh
aW50OyB9CisKKyAgICB+UGVyZm9ybWFuY2VQYWludFRpbWluZygpID0gZGVmYXVsdDsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihX
ZWJDb3JlOjpQZXJmb3JtYW5jZVBhaW50VGltaW5nKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShj
b25zdCBXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnkuaXNQ
YWludCgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwJKG5vbmV4aXN0ZW50KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lN
ZWRpYSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L3BhaW50LXRpbWluZy8KKwordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKwor
WworICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGFpbnRUaW1pbmcsCisgICAgRXhwb3NlZD0oV2luZG93
KSwKK10gaW50ZXJmYWNlIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgOiBQZXJmb3JtYW5jZUVudHJ5
IHsKK307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDkgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0VXNlclRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1VzZXJU
aW1pbmdFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCB1c2VyVGltaW5nRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNVc2VyVGltaW5nRW5hYmxlZDsgfQogCisgICAgdm9pZCBzZXRQ
YWludFRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1BhaW50VGltaW5nRW5hYmxl
ZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgcGFpbnRUaW1pbmdFbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc1BhaW50VGltaW5nRW5hYmxlZDsgfQorCiAgICAgYm9vbCBwZXJmb3JtYW5jZVRp
bWVsaW5lRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIHJlc291cmNlVGltaW5nRW5hYmxlZCgpIHx8
IHVzZXJUaW1pbmdFbmFibGVkKCk7IH0KIAogICAgIHZvaWQgc2V0U2hhZG93RE9NRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX2lzU2hhZG93RE9NRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQpAQCAt
NDI0LDYgKzQyNyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzTGlua1ByZWxvYWRFbmFibGVk
IHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pc0xpbmtQcmVmZXRjaEVuYWJsZWQgeyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9pc01lZGlhUHJlbG9hZGluZ0VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wg
bV9pc1BhaW50VGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzUmVzb3VyY2VU
aW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNVc2VyVGltaW5nRW5hYmxlZCB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQg
eyBmYWxzZSB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50
LmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjksNiArMzI5LDUwIEBAIFN0eWxlRGlm
ZmVyZW5jZSBSZW5kZXJFbGVtZW50OjphZGp1c3RTdHkKICAgICByZXR1cm4gZGlmZjsKIH0KIAor
Ym9vbCBSZW5kZXJFbGVtZW50Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQoKSBjb25zdAorewor
ICAgIGlmICghb3BhY2l0eSgpIHx8IGlzU1ZHSGlkZGVuQ29udGFpbmVyKCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGF1dG8gaGFzUG90ZW50aWFsbHlWaXNpYmxlUmVnaW9ucyA9IFsm
XSgpIHsKKyAgICAgICAgaWYgKHN0eWxlKCkudmlzaWJpbGl0eSgpICE9IFZpc2liaWxpdHk6OlZp
c2libGUpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgYXV0byBkb2N1bWVu
dFJlY3QgPSB2aWV3KCkuZG9jdW1lbnRSZWN0KCk7CisKKyAgICAgICAgaWYgKGF1dG8qIGN1cnJl
bnQgPSBlbGVtZW50KCkpCisgICAgICAgICAgICByZXR1cm4gY3VycmVudC0+Ym91bmRpbmdDbGll
bnRSZWN0KCkuaW50ZXJzZWN0cyhkb2N1bWVudFJlY3QpOworCisgICAgICAgIHJldHVybiBpc1Zp
c2libGVJbkRvY3VtZW50UmVjdChkb2N1bWVudFJlY3QpOworICAgIH07CisKKyAgICBpZiAoaXND
b250ZW50ZnVsKCkgJiYgaGFzUG90ZW50aWFsbHlWaXNpYmxlUmVnaW9ucygpKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgIGZvciAoY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJPYmplY3Qg
PSBmaXJzdENoaWxkKCk7IHJlbmRlck9iamVjdDsgcmVuZGVyT2JqZWN0ID0gcmVuZGVyT2JqZWN0
LT5uZXh0U2libGluZygpKSB7CisgICAgICAgIGlmIChyZW5kZXJPYmplY3QtPmNvbnRhaW5zUGFp
bnRhYmxlQ29udGVudCgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAg
cmV0dXJuIGZhbHNlOworfQorCitib29sIFJlbmRlckVsZW1lbnQ6OmlzQ29udGVudGZ1bCgpIGNv
bnN0Cit7CisgICAgaWYgKGhhc093blBhaW50YWJsZUNvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICBpZiAoc3R5bGUoKS5oYXNQYWludGFibGVDYWNoZWRCYWNrZ3JvdW5kSW1h
Z2UoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDogY2hp
bGRyZW5PZlR5cGU8UmVuZGVyT2JqZWN0PigqdGhpcykpIHsKKyAgICAgICAgaWYgKGlzPFJlbmRl
clRleHQ+KGNoaWxkKSAmJiAhZG93bmNhc3Q8UmVuZGVyVGV4dD4oY2hpbGQpLmNvbnRhaW5zT25s
eUhUTUxXaGl0ZXNwYWNlKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKIGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6Omhhc0ltbWVk
aWF0ZU5vbldoaXRlc3BhY2VUZXh0Q2hpbGRPckJvcmRlck9yT3V0bGluZSgpIGNvbnN0CiB7CiAg
ICAgZm9yIChhdXRvJiBjaGlsZCA6IGNoaWxkcmVuT2ZUeXBlPFJlbmRlck9iamVjdD4oKnRoaXMp
KSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJKHJldmlz
aW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEwMCw2ICsxMDAsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IHZvaWQgZGlydHlMaW5lc0Zyb21DaGFuZ2VkQ2hpbGQoUmVuZGVyT2JqZWN0JikgeyB9CiAKKyAg
ICB2aXJ0dWFsIGJvb2wgaGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CisKICAgICBib29sIGFuY2VzdG9yTGluZUJveERpcnR5KCkgY29uc3QgeyByZXR1cm4g
bV9hbmNlc3RvckxpbmVCb3hEaXJ0eTsgfQogICAgIHZvaWQgc2V0QW5jZXN0b3JMaW5lQm94RGly
dHkoYm9vbCBmID0gdHJ1ZSk7CiAKQEAgLTEzOSw2ICsxNDEsOCBAQCBwdWJsaWM6CiAgICAgYm9v
bCBpc1RyYW5zcGFyZW50KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5vcGFjaXR5KCkgPCAxLjBm
OyB9CiAgICAgZmxvYXQgb3BhY2l0eSgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkub3BhY2l0eSgp
OyB9CiAKKyAgICBib29sIGNvbnRhaW5zUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IGZpbmFsOwor
CiAgICAgYm9vbCB2aXNpYmxlVG9IaXRUZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS52
aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6VmlzaWJsZSAmJiBzdHlsZSgpLnBvaW50ZXJFdmVu
dHMoKSAhPSBQb2ludGVyRXZlbnRzOjpOb25lOyB9CiAKICAgICBib29sIGhhc0JhY2tncm91bmQo
KSBjb25zdCB7IHJldHVybiBzdHlsZSgpLmhhc0JhY2tncm91bmQoKTsgfQpAQCAtMzE2LDYgKzMy
MCw4IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBjb21wdXRl
Rmlyc3RMaW5lU3R5bGUoKSBjb25zdDsKICAgICB2b2lkIGludmFsaWRhdGVDYWNoZWRGaXJzdExp
bmVTdHlsZSgpOwogCisgICAgYm9vbCBpc0NvbnRlbnRmdWwoKSBjb25zdDsKKwogICAgIGJvb2wg
Y2FuRGVzdHJveURlY29kZWREYXRhKCkgZmluYWwgeyByZXR1cm4gIWlzVmlzaWJsZUluVmlld3Bv
cnQoKTsgfQogICAgIFZpc2libGVJblZpZXdwb3J0U3RhdGUgaW1hZ2VGcmFtZUF2YWlsYWJsZShD
YWNoZWRJbWFnZSYsIEltYWdlQW5pbWF0aW5nU3RhdGUsIGNvbnN0IEludFJlY3QqIGNoYW5nZVJl
Y3QpIGZpbmFsOwogICAgIHZvaWQgZGlkUmVtb3ZlQ2FjaGVkSW1hZ2VDbGllbnQoQ2FjaGVkSW1h
Z2UmKSBmaW5hbDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2Fu
dmFzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRN
TENhbnZhcy5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJIVE1MQ2FudmFzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsMTEgQEAg
UmVuZGVySFRNTENhbnZhczo6UmVuZGVySFRNTENhbnZhcyhIVE1MQwogewogfQogCitib29sIFJl
bmRlckhUTUxDYW52YXM6Omhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIHJl
dHVybiAhIWNhbnZhc0VsZW1lbnQoKS5yZW5kZXJpbmdDb250ZXh0KCk7Cit9CisKIEhUTUxDYW52
YXNFbGVtZW50JiBSZW5kZXJIVE1MQ2FudmFzOjpjYW52YXNFbGVtZW50KCkgY29uc3QKIHsKICAg
ICByZXR1cm4gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KG5vZGVGb3JOb25Bbm9ueW1vdXMo
KSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmgJ
KHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1M
Q2FudmFzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGVsZW1lbnQoKSBjb25zdCA9IGRlbGV0ZTsKICAgICBib29sIHJlcXVpcmVzTGF5ZXIoKSBj
b25zdCBvdmVycmlkZTsKICAgICBib29sIGlzQ2FudmFzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gdHJ1ZTsgfQorICAgIGJvb2wgaGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IG92ZXJy
aWRlOwogICAgIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biAiUmVuZGVySFRNTENhbnZhcyI7IH0KICAgICB2b2lkIHBhaW50UmVwbGFjZWQoUGFpbnRJbmZv
JiwgY29uc3QgTGF5b3V0UG9pbnQmKSBvdmVycmlkZTsKICAgICB2b2lkIGludHJpbnNpY1NpemVD
aGFuZ2VkKCkgb3ZlcnJpZGUgeyBjYW52YXNTaXplQ2hhbmdlZCgpOyB9CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMzOSw2ICszMzksMTEgQEAgdm9pZCBSZW5kZXJJbWFnZTo6dXBkYXRlSW50cmluc2ljU2l6ZUlm
TgogICAgIHNldEludHJpbnNpY1NpemUobmV3U2l6ZSk7CiB9CiAKK2Jvb2wgUmVuZGVySW1hZ2U6
Omhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiBtX2ltYWdlUmVz
b3VyY2UtPmNhY2hlZEltYWdlKCkgJiYgIW1faW1hZ2VSZXNvdXJjZS0+aW1hZ2VTaXplKDEpLmlz
RW1wdHkoKTsKK30KKwogdm9pZCBSZW5kZXJJbWFnZTo6dXBkYXRlSW5uZXJDb250ZW50UmVjdCgp
CiB7CiAgICAgLy8gUHJvcGFnYXRlIGNvbnRhaW5lciBzaXplIHRvIGltYWdlIHJlc291cmNlLgpJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgJKHJldmlzaW9uIDI1OTE5
NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC03Niw2ICs3Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRE
aXNwbGF5QnJva2VuSW1hZ2VJY29uKCkgY29uc3Q7CiAKKyAgICBib29sIGhhc093blBhaW50YWJs
ZUNvbnRlbnQoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGhhc05vbkJpdG1hcEltYWdlKCkg
Y29uc3Q7CiAKICAgICBib29sIGlzRWRpdGFibGVJbWFnZSgpIGNvbnN0OwpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
NzgsNiArMjc4LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzUmVuZGVyU2Nyb2xs
YmFyUGFydCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgY29u
dGFpbnNQYWludGFibGVDb250ZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwogICAgIGJv
b2wgaXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIGRvY3VtZW50KCku
ZG9jdW1lbnRFbGVtZW50KCkgPT0gJm1fbm9kZTsgfQogICAgIGJvb2wgaXNCb2R5KCkgY29uc3Qg
eyByZXR1cm4gbm9kZSgpICYmIG5vZGUoKS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmJvZHlUYWcp
OyB9CiAgICAgYm9vbCBpc0hSKCkgY29uc3QgeyByZXR1cm4gbm9kZSgpICYmIG5vZGUoKS0+aGFz
VGFnTmFtZShIVE1MTmFtZXM6OmhyVGFnKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dC5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNyArMTc5LDcgQEAgcHVibGlj
OgogICAgIExheW91dFVuaXQgdG9wT2ZGaXJzdFRleHQoKSBjb25zdDsKICAgICAKICAgICBib29s
IGNvbnRhaW5zT25seUhUTUxXaGl0ZXNwYWNlKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0
aCkgY29uc3Q7Ci0gICAgCisgICAgYm9vbCBjb250YWluc09ubHlIVE1MV2hpdGVzcGFjZSgpIGNv
bnN0IHsgcmV0dXJuIGNvbnRhaW5zT25seUhUTUxXaGl0ZXNwYWNlKDAsIHRleHQoKS5sZW5ndGgo
KSk7IH0gCiAgICAgYm9vbCBjYW5Vc2VTaW1wbGlmaWVkVGV4dE1lYXN1cmluZygpIGNvbnN0IHsg
cmV0dXJuIG1fY2FuVXNlU2ltcGxpZmllZFRleHRNZWFzdXJpbmc7IH0KIAogICAgIFZlY3Rvcjxz
dGQ6OnBhaXI8dW5zaWduZWQsIHVuc2lnbmVkPj4gZHJhZ2dlZENvbnRlbnRSYW5nZXNCZXR3ZWVu
T2Zmc2V0cyh1bnNpZ25lZCBzdGFydE9mZnNldCwgdW5zaWduZWQgZW5kT2Zmc2V0KSBjb25zdDsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkocmV2aXNpb24g
MjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtOTIsNiArOTIsMTQgQEAgdm9pZCBSZW5kZXJWaWRlbzo6aW50cmluc2lj
U2l6ZUNoYW5nZWQoKQogICAgIHVwZGF0ZUludHJpbnNpY1NpemUoKTsgCiB9CiAKK2Jvb2wgUmVu
ZGVyVmlkZW86Omhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIGlmICh2aWRl
b0VsZW1lbnQoKS5zaG91bGREaXNwbGF5UG9zdGVySW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIFJl
bmRlckltYWdlOjpoYXNPd25QYWludGFibGVDb250ZW50KCk7CisKKyAgICByZXR1cm4gdmlkZW9F
bGVtZW50KCkucmVhZHlTdGF0ZSgpID4gSFRNTE1lZGlhRWxlbWVudEVudW1zOjpIQVZFX01FVEFE
QVRBOworfQorCiBib29sIFJlbmRlclZpZGVvOjp1cGRhdGVJbnRyaW5zaWNTaXplKCkKIHsKICAg
ICBMYXlvdXRTaXplIHNpemUgPSBjYWxjdWxhdGVJbnRyaW5zaWNTaXplKCk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3
LDYgKzY3LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIGlzVmlkZW8oKSBjb25zdCBmaW5hbCB7IHJl
dHVybiB0cnVlOyB9CisgICAgYm9vbCBoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3Qgb3Zl
cnJpZGU7CiAKICAgICB2b2lkIHBhaW50UmVwbGFjZWQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0
UG9pbnQmKSBmaW5hbDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Zp
bGxMYXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L0ZpbGxMYXllci5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDAsNiArMzQwLDE1
IEBAIGJvb2wgRmlsbExheWVyOjpjb250YWluc0ltYWdlKFN0eWxlSW1hZ2UKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKK2Jvb2wgRmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSgpIGNvbnN0
Cit7CisgICAgZm9yIChhdXRvKiBsYXllciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5t
X25leHQuZ2V0KCkpIHsKKyAgICAgICAgaWYgKGxheWVyLT5tX2ltYWdlICYmIGxheWVyLT5tX2lt
YWdlLT5pc0xvYWRlZCgpICYmIGxheWVyLT5tX2ltYWdlLT5oYXNDYWNoZWRJbWFnZSgpKQorICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9v
bCBGaWxsTGF5ZXI6OmltYWdlc0FyZUxvYWRlZCgpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvKiBs
YXllciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5tX25leHQuZ2V0KCkpIHsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgJKHJldmlzaW9uIDI1
OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtMTQ1LDYgKzE0NSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgY29udGFp
bnNJbWFnZShTdHlsZUltYWdlJikgY29uc3Q7CiAgICAgYm9vbCBpbWFnZXNBcmVMb2FkZWQoKSBj
b25zdDsKKyAgICBib29sIGhhc0xvYWRlZENhY2hlZEltYWdlKCkgY29uc3Q7CiAgICAgYm9vbCBo
YXNJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmV4dCA/IGhhc0ltYWdlSW5BbnlMYXllcigpIDog
bV9pbWFnZTsgfQogICAgIGJvb2wgaGFzRml4ZWRJbWFnZSgpIGNvbnN0OwogICAgIGJvb2wgaGFz
T3BhcXVlSW1hZ2UoY29uc3QgUmVuZGVyRWxlbWVudCYpIGNvbnN0OwpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiAyNTkx
OTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NDQsNiArNDQ0LDIxIEBAIGJvb2wgUmVuZGVyU3R5bGU6OmRlc2Nl
bmRhbnRBZmZlY3RpbmdOb24KICAgICAgICAgJiYgbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+anVz
dGlmeUl0ZW1zID09IG90aGVyLm1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmp1c3RpZnlJdGVtczsK
IH0KIAorYm9vbCBSZW5kZXJTdHlsZTo6aGFzUGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdl
KCkgY29uc3QKK3sKKyAgICBpZiAoIWhhc0JhY2tncm91bmRJbWFnZSgpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBjb25zdCBGaWxsTGF5ZXImIGJhY2tncm91bmQgPSBiYWNrZ3JvdW5k
TGF5ZXJzKCk7CisgICAgaWYgKCFiYWNrZ3JvdW5kLmhhc0xvYWRlZENhY2hlZEltYWdlKCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChiYWNrZ3JvdW5kU2l6ZUxlbmd0aCgpLmlz
RW1wdHkoKSAmJiBiYWNrZ3JvdW5kU2l6ZVR5cGUoKSA9PSBGaWxsU2l6ZVR5cGU6OlNpemUpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOworfQorCiAjaWYgRU5BQkxF
KFRFWFRfQVVUT1NJWklORykKIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBjb21wdXRlRm9udEhh
c2goY29uc3QgRm9udENhc2NhZGUmIGZvbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQx
NSw2ICs0MTUsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgTGVuZ3RoU2l6ZSYgYmFja2dyb3VuZFNp
emVMZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2JhY2tncm91bmREYXRhLT5iYWNrZ3JvdW5kLnNp
emVMZW5ndGgoKTsgfQogICAgIEZpbGxMYXllciYgZW5zdXJlQmFja2dyb3VuZExheWVycygpIHsg
cmV0dXJuIG1fYmFja2dyb3VuZERhdGEuYWNjZXNzKCkuYmFja2dyb3VuZDsgfQogICAgIGNvbnN0
IEZpbGxMYXllciYgYmFja2dyb3VuZExheWVycygpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2dyb3Vu
ZERhdGEtPmJhY2tncm91bmQ7IH0KKyAgICBib29sIGhhc1BhaW50YWJsZUNhY2hlZEJhY2tncm91
bmRJbWFnZSgpIGNvbnN0OwogCiAgICAgU3R5bGVJbWFnZSogbWFza0ltYWdlKCkgY29uc3QgeyBy
ZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bWFzay5pbWFnZSgpOyB9CiAgICAgRmlsbFJl
cGVhdCBtYXNrUmVwZWF0WCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEZpbGxSZXBlYXQ+
KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPm1hc2sucmVwZWF0WCgpKTsgfQpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5j
cHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHTW9kZWxPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTgsNiArMTU4LDExIEBA
IHN0YXRpYyBib29sIGlzR3JhcGhpY3NFbGVtZW50KGNvbnN0IFJlbmQKICAgICByZXR1cm4gcmVu
ZGVyZXIuaXNTVkdTaGFwZSgpIHx8IHJlbmRlcmVyLmlzU1ZHVGV4dCgpIHx8IHJlbmRlcmVyLmlz
U1ZHSW1hZ2UoKSB8fCByZW5kZXJlci5lbGVtZW50KCktPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnVz
ZVRhZyk7CiB9CiAKK2Jvb2wgUmVuZGVyU1ZHTW9kZWxPYmplY3Q6Omhhc093blBhaW50YWJsZUNv
bnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiBpc0dyYXBoaWNzRWxlbWVudCgqdGhpcyk7Cit9
CisKIC8vIFRoZSBTVkcgYWRkRm9jdXNSaW5nUmVjdHMoKSBtZXRob2QgYWRkcyByZWN0cyBpbiBs
b2NhbCBjb29yZGluYXRlcyBzbyB0aGUgZGVmYXVsdCBhYnNvbHV0ZUZvY3VzUmluZ1F1YWRzCiAv
LyByZXR1cm5zIGluY29ycmVjdCB2YWx1ZXMgZm9yIFNWRyBvYmplY3RzLiBPdmVycmlkaW5nIHRo
aXMgbWV0aG9kIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgYWJzb2x1dGUgYm91bmRzLgogdm9pZCBS
ZW5kZXJTVkdNb2RlbE9iamVjdDo6YWJzb2x1dGVGb2N1c1JpbmdRdWFkcyhWZWN0b3I8RmxvYXRR
dWFkPiYgcXVhZHMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R01vZGVsT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTY5LDYgKzY5LDcgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIGJvb2wgaXNSZW5k
ZXJTVkdNb2RlbE9iamVjdCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKyAgICBib29s
IGhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdCBmaW5hbDsKIAogICAgIC8vIFRoaXMgbWV0
aG9kIHNob3VsZCBuZXZlciBiZSBjYWxsZWQsIFNWRyB1c2VzIGEgZGlmZmVyZW50IG5vZGVBdFBv
aW50IG1ldGhvZAogICAgIGJvb2wgbm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBI
aXRUZXN0UmVzdWx0JiwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVy
LCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRlc3RBY3Rpb24pIG92
ZXJyaWRlOwpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDMtMjMgIE5v
YW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1Ag
KGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSBydW50aW1lIGZsYWcgZm9yIHBhaW50LXRpbWluZyAocGFp
bnRUaW1pbmdFbmFibGVkKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAg
KFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJl
bmNlc0dldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGF0ZVByZWZlcmVuY2VzU3RvcmUpOgorCiAyMDIw
LTAzLTI5ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW0F1
dG9TaXppbmddIEJyaW5nIGJhY2sgdGhlIG9sZCBhdXRvLXNpemluZyBjb2RlIGFzIGEgZGVwcmVj
YXRlZCBjb2RlcGF0aCBmb3IgY29tcGF0aWJpbGl0eSByZWFzb25zCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTgz
OSw2ICs4MzksMTMgQEAgVXNlclRpbWluZ0VuYWJsZWQ6CiAgIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIkVuYWJsZSBVc2VyVGltaW5nIEFQSSIKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMKIAorUGFpbnRUaW1pbmdFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRl
ZmF1bHRWYWx1ZTogdHJ1ZQorICBodW1hblJlYWRhYmxlTmFtZTogIlBhaW50IFRpbWluZyIKKyAg
aHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFBhaW50IFRpbWluZyBBUEkiCisgIHdl
YmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisKIEJlYWNvbkFQSUVuYWJsZWQ6
CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gMjU5MTk0
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE4MTksNiArMTgxOSwxNiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRV
c2VyVGltaW5nRW5hYmxlZChXCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnVz
ZXJUaW1pbmdFbmFibGVkKCk7CiB9CiAKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5n
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCit7Cisg
ICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0UGFpbnRUaW1pbmdFbmFibGVkKGZsYWcpOwor
fQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVm
KS0+cGFpbnRUaW1pbmdFbmFibGVkKCk7Cit9CisKIHZvaWQgV0tQcmVmZXJlbmNlc1NldFJlc291
cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZs
YWcpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0UmVzb3VyY2VUaW1pbmdFbmFi
bGVkKGZsYWcpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlc1JlZlByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MDAsNiArNTAwLDEwIEBAIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5j
ZXNTZXRVc2VyVGltaW4KIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRVc2VyVGltaW5n
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIAogLy8gRGVmYXVsdHMgdG8gZmFsc2UKK1dLX0VY
UE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiwgYm9vbCBmbGFnKTsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRQYWludFRp
bWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CisKKy8vIERlZmF1bHRzIHRvIGZhbHNlCiBX
S19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0
UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMiw2ICsxMjIsNyBAQCB2b2lkIFdlYlNXQ29udGV4dE1h
bmFnZXJDb25uZWN0aW9uOjp1cGRhCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRDYWNoZUFQSUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdl
YlByZWZlcmVuY2VzS2V5OjpjYWNoZUFQSUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElFbmFibGVkKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6ZmV0Y2hBUElFbmFibGVkS2V5KCkp
KTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFVzZXJU
aW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6
dXNlclRpbWluZ0VuYWJsZWRLZXkoKSkpOworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZv
cktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFpbnRUaW1pbmdFbmFibGVkS2V5KCkpKTsKICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFJlc291cmNlVGltaW5n
RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlc291
cmNlVGltaW5nRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpmZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWRLZXko
KSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVz
dHJpY3RlZEhUVFBSZXNwb25zZUFjY2VzcyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OnJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3NLZXkoKSkpOwpJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAg
IEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBwcmVmZXJlbmNlIGtleSBmb3Ig
cGFpbnQgdGltaW5nLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tX
ZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHBh
aW50VGltaW5nRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRQYWludFRp
bWluZ0VuYWJsZWQ6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUu
aDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisKIDIwMjAtMDMtMjkgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgVGV4dEl0ZXJhdG9yOjpyYW5n
ZUZyb21Mb2NhdGlvbkFuZExlbmd0aCBvZmYgb2YgbGl2ZSByYW5nZXMKSW5kZXg6IFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjYw
LDYgKzI2MCw3IEBACiAjZGVmaW5lIFdlYktpdEF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZFByZWZl
cmVuY2VLZXkgQCJXZWJLaXRBdHRhY2htZW50RWxlbWVudEVuYWJsZWQiCiAjZGVmaW5lIFdlYktp
dEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRJbnRlcnNl
Y3Rpb25PYnNlcnZlckVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdE1lbnVJdGVtRWxlbWVudEVuYWJs
ZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVudUl0ZW1FbGVtZW50RW5hYmxlZCIKKyNkZWZpbmUg
V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFBhaW50VGltaW5n
RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0VXNlclRpbWluZ0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFJlc291cmNlVGltaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQiCiAjZGVmaW5l
IFdlYktpdE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0UHJlZmVyZW5j
ZUtleSBAIldlYktpdE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0IgpJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02ODMsNiArNjgzLDcgQEAg
KyAodm9pZClpbml0aWFsaXplCiAjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKICAg
ICAgICAgQE5PLCBXZWJLaXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5
LAogI2VuZGlmCisgICAgICAgIEBOTywgV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5j
ZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXks
CiAgICAgICAgIEBOTywgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwK
ICAgICAgICAgQE5PLCBXZWJLaXRNZWRpYVVzZXJHZXN0dXJlSW5oZXJpdHNGcm9tRG9jdW1lbnQs
CkBAIC0zMzA4LDYgKzMzMDksMTYgQEAgLSAodm9pZClzZXRVc2VyVGltaW5nRW5hYmxlZDooQk9P
TClmbGFnCiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRVc2VyVGlt
aW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKXBhaW50VGltaW5nRW5hYmxl
ZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFBhaW50VGltaW5n
RW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldFBhaW50VGltaW5nRW5hYmxl
ZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJL
aXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogLSAoQk9PTClyZXNvdXJj
ZVRpbWluZ0VuYWJsZWQKIHsKICAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJL
aXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUu
aAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjYxLDYgKzY2MSw3IEBA
IEBpbnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGUpCiBAcHJvcGVydHkgKG5vbmF0
b21pYykgQk9PTCBrZXlnZW5FbGVtZW50RW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBC
T09MIHVzZXJUaW1pbmdFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcmVzb3Vy
Y2VUaW1pbmdFbmFibGVkOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcGFpbnRUaW1pbmdF
bmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbGlua1ByZWxvYWRFbmFibGVkOwog
QHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbWVkaWFVc2VyR2VzdHVyZUluaGVyaXRzRnJvbURv
Y3VtZW50OwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgaXNTZWN1cmVDb250ZXh0QXR0cmli
dXRlRW5hYmxlZDsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0JKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzE5Niw2ICszMTk2LDcgQEAgLSAodm9p
ZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbgogCiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZChwcmVmZXJlbmNl
cy51c2VyVGltaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMucmVzb3VyY2VU
aW1pbmdFbmFibGVkKTsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldFBhaW50VGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5wYWludFRpbWluZ0VuYWJsZWQp
OwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1By
ZWxvYWRFbmFibGVkKHByZWZlcmVuY2VzLmxpbmtQcmVsb2FkRW5hYmxlZCk7CiAgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZWRpYVByZWxvYWRpbmdFbmFi
bGVkKHByZWZlcmVuY2VzLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0SXNTZWN1cmVDb250ZXh0QXR0cmlidXRl
RW5hYmxlZChwcmVmZXJlbmNlcy5pc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5
IEBACisyMDIwLTAzLTIzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHByZWZlcmVuY2Uga2V5IGZv
ciBwYWludC10aW1pbmcuCisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAg
ICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuY3BwOgorICAg
ICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXND
aGFuZ2VkKToKKwogMjAyMC0wMy0yOSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgTW92ZSBUZXh0SXRlcmF0b3I6OnJhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3RoIG9m
ZiBvZiBsaXZlIHJhbmdlcwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xOTcsNiArMTk3LDggQEAKIAogI2RlZmluZSBXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFBy
ZWZlcmVuY2VLZXkgIldlYktpdFVzZXJUaW1pbmdFbmFibGVkIgogCisjZGVmaW5lIFdlYktpdFBh
aW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFBhaW50VGltaW5nRW5hYmxlZCIK
KwogI2RlZmluZSBXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJL
aXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0TGlua1ByZWxvYWRFbmFi
bGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkIgpJbmRleDogU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gMjU5MTk0KQor
KysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMjYsNiArMzI2LDggQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURl
ZmF1bHRTZQogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktp
dFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwog
CisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdFBhaW50VGlt
aW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOworCiAgICAgQ0ZEaWN0
aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFBy
ZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFs
dWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdE1lZGlhUHJlbG9hZGluZ0VuYWJsZWRQcmVmZXJlbmNl
S2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKQEAgLTI0MTQsNiArMjQxNiwyMCBAQCBIUkVTVUxUIFdl
YlByZWZlcmVuY2VzOjpyZXNvdXJjZVRpbWluZ0VuCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKK0hS
RVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFBhaW50VGltaW5nRW5hYmxlZChCT09MIGVuYWJsZWQp
Cit7CisgICAgc2V0Qm9vbFZhbHVlKFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXksIGVuYWJsZWQpOworICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZlcmVu
Y2VzOjpwYWludFRpbWluZ0VuYWJsZWQoX091dF8gQk9PTCogZW5hYmxlZCkKK3sKKyAgICBpZiAo
IWVuYWJsZWQpCisgICAgICAgIHJldHVybiBFX1BPSU5URVI7CisgICAgKmVuYWJsZWQgPSBib29s
VmFsdWVGb3JLZXkoV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSk7CisgICAg
cmV0dXJuIFNfT0s7Cit9CisKIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNlcnZlclRpbWluZ0Vu
YWJsZWQoX091dF8gQk9PTCogZW5hYmxlZCkKIHsKICAgICBpZiAoIWVuYWJsZWQpCkluZGV4OiBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgJKHJldmlzaW9uIDI1OTE5NCkK
KysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI1MSw2ICsyNTEsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIHNldFVzZXJUaW1pbmdFbmFibGVkKEJPT0wpOwogICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSByZXNvdXJjZVRpbWluZ0VuYWJsZWQoX091dF8gQk9PTCop
OwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRSZXNvdXJjZVRpbWlu
Z0VuYWJsZWQoQk9PTCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHBh
aW50VGltaW5nRW5hYmxlZChfT3V0XyBCT09MKik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIHNldFBhaW50VGltaW5nRW5hYmxlZChCT09MKTsKICAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgbGlua1ByZWxvYWRFbmFibGVkKF9PdXRfIEJPT0wqKTsK
ICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0TGlua1ByZWxvYWRFbmFi
bGVkKEJPT0wpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBtZWRpYVBy
ZWxvYWRpbmdFbmFibGVkKF9PdXRfIEJPT0wqKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YlZpZXcuY3BwCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTI4Myw2ICs1MjgzLDExIEBAIEhSRVNVTFQg
V2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2UKICAgICAgICAgcmV0dXJuIGhyOwogICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0Vu
YWJsZWQoISFlbmFibGVkKTsKIAorICAgIGhyID0gcHJlZnNQcml2YXRlLT5wYWludFRpbWluZ0Vu
YWJsZWQoJmVuYWJsZWQpOworICAgIGlmIChGQUlMRUQoaHIpKQorICAgICAgICByZXR1cm4gaHI7
CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRp
bWluZ0VuYWJsZWQoISFlbmFibGVkKTsKKwogICAgIGhyID0gcHJlZnNQcml2YXRlLT5yZXNvdXJj
ZVRpbWluZ0VuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQogICAgICAgICBy
ZXR1cm4gaHI7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwJKHJldmlzaW9uIDI1OTE5
NCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2NiwzICsyNjYsMTAgQEAgaW50ZXJmYWNl
IElXZWJQcmVmZXJlbmNlc1ByaXZhdGU4IDogSVdlYgogICAgIEhSRVNVTFQgYWxsb3dUb3BOYXZp
Z2F0aW9uVG9EYXRhVVJMcyhbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOwogICAgIEhSRVNV
TFQgc2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhbaW5dIEJPT0wgZW5hYmxlZCk7CiB9
CisKK1t1dWlkKEU1MjQ4NUJDLUMwMzUtNDQwOS1BRTJBLTlGNkYwQzNBREU3OCldCitpbnRlcmZh
Y2UgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTkgOiBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOAorewor
ICAgIEhSRVNVTFQgcGFpbnRUaW1pbmdFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOworICAg
IEhSRVNVTFQgc2V0UGFpbnRUaW1pbmdFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKK30KSW5k
ZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI1OTE5NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE5IEBACisyMDIwLTAzLTIzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHByZWZlcmVuY2Uga2V5
IGZvciBwYWludC10aW1pbmcuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJl
bmRlclRyZWUubW06CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFs
dWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOgor
ICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRl
c3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKwogMjAy
MC0wMy0yOCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFJFR1JFU1NJT04ocjI1Nzk2MykgVUkgcHJvY2VzcyBjcmFzaGVzIHdoZW4gc2V0dGlu
ZyBuYXZpZ2F0aW9uIGRlbGVnYXRlIGluc2lkZSBuYXZpZ2F0aW9uIGRlbGVnYXRlIGNhbGxiYWNr
cwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2
aXNpb24gMjU5MTk0KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDA0LDYgKzEwMDQsNyBAQCBzdGF0aWMgdm9pZCByZXNl
dFdlYlByZWZlcmVuY2VzVG9Db25zaXN0CiAgICAgW3ByZWZlcmVuY2VzIHNldE1vZGVybk1lZGlh
Q29udHJvbHNFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFJlc291cmNlVGltaW5n
RW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRVc2VyVGltaW5nRW5hYmxlZDpZRVNd
OworICAgIFtwcmVmZXJlbmNlcyBzZXRQYWludFRpbWluZ0VuYWJsZWQ6WUVTXTsKIAogICAgIFtw
cmVmZXJlbmNlcyBzZXRDYWNoZUFQSUVuYWJsZWQ6Tk9dOwogICAgIHByZWZlcmVuY2VzLm1lZGlh
Q2FwYWJpbGl0aWVzRW5hYmxlZCA9IFlFUzsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9EdW1wUmVuZGVyVHJlZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUv
d2luL0R1bXBSZW5kZXJUcmVlLmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgVG9vbHMvRHVtcFJl
bmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODEzLDcg
KzgxMyw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3QKIAogICAg
IHByZWZlcmVuY2VzLT5zZXRBdXRvc2F2ZXMoRkFMU0UpOwogCi0gICAgQ09NUHRyPElXZWJQcmVm
ZXJlbmNlc1ByaXZhdGU4PiBwcmVmc1ByaXZhdGUoUXVlcnksIHByZWZlcmVuY2VzKTsKKyAgICBD
T01QdHI8SVdlYlByZWZlcmVuY2VzUHJpdmF0ZTk+IHByZWZzUHJpdmF0ZShRdWVyeSwgcHJlZmVy
ZW5jZXMpOwogICAgIEFTU0VSVChwcmVmc1ByaXZhdGUpOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0
RnVsbFNjcmVlbkVuYWJsZWQoVFJVRSk7CiAKQEAgLTkwNyw3ICs5MDcsNyBAQCBzdGF0aWMgdm9p
ZCByZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0CiAKIHN0YXRpYyB2b2lkIHNldFdlYlByZWZl
cmVuY2VzRm9yVGVzdE9wdGlvbnMoSVdlYlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcywgY29uc3Qg
VGVzdE9wdGlvbnMmIG9wdGlvbnMpCiB7Ci0gICAgQ09NUHRyPElXZWJQcmVmZXJlbmNlc1ByaXZh
dGU4PiBwcmVmc1ByaXZhdGUgeyBRdWVyeSwgcHJlZmVyZW5jZXMgfTsKKyAgICBDT01QdHI8SVdl
YlByZWZlcmVuY2VzUHJpdmF0ZTk+IHByZWZzUHJpdmF0ZSB7IFF1ZXJ5LCBwcmVmZXJlbmNlcyB9
OwogCiAgICAgcHJlZnNQcml2YXRlLT5zZXRXZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb25FbmFi
bGVkKG9wdGlvbnMuZW5hYmxlV2ViQW5pbWF0aW9uc0NTU0ludGVncmF0aW9uKTsKICAgICBwcmVm
c1ByaXZhdGUtPnNldE1lbnVJdGVtRWxlbWVudEVuYWJsZWQob3B0aW9ucy5lbmFibGVNZW51SXRl
bUVsZW1lbnQpOwpAQCAtOTIxLDYgKzkyMSw3IEBAIHN0YXRpYyB2b2lkIHNldFdlYlByZWZlcmVu
Y2VzRm9yVGVzdE9wdGkKICAgICBwcmVmc1ByaXZhdGUtPnNldEFsbG93VG9wTmF2aWdhdGlvblRv
RGF0YVVSTHMob3B0aW9ucy5hbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKTsKICAgICBwcmVm
ZXJlbmNlcy0+c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChvcHRpb25zLnVzZUVwaGVtZXJhbFNl
c3Npb24pOwogICAgIHByZWZlcmVuY2VzLT5zZXRVc2VzUGFnZUNhY2hlKG9wdGlvbnMuZW5hYmxl
QmFja0ZvcndhcmRDYWNoZSk7CisgICAgcHJlZnNQcml2YXRlLT5zZXRQYWludFRpbWluZ0VuYWJs
ZWQoVFJVRSk7CiB9CiAKIHN0YXRpYyBTdHJpbmcgYXBwbGljYXRpb25JZCgpCkluZGV4OiBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMjU5MTk0KQor
KysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTkzMSw2ICs5MzEsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVu
Y2VzVG9DCiAgICAgV0tQcmVmZXJlbmNlc1NldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChwcmVm
ZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxl
ZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbmdFbmFi
bGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKKyAgICBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdF
bmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQcmVs
b2FkaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldE1l
ZGlhUGxheWJhY2tBbGxvd3NJbmxpbmUocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVy
ZW5jZXNTZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZShw
cmVmZXJlbmNlcywgZmFsc2UpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5MTk0KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMjAtMDMt
MjMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVu
dCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0cyBmb3Igc29tZSBmaXJzdC1jb250ZW50
ZnVsLXBhaW50IChGQ1ApIHVzZS1jYXNlcy4KKworICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9w
YWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1h
bmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3Jt
YW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanM6IEFkZGVkLgorICAgICAgICAg
ICAgICAgIFRlc3QgZXhpc3RlbmNlIG9mIHBhaW50IHRpbWluZyBBUEkgb24gdGhlIHdpbmRvdyBv
YmplY3QuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWlu
dC1mcmFtZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkv
Zmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVy
Zm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtd2l0aC13b3JrZXItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1w
YWludC13aXRoLXdvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkv
cmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5j
ZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgICAgICAgICBUZXN0
IHRoYXQgRkNQIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNyb3NzLW9yaWdpbiBmcmFtZXMgYW5kIHdv
cmtlcnMuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIt
Zmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBl
cmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQt
YXBpLXV0aWxzLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5jIHdhaXRGb3JGQ1ApOgorICAgICAg
ICAgICAgICAgIFRlc3QgdGhhdCBwZXJmb3JtYW5jZSBvYnNlcnZlcnMgYXJlIGNhbGxlZCBmb3Ig
RkNQLgorCiAyMDIwLTAzLTMwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVcGRhdGUgY3NzL3NlbGVjdG9ycyBXUFQgdGVzdHMKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5MTk0KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDc4IEBACisyMDIwLTAz
LTIzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1l
bnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wb3J0ZWQgdGVzdC1zdWl0ZSBmcm9tIHczYyB0byBj
b3ZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhc2VzLgorICAgICAgICBUaGUgZmNwLW9ubHkg
Y2FzZXMgYXJlIGltcG9ydGVkLCB3aGlsZSB0aGUgb3RoZXIgb25lcyBhcmUgbm90IHNpbmNlIFdl
YktpdCBkb2VzIG5vdCBzdXBwb3J0IGZpcnN0LXBhaW50LgorCisgICAgICAgICogcmVzb3VyY2Vz
L2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29u
dGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRp
ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNk
LXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0
ZS1kZXNjZW5kYW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXNjYWxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLXRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1vcGFjaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1i
b3VuZHMtdHJhbnNsYXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNl
dWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRp
c3BsYXkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1zdmcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRl
eHQtaW5wdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atd2l0aC1ydGwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2ZzogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2ly
Y2xlcy5wbmc6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmct
cGFpbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9yZXNvdXJjZXMvdXRpbHMuanM6IEFkZGVkLgorICAgICAgICAod2FpdFRpbWUpOgorICAg
ICAgICAoYXN5bmMgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCk6CisgICAgICAgIChhc3lu
YyBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCk6CisgICAgICAgICh0ZXN0X2ZjcCk6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9y
dC5sb2c6IEFkZGVkLgorCiAyMDIwLTAzLTMwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxl
LmNvbT4KIAogICAgICAgICBVcGRhdGUgY3NzL3NlbGVjdG9ycyBXUFQgdGVzdHMKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29u
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0
LWV4cGVjdGF0aW9ucy5qc29uCShyZXZpc2lvbiAyNTkxOTQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgkod29ya2luZyBjb3B5
KQpAQCAtMTMsNiArMTMsOCBAQAogICAgICJjc3MvZ2VvbWV0cnkiOiAiaW1wb3J0IiwgCiAgICAg
ImNzcy9zdXBwb3J0IjogImltcG9ydCIsIAogICAgICJjdXN0b20tZWxlbWVudHMiOiAiaW1wb3J0
IiwgCisgICAgInBhaW50LXRpbWluZy8iOiAiaW1wb3J0IiwgCisgICAgInBhaW50LXRpbWluZy9m
Y3Atb25seSI6ICJpbXBvcnQiLCAKICAgICAic2hhZG93LWRvbSI6ICJpbXBvcnQiLCAKICAgICAi
dG9vbHMiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1hbmltYXRpb25zIjogImltcG9ydCIsIApAQCAt
MzE5LDcgKzMyMSw4IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9vcmllbnRhdGlvbi1ldmVu
dCI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9vcmllbnRhdGlvbi1zZW5zb3Ii
OiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGFnZS12aXNpYmlsaXR5IjogInNr
aXAiLCAKLSAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZyI6ICJza2lwIiwgCisg
ICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkiOiAiaW1wb3J0Iiwg
CisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzIjogImltcG9y
dCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1oYW5kbGVyIjogInNraXAiLCAK
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtbWV0aG9kLWJhc2ljLWNhcmQiOiAic2tp
cCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1tZXRob2QtaWQiOiAic2tpcCIs
IApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWlu
dCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBzaXplLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJh
Y2tncm91bmQtc2l6ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5k
LXNpemUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXpl
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBi
YWNrZ3JvdW5kIHNpemU8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9z
aXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xl
cy5wbmcpOworICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDAgMDsKKyAgICB9CisKKyAgICAvKiBj
b250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNt
YWluLmNvbnRlbnRmdWwgeworICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsKKyAg
ICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxz
LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0
X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBzaXpl
LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmct
aW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1h
Z2Utc2V0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1h
Z2Utc2V0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFT
UyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGlu
IGltYWdlLXNldC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFp
bnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gYmFja2dyb3VuZCBpbWFnZSBpbiBpbWFnZS1zZXQ8
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMg
ZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7Cisg
ICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtaW1hZ2Utc2V0KHVybCguLi9yZXNvdXJj
ZXMvY2lyY2xlcy5wbmcpIDF4KTsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2Utc2V0
KHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpIDF4KTsKKyAgICB9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxk
aXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVu
dGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBpbWFnZSBpbiBpbWFnZS1zZXQuIik7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFn
ZS10d28tc3RlcHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1p
bWFnZS10d28tc3RlcHMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZm9yIGJhY2tncm91
bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1h
Z2UtdHdvLXN0ZXBzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3
by1zdGVwcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28t
c3RlcHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hv
dWxkIGZpcmUgZm9yIGJhY2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGU8L3RpdGxlPgor
PHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgYW5kIHByZUZDUCBjbGFzc2Vz
IGFyZSBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5wcmVGQ1Agewor
ICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1
bCwgICNtYWluLnByZUZDUCB7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNv
dXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAg
ICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFp
biI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxlLiIpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4
dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRl
eHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENh
bnZhcyBzaG91bGQgY291bnQgYXMgY29udGVudGZ1bCB3aGVuIGNvbnRleHQgaXMgY3JlYXRlZCAK
KwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMyBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIHdoZW4gY2FudmFzIGNvbnRleHQgaXMgY3JlYXRlZDwvdGl0bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGNh
bnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvY2FudmFzPgorPHNjcmlw
dD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGFzc2VydF9wcmVjb25kaXRpb24o
d2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9y
dGVkLiIpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoJ2xvYWQnLCByKSk7CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgp
OworICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYW52YXMnKTsK
KyAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CisgICAgY29udGV4
dC5maWxsUmVjdCgwLCAwLCAxMDAsIDEwMCk7CisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50
ZnVsUGFpbnQoKTsKKyAgfSwgJ0NhbnZhcyBzaG91bGQgY291bnQgYXMgY29udGVudGZ1bCB3aGVu
IGNvbnRleHQgaXMgY3JlYXRlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIEdyYWRpZW50cyBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwgCisKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1ncmFkaWVudC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhl
YWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgbm90
IGZpcmUgd2l0aCBncmFkaWVudC1vbmx5IGJhY2tncm91bmRzPC90aXRsZT4KKzxzdHlsZT4KKyAg
ICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgb3Jh
bmdlLCBibHVlKTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNj
cmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRp
dGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBz
dXBwb3J0ZWQuIik7CisgICAgICBjb25zdCBtYWluID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J21haW4nKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBh
aW50KCk7CisgIH0sICAnR3JhZGllbnRzIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bCcp
OworPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRh
bnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4dAorCitQ
QVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0
aW5nIHJvdGF0aW5nIGludG8gdmlldy4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gM2QgcmV2ZWFsaW5nIG9mIGRlc2Nl
bmRhbnRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBw
eDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgdHJhbnNmb3JtOiBy
b3RhdGVYKDQ1ZGVnKTsKKyAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKKyAg
ICB9CisKKyAgICAvKgorICAgICAgIFRoaXMgdGVzdHMgdGhhdCBnaXZlbiBtdWx0aXBsaWNhdGlv
biBlZmZlY3Qgb2YgM2QgdHJhbnNmb3JtcyBvbiBib3VuZGluZyByZWN0LAorICAgICAgIEFuIGVs
ZW1lbnQgY291bnRzIGFzIGNvbnRlbnRmdWwvcGFpbnRhYmxlIG9ubHkgd2hlbiBpdHMgYm91bmRp
bmcgcmVjdCBpcyB0cnVseSBub24tZW1wdHkgKi8KKyAgICAjY2hpbGQgeworICAgICAgICB0cmFu
c2Zvcm06IHJvdGF0ZVgoNDVkZWcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3Mg
aXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7
CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1h
aW4iPgorICAgIDxkaXYgaWQ9ImNoaWxkIj5UZXh0PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+Cisg
ICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNl
c3RvciBnZXR0aW5nIHJvdGF0aW5nIGludG8gdmlldy4iKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0
ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BB
U1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gM2Qgcm90YXRpb24gaW50byB2
aWV3LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Q
ZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRv
IHZpZXc8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4
OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRy
YW5zZm9ybTogcm90YXRlWSg5MGRlZyk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAg
ICAgICAgdG9wOiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5l
ZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAg
IHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRleHQ8
L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldy4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byBzY2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4gCisKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5z
aXRpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAor
CitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcg
dHJhbnNpdGlvbi4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNp
dGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJh
bnNpdGlvbi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2Nh
bGUtdHJhbnNpdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6
IEZDUCBpbiB0cmFuc2l0aW9uPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAg
IHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4
OworICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAgICAgICB0cmFuc2l0aW9uOiB0cmFu
c2Zvcm0gMTBzOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsK
KyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Ag
c2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IHNj
YWxlKDEpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+VEVYVDwvZGl2PgorPHNj
cmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIHJl
dmVhbGVkIGR1cmluZyB0cmFuc2l0aW9uLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMw
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRp
bWluZyBUZXN0OiBGQ1AgZHVlIHRvIHNjYWxlIGNoYW5nZTwvdGl0bGU+Cis8c3R5bGU+CisgICAg
I21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKKyAgICAgICAg
cG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQt
aW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgIC8qIGNv
bnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21h
aW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gc2NhbGUgYmVjb21pbmcgcG9zaXRpdmUuIikK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS10ZXh0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtdGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitJTlZJ
U0lCTEUKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8t
ZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0
aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBzdGlsbCBmaXJl
IGZvciBpbnZpc2libGUgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAg
ICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOworICAgICAgICBjb2xvcjog
cmdiYSgwLCAwLCAwLCAwKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRl
ZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAg
ICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFp
biI+CisgICAgSU5WSVNJQkxFCis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZp
c2libGUuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LW9wYWNpdHktZGVzY2VuZGFudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW9wYWNpdHktZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4gCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQg
VGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gYW5jZXN0b3Igb3BhY2l0eTwvdGl0bGU+Cis8c3R5bGU+
CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAg
ICAgICB0b3A6IDA7CisgICAgfQorCisgICAgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0eTogMDsK
KyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGFuZCBpbnRlcm1lZGlhdGUgY2xhc3NlcyBhcmUg
ZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCAjY2hp
bGQgeworICAgICAgICBvcGFjaXR5OiAxOworICAgIH0KKworICAgICNtYWluLmludGVybWVkaWF0
ZSAjY2hpbGQgeworICAgICAgICBvcGFjaXR5OiAxOworICAgIH0KKworICAgICNtYWluLmludGVy
bWVkaWF0ZSB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgI21haW4uY29udGVu
dGZ1bCB7CisgICAgICAgIG9wYWNpdHk6IDAuNTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9
Im1haW4iPgorICAgIDxkaXYgaWQ9ImNoaWxkIj5UZXh0PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+
CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBh
bmNlc3RvciBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIG9w
YWNpdHktcmV2ZWFsZWQgZWxlbWVudC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQg
VGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gb3BhY2l0eTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21h
aW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgIGxlZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6
IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5w
bmcpOworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xh
c3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1
bCB7CisgICAgICAgIG9wYWNpdHk6IDAuMTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1h
aW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWlu
dCBmaXJlcyBkdWUgdG8gb3BhY2l0eS1yZXZlYWxlZCBlbGVtZW50LiIpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4gCisKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xh
dGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZp
cnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBpbnRlcnNl
Y3Rpb24gd2l0aCBkb2N1bWVudC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRz
LXRyYW5zbGF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRz
LXRyYW5zbGF0ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91
bmRzLXRyYW5zbGF0ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6
IEZDUCBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50PC90
aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06
IHRyYW5zbGF0ZSgtMTAwMHB4KTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAg
ICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2ly
Y2xlcy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBp
biB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRy
YW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2Pgor
PHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gdHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiIpCis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9j
dW1lbnQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4
OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAtMTAwMHB4OworICAgICAg
ICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3Vu
ZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgLyog
Y29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAj
bWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgbGVmdDogMHB4OworICAgIH0KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0Pgor
PGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4iKQor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBz
ZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LWRpc3BsYXkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtZGlzcGxheS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1kaXNwbGF5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVz
dDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAj
bWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4
OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAg
ICAgICAgY29udGVudDogIlRFWFQiOworICAgICAgICBkaXNwbGF5OiBub25lOworICAgIH0KKwor
ICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICov
CisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOwor
ICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRp
bHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAg
dGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVt
ZW50IHRleHQuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgaW1hZ2UuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNl
dWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNl
dWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBU
ZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IGltYWdlPC90aXRsZT4KKzxzdHlsZT4KKyAg
ICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEw
MHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwg
Y2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVu
dGZ1bDphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5w
bmcpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+
CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVk
by1lbGVtZW50IGltYWdlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0dGluZyBwb3NpdGl2
ZSBvcGFjaXR5LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHku
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBw
c2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgor
ICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDog
MTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIg
eworICAgICAgICBjb250ZW50OiAiVEVYVCI7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQor
CisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4g
Ki8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgb3BhY2l0eTogMC41Owor
ICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRp
bHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAg
dGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVt
ZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiAKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQ
YWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0PC90aXRsZT4K
KzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAg
ICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC8q
IGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAg
I21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIgorICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRl
eHQuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiAK
KwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVh
ZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1
ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7
CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAg
Y29udGVudDogIlRFWFQiOworICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgfQorCisg
ICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8K
KyAgICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJs
ZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0Pgor
ICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8t
ZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1z
dmctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZp
cnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiBTVkcgYmVjb21lcyBjb250ZW50ZnVsLiAK
KwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1zdmcuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHdpdGggU1ZHPC90aXRsZT4KKzxz
dHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgfQorCisgICAgI2NpcmNsZSB7CisgICAgICBkaXNwbGF5OiBub25lOworICAgIH0KKwor
ICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICov
CisgICAgI21haW4uY29udGVudGZ1bCAjY2lyY2xlIHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7
CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91
dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgPHN2ZyB2aWV3Qm94PSIwIDAg
MTAgMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKKyAgICAgeG1sbnM6eGxp
bms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgorICAgIDxkZWZzPgorICAgICAgPGNp
cmNsZSBpZD0ibXlDaXJjbGUiIGN4PSI1IiBjeT0iNSIgcj0iNCIgc3Ryb2tlPSJibHVlIi8+Cisg
ICAgPC9kZWZzPgorICAgIDx1c2UgaWQ9ImNpcmNsZSIgaHJlZj0iI215Q2lyY2xlIiBmaWxsPSJn
cmVlbiIgLz4KKyAgPC9zdmc+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiBTVkcgYmVjb21lcyBjb250ZW50ZnVsLiIpCis8
L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5w
dXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBUZXh0IGlu
cHV0IHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGl0cyB2YWx1ZSBpcyBub24tZW1wdHkg
CisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
dGV4dC1pbnB1dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZD
UCBkdWUgZm9yIG5vbi1lbXB0eSB0ZXh0IGlucHV0PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8aW5wdXQgaWQ9ImlucHV0
IiB0eXBlPSJ0ZXh0IiAvPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewor
ICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywg
IlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJvbWlz
ZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQg
YXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgICAgY29uc3QgaW5wdXQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQnKTsKKyAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgn
dmFsdWUnLCAnICAnKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQo
KTsKKyAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgndmFsdWUnLCAndmFsdWUnKTsKKyAgICAgIGF3
YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdUZXh0IGlucHV0IHNob3Vs
ZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGl0cyB2YWx1ZSBpcyBub24tZW1wdHknKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBz
ZXVkby1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGlj
LXBzZXVkby1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9n
cmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBA
CitBCisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBvbmx5IHdoZW4gc29tZSBv
ZiB0aGUgdGV4dCBpcyB2aXNpYmxlLCBjb25zaWRlcmluZyA6OmZpcnN0LWxldHRlci4gCisKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFp
bnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgbm90IGZpcmUgd2hlbiBhbGwgdGV4dCBpcyBoaWRk
ZW4gZHVlIHRvIHR5cG9ncmFwaGljIHBzZXVkby1lbGVtZW50czwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAx
MDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbiAqOjpmaXJz
dC1sZXR0ZXIgeworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRm
dWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29u
dGVudGZ1bCAqOjpmaXJzdC1sZXR0ZXIgeworICAgICAgICBvcGFjaXR5OiAxOworICAgIH0KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwv
c2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdj5BPC9kaXY+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgb25seSB3aGVu
IHNvbWUgb2YgdGhlIHRleHQgaXMgdmlzaWJsZSwgY29uc2lkZXJpbmcgOjpmaXJzdC1sZXR0ZXIu
IikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVv
LWZyYW1lLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJh
bWUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFt
ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBW
aWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBmaXJzdCBmcmFtZSBpcyBsb2FkZWQg
CisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC12aWRlby1mcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6
IEZDUCBkdWUgdG8gbG9hZGVkIHZpZGVvIGZyYW1lPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8dmlkZW8gaWQ9InZpZGVv
IiBhdXRvcGxheT48L3ZpZGVvPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4g
eworICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWlu
ZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJv
bWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdh
aXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgICAgY29uc3QgdmlkZW8gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmlkZW8nKTsKKyAgICAgIHZpZGVvLnNldEF0dHJpYnV0
ZSgnc3JjJywgJy9tZWRpYS90ZXN0Lm1wNCcpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB7CisgICAgICAgIHZpZGVvLm9uY2FucGxheSA9IHJlc29sdmU7CisgICAgICB9KTsK
KyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdWaWRlbyBz
aG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBmaXJzdCBmcmFtZSBpcyBsb2FkZWQnKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rl
ci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBWaWRl
byBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBwb3N0ZXIgaXMgbG9hZGVkIAorCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXZpZGVvLXBvc3Rlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
ZHVlIHRvIGxvYWRlZCB2aWRlbyBwb3N0ZXI8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIHdp
ZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC92aWRlbz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBh
aW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBu
ZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAg
IGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICBjb25zdCB2aWRlbyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2aWRlbycpOworICAgIGNvbnN0IHNyYyA9ICcuLi9y
ZXNvdXJjZXMvY2lyY2xlcy5wbmcnOworICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7Cisg
ICAgaW1hZ2Uuc3JjID0gc3JjOworICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgncG9zdGVyJywgc3Jj
KTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgaW1hZ2Uub25s
b2FkID0gYXN5bmMgKCkgPT4gcmVzb2x2ZSgpOworICAgIH0pCisgICAgYXdhaXQgYXNzZXJ0Rmly
c3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ1ZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1
bCB3aGVuIHBvc3RlciBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw0IEBACitURVhUCisKK1BBU1MgV2hpdGVzcGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNv
bnRlbnRmdWwuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWlu
ZyBUZXN0OiBXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bDwvdGl0bGU+
Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dy
b3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIGJhY2tn
cm91bmQtc2l6ZTogMCAwOworICAgIH0KKworICAgICN0ZXh0IHsKKyAgICAgICAgZGlzcGxheTog
bm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI3RleHR7CisgICAgICAgIGRp
c3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRp
diBpZD0id2hpdGVzcGFjZSI+ICAgPC9kaXY+CisgICAgPGRpdiBpZD0idGV4dCI+VEVYVDwvZGl2
PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJXaGl0ZXNwYWNlIHNob3VsZCBub3Qg
Y291bnQgYXMgY29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC13aXRoLXJ0bC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXdpdGgtcnRsLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAK
K1RFWFQKKworUEFTUyBGQ1Agc2hvdWxkIGZpcmUgd2hlbiBjb29yZGluYXRlcyBhcmUgbmVnYXRp
dmUsIGlmIHdpdGhpbiBkb2N1bWVudCBzY3JvbGxhYmxlIGFyZWEgCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC13aXRoLXJ0bC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+
UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gZGlyZWN0aW9uIGNoYW5n
ZTwvdGl0bGU+Cis8c3R5bGU+CisgICN0ZXh0IHsKKyAgICByaWdodDogLTEwMHB4OworICAgIHBv
c2l0aW9uOiBhYnNvbHV0ZTsKKyAgfQorCisgIGJvZHkgeworICAgIGRpcmVjdGlvbjogcnRsOwor
ICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHkgZGlyZWN0aW9uPSJSVEwiPgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+
Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRfcHJl
Y29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlz
bid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29u
dGVudGZ1bFBhaW50KCk7CisgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmRpcmVjdGlvbiA9ICds
dHInCisgICAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAnRkNQ
IHNob3VsZCBmaXJlIHdoZW4gY29vcmRpbmF0ZXMgYXJlIG5lZ2F0aXZlLCBpZiB3aXRoaW4gZG9j
dW1lbnQgc2Nyb2xsYWJsZSBhcmVhJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1p
bXBvcnQubG9nCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10
ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxl
LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhl
czoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9u
ZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Ut
c2V0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
c2NhbGUtdHJhbnNpdGlvbi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0
eS1kZXNjZW5kYW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJv
dW5kcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3ZlcmZsb3cuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWlt
YWdlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
dmlkZW8tZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbApJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5z
dmcJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIg
dmVyc2lvbj0iMS4xIj4KKyAgIDxjaXJjbGUgY3g9IjEwMCIgY3k9IjUwIiByPSI0MCIgc3Ryb2tl
PSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiAvPgorPC9zdmc+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9y
ZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMv
c3ViZnJhbWUtcGFpbnRpbmcuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJh
bWUtcGFpbnRpbmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxib2R5PgorPGRpdiBpZD0iaW1hZ2UiPjwvZGl2PgorPHNjcmlwdD4KKyAgY29u
c3QgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnSU1HJyk7CisgIGltZy5zcmMgPSAnY2ly
Y2xlcy5wbmcnOworICBpbWcub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgZnVuY3Rpb24gc2Vu
ZFBhaW50RW50cmllcygpIHsKKyAgICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNl
LmdldEVudHJpZXNCeVR5cGUoJ3BhaW50Jyk7CisgICAgICBpZiAocGFpbnRFbnRyaWVzLmxlbmd0
aCA8IDIpIHsKKyAgICAgICAgc2V0VGltZW91dChzZW5kUGFpbnRFbnRyaWVzLCAyMCk7CisgICAg
ICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAgIGxldCBlbnRyeUNvbnRlbnRzID0gcGFpbnRFbnRy
aWVzLmxlbmd0aCArICcnOworICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYWludEVudHJpZXMu
bGVuZ3RoOyBpKyspIHsKKyAgICAgICAgY29uc3QgZW50cnkgPSBwYWludEVudHJpZXNbaV07Cisg
ICAgICAgIGVudHJ5Q29udGVudHMgKz0gJyAnICsgZW50cnkuZW50cnlUeXBlICsgJyAnICArIGVu
dHJ5Lm5hbWU7CisgICAgICB9CisgICAgICBwYXJlbnQucG9zdE1lc3NhZ2UoZW50cnlDb250ZW50
cywgJyonKTsKKyAgICB9OworICAgIHNlbmRQYWludEVudHJpZXMoKTsKKyAgfTsKKyAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2ltYWdlJykuYXBwZW5kQ2hpbGQoaW1nKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0
PgorICBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbihlKSB7CisgICAg
Ly8gU2VuZCBwYWludC10aW1pbmcgZW50cmllcyB1cG9uIHJlY2VpdmluZyBhIG1lc3NhZ2UuCisg
ICAgY29uc3QgcGFpbnRFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncGFp
bnQnKTsKKyAgICBsZXQgZW50cnlDb250ZW50cyA9IHBhaW50RW50cmllcy5sZW5ndGggKyAnJzsK
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhaW50RW50cmllcy5sZW5ndGg7IGkrKykgeworICAg
ICAgY29uc3QgZW50cnkgPSBwYWludEVudHJpZXNbaV07CisgICAgICBlbnRyeUNvbnRlbnRzICs9
ICcgJyArIGVudHJ5LmVudHJ5VHlwZSArICcgJyAgKyBlbnRyeS5uYW1lOworICAgIH0KKyAgICBw
YXJlbnQucG9zdE1lc3NhZ2UoZW50cnlDb250ZW50cywgJyonKTsKKyAgfSk7Cis8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL3Jlc291cmNlcy91dGlscy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMu
anMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNTYgQEAKKy8vIE51bWJlciBtaWxsaXNlY29uZHMgdG8gd2FpdCBmb3IgQ1NTIHJl
c291cmNlcyB0byBsb2FkLgorY29uc3QgbnVtTWlsbGlzZWNvbmRzV2FpdCA9IDUwOworCisvLyBX
ZSB1c2UgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCkgY2FsbHMgdG8gZm9yY2UgdGhlIHVzZXIgYWdl
bnQgdG8gcGFpbnQgYW5kIGdpdmUgZW5vdWdoCisvLyB0aW1lIGZvciBGQ1AgdG8gc2hvdyB1cCBp
biB0aGUgcGVyZm9ybWFuY2UgdGltZWxpbmUuIEhlbmNlLCBzZXQgfG51bUZyYW1lc1dhaXRpbmd8
IHRvCisvLyAzIGFuZCB1c2UgdGhhdCBjb25zdGFudCB3aGVuZXZlciB0aGUgdGVzdCBuZWVkcyB0
byB3YWl0IGZvciB0aGUgbmV4dCBwYWludCB0byBvY2N1ci4KK2NvbnN0IG51bUZyYW1lc1dhaXRp
bmcgPSAzOworCitmdW5jdGlvbiB3YWl0VGltZSh0KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHQuc3RlcF90aW1lb3V0KHJlc29sdmUsIG51bU1pbGxpc2Vjb25kc1dhaXQpKTsK
K30KKworZnVuY3Rpb24gd2FpdEZvckFuaW1hdGlvbkZyYW1lcyhjb3VudCkgeworICByZXR1cm4g
bmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgaWYgKGNvdW50LS0gPD0gMCkgeworICAgICAg
cmVzb2x2ZSgpOworICAgIH0gZWxzZSB7CisgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkg
PT4geworICAgICAgICB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKGNvdW50KS50aGVuKHJlc29sdmUp
OworICAgICAgfSk7CisgICAgfQorICB9KTsKK30KKworLy8gQXNzZXJ0cyB0aGF0IHRoZXJlIGlz
IGN1cnJlbnRseSBubyBGQ1AgcmVwb3J0ZWQsIGV2ZW4gYWZ0ZXIgc29tZSB3YWl0LgorYXN5bmMg
ZnVuY3Rpb24gYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KSB7CisgIGlmICh0KQorICAg
IGF3YWl0IHdhaXRUaW1lKHQpOworCisgIGF3YWl0IHdhaXRGb3JBbmltYXRpb25GcmFtZXMobnVt
RnJhbWVzV2FpdGluZyk7CisgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0aCwgMCwgJ0ZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgbWFya2VkIHRvbyBlYXJseS4gJyk7Cit9CisKKy8vIEFzc2VydHMgdGhhdCBGQ1Ag
aXMgcmVwb3J0ZWQsIHBvc3NpYmx5IGFmdGVyIHNvbWUgd2FpdC4gVGhlIHdhaXQgaXMgbmVlZGVk
CisvLyBiZWNhdXNlIHNvbWV0aW1lcyB0aGUgRkNQIHJlbGllcyBvbiBzb21lIENTUyByZXNvdXJj
ZXMgdG8gZmluaXNoIGxvYWRpbmcuCithc3luYyBmdW5jdGlvbiBhc3NlcnRGaXJzdENvbnRlbnRm
dWxQYWludCh0KSB7CisgIGlmICh0KQorICAgIGF3YWl0IHdhaXRUaW1lKHQpOworICBhd2FpdCB3
YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKG51bUZyYW1lc1dhaXRpbmcpOworICBhc3NlcnRfZXF1YWxz
KHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5s
ZW5ndGgsIDEsICdFeHBlY3RlZCBmaXJzdCBjb250ZW50ZnVsIHBhaW50IG5vdCBmb3VuZC4gJyk7
Cit9CisKK2Z1bmN0aW9uIHRlc3RfZmNwKGxhYmVsKSB7CisgIGNvbnN0IHN0eWxlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKKyAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChz
dHlsZSk7CisgIHJldHVybiBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3By
ZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBp
c24ndCBzdXBwb3J0ZWQuIik7CisgICAgY29uc3QgbWFpbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdtYWluJyk7CisgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBh
aW50KCk7CisgICAgbWFpbi5jbGFzc05hbWUgPSAncHJlRkNQJzsKKyAgICBhd2FpdCBhc3NlcnRO
b0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgbWFpbi5jbGFzc05hbWUgPSAnY29udGVudGZ1
bCc7CisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgbGFiZWwp
OworfQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291
cmNlcy93M2MtaW1wb3J0LmxvZwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9y
dC5sb2cJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMSBAQAorVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2Vi
LXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQt
dzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92
ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJl
Zml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2ZworL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUt
cGFpbnRpbmcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVz
b3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzCkluZGV4OiBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50
LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBA
CitCYXNpYyBJbnRlcmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQZXJmb3JtYW5jZVBhaW50VGltaW5nCitQQVNTIFBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcgaXMgZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFuY2VQYWludFRpbWlu
Zy5wcm90b3R5cGUudG9KU09OIGlzIGRlZmluZWQuCitQQVNTIG5ldyBQZXJmb3JtYW5jZVBhaW50
VGltaW5nKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29u
c3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCknKS4KK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGlt
aW5nLWFwaXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUg
SFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9wYWludC10aW1pbmctYXBpLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5n
LWZyYW1lcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMjAgQEAKK1BhaW50IEFQSSBzaG91bGQgYmUgYXZhaWxhYmxlIGZvciBzYW1l
LW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4vc2FuZGJveGVkIGZyYW1lcy4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgcmVjZWl2ZWRFdmVudC5zb3Vy
Y2UgaXMgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNhbmRib3hlZCcpLmNvbnRlbnRXaW5k
b3cKK1BBU1MgcmVjZWl2ZWRFbnRyeS5uYW1lIGlzICdmaXJzdC1jb250ZW50ZnVsLXBhaW50Jwor
UEFTUyBkaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUgaXMgZmFsc2UKK1BBU1Mg
QXJyYXkuaXNBcnJheShub25TYW5kYm94U3VwcG9ydGVkVHlwZXMpIGlzIHRydWUKK1BBU1MgQXJy
YXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVkVHlwZXMpIGlzIHRydWUKK1BBU1MgZGlkUmVjZWl2
ZU1lc3NhZ2UgaXMgdHJ1ZQorUEFTUyBub25TYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5jbHVkZXMo
InBhaW50IikgaXMgdHJ1ZQorUEFTUyBzYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5jbHVkZXMoInBh
aW50IikgaXMgZmFsc2UKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVs
LXBhaW50IGNhbGxiYWNrIHdhcyBmaXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJhbWUgYnV0IG5vdCBm
b3IgY3Jvc3Mtb3JpZ2luIGZyYW1lCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKworCitURVhUCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDY3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorICAgIDxpZnJhbWUg
d2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGlkPSJub25TYW5kYm94ZWQiIHNyYz0iLi9yZXNvdXJj
ZXMvZmNwLXN1YmZyYW1lLmh0bWwiPjwvaWZyYW1lPgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rp
dj4KKzxpZnJhbWUgaWQ9InNhbmRib3hlZCIgc3JjPSIuL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUu
aHRtbCIgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyI+PC9pZnJhbWU+Cis8ZGl2IGNsYXNzPSJzcGFj
ZXIiPjwvZGl2PgorCisgICAgVEVYVAorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50IEFQ
SSBzaG91bGQgYmUgYXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0byBj
cm9zcy1vcmlnaW4vc2FuZGJveGVkIGZyYW1lcy4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKK3dpbmRvdy5kaWRSZWNlaXZlTWVzc2FnZSA9IGZhbHNlOworCit3aW5kb3cub25sb2Fk
ID0gYXN5bmMgKCkgPT4geworICAgIGNvbnN0IHNhbmRib3hlZCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdzYW5kYm94ZWQnKTsKKyAgICBjb25zdCBub25TYW5kYm94ZWQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJyk7CisgICAgY29uc3QgZmNwTWVzc2FnZVByb21p
c2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9
IGV2ZW50ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5yZWNlaXZlZEV2ZW50ID0gZXZlbnQ7Cisg
ICAgICAgICAgICBjb25zdCBpc0Zyb21TYW5kYm94ZWQgPSBldmVudC5zb3VyY2UgPT09IHNhbmRi
b3hlZC5jb250ZW50V2luZG93OworICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IEpTT04ucGFy
c2UoZXZlbnQuZGF0YSk7CisgICAgICAgICAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkgeworICAg
ICAgICAgICAgICAgIGNhc2UgJ3N1cHBvcnRlZCc6CisgICAgICAgICAgICAgICAgICAgIGlmIChp
c0Zyb21TYW5kYm94ZWQpCisgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2FuZGJveFN1
cHBvcnRlZFR5cGVzID0gbWVzc2FnZS5zdXBwb3J0ZWQ7CisgICAgICAgICAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5ub25TYW5kYm94U3VwcG9ydGVkVHlw
ZXMgPSBtZXNzYWdlLnN1cHBvcnRlZDsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICAgICAgY2FzZSAncmVjZWl2ZWQnOgorICAgICAgICAgICAgICAgICAgICB3aW5kb3cu
ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1lID0gaXNGcm9tU2FuZGJveGVkOwor
ICAgICAgICAgICAgICAgICAgICB3aW5kb3cucmVjZWl2ZWRFbnRyeSA9IG1lc3NhZ2UuZW50cnk7
CisgICAgICAgICAgICAgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoJ3JlY2VpdmVkRXZlbnQuc291cmNlJywgImRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKS5jb250ZW50V2luZG93Iik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCdyZWNlaXZlZEVudHJ5Lm5hbWUnLCAiJ2ZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQnIik7CisgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAgfSk7CisKKyAg
ICBzYW5kYm94ZWQuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgicGFpbnQiLCAiKiIpOworICAg
IGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBub25TYW5kYm94ZWQuY29udGVudFdpbmRvdy5wb3N0
TWVzc2FnZSgicGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBhd2Fp
dCBmY3BNZXNzYWdlUHJvbWlzZTsKKyAgICBzaG91bGRCZUZhbHNlKCdkaWRSZWNlaXZlTWVzc2Fn
ZUZyb21TYW5kYm94ZWRJZnJhbWUnKTsKKyAgICBzaG91bGRCZVRydWUoJ0FycmF5LmlzQXJyYXko
bm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzKScpOworICAgIHNob3VsZEJlVHJ1ZSgnQXJyYXkuaXNB
cnJheShzYW5kYm94U3VwcG9ydGVkVHlwZXMpJyk7CisgICAgc2hvdWxkQmVUcnVlKCdkaWRSZWNl
aXZlTWVzc2FnZScpOworICAgIHNob3VsZEJlVHJ1ZSgnbm9uU2FuZGJveFN1cHBvcnRlZFR5cGVz
LmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnc2FuZGJveFN1cHBvcnRl
ZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VP
YnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBmaXJlZCBmb3Igc2Ft
ZS1vcmlnaW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lIik7CisgICAgZmlu
aXNoSlNUZXN0KCk7Cit9OworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRp
bWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorUGFpbnQgQVBJIHNob3VsZCBub3QgYmUg
YXZhaWxhYmxlIGluIHdvcmtlciBjb250ZXh0cy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1
ZGVzKCJwYWludCIpIGlzIHRydWUKK1BBU1Mgd29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5pbmNs
dWRlcygicGFpbnQiKSBpcyBmYWxzZQorUEFTUyB3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmlu
Y2x1ZGVzKCJtYXJrIikgaXMgdHJ1ZQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRl
ZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNsdWRlICdwYWludCcgZm9yIHdvcmtlcnMKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdv
cmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
YWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2
IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
PgorZGVzY3JpcHRpb24oIlBhaW50IEFQSSBzaG91bGQgbm90IGJlIGF2YWlsYWJsZSBpbiB3b3Jr
ZXIgY29udGV4dHMuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Citjb25zdCB3b3Jr
ZXIgPSBuZXcgV29ya2VyKCIuL3Jlc291cmNlcy93b3JrZXIuaHRtbCIpOword29ya2VyLm9ubWVz
c2FnZSA9IGV2ZW50ID0+IHsKKyAgICB3aW5kb3cud29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcyA9
IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAgc2hvdWxkQmVUcnVlKCdQZXJmb3JtYW5jZU9i
c2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICBzaG91
bGRCZUZhbHNlKCd3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7
CisgICAgc2hvdWxkQmVUcnVlKCd3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJt
YXJrIiknKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVu
dHJ5VHlwZXMgZGlkIG5vdCBpbmNsdWRlICdwYWludCcgZm9yIHdvcmtlcnMiKTsKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK307CisKK3dvcmtlci5wb3N0TWVzc2FnZSgic3RhcnQiKTsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVy
Zm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2Vy
dmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1j
b250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEw
IEBACitQQVNTIGRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCBpcyB0cnVlCitQQVNTIHBl
cmZvcm1hbmNlLmdldEVudHJpZXMoKS5sZW5ndGggaXMgMQorUEFTUyBwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1Mg
cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIsICJw
YWludCIpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInBh
aW50IikubGVuZ3RoIGlzIDEKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50
ZnVsLXBhaW50IGNhbGxiYWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorVEVYVDIKSW5kZXg6IExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBh
aW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZv
cm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmly
c3QtY29udGVudGZ1bC1wYWludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAK
KzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3Bh
aW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiRW5zdXJlIFBlcmZvcm1hbmNlT2JzZXJ2ZXJzIGFyZSBub3RpZmllZCBvbmNl
IGZvciBmaXJzdC1jb250ZW50ZnVsLXBhaW50LiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOworIAorKGFzeW5jICgpID0+IHsKKyAgICB3aW5kb3cuZGlkUmVjZWl2ZUZpcnN0Q29udGVu
dGZ1bFBhaW50ID0gZmFsc2U7CisgICAgd2luZG93LnN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5v
dygpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHsKKyAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZl
cihlbnRyeUxpc3QgPT4geworICAgICAgICAgICAgd2luZG93LmVudHJ5TGlzdCA9IGVudHJ5TGlz
dDsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCcs
ICIxIik7CisgICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0LmdldEVudHJpZXNCeU5hbWUo
ImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAxKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAiMSIpOwor
ICAgICAgICAgICAgd2luZG93LmZjcEVudHJ5ID0gZW50cnlMaXN0LmdldEVudHJpZXMoKVswXTsK
KyAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWlu
dCcpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5Lm5hbWUnLCAnImZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQiJyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50cnkuZW50cnlUeXBl
JywgJyJwYWludCInKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgnZmNwRW50cnkuc3RhcnRU
aW1lID4gd2luZG93LnN0YXJ0VGltZScpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdmY3BF
bnRyeS5zdGFydFRpbWUgPCBwZXJmb3JtYW5jZS5ub3coKScpOworICAgICAgICAgICAgc2hvdWxk
QmUoJ2ZjcEVudHJ5LmR1cmF0aW9uJywgIjAiKTsKKyAgICAgICAgICAgIGRpZFJlY2VpdmVGaXJz
dENvbnRlbnRmdWxQYWludCA9IHRydWU7CisgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAg
IH0pOworCisgICAgICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsncGFpbnQnXX0p
OworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICdURVhUJzsKKyAgICB9KQorICAg
IGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQyJzsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQ
KCk7CisgICAgc2hvdWxkQmVUcnVlKCdkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQnKTsK
KyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCcsICIxIik7Cisg
ICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IiwgInBhaW50IikubGVuZ3RoJywg
IjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQi
KS5sZW5ndGgnLCAiMSIpOworICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmly
c3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXNuJ3QgZmlyZWQgYWdhaW4gIik7CisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9KSgpOworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2Zj
cC1zdWJmcmFtZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwyMCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBj
b25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAg
ICBsaXN0LmdldEVudHJpZXMoKS5mb3JFYWNoKGVudHJ5ID0+IHsKKyAgICAgICAgICAgIHdpbmRv
dy5wYXJlbnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3R5cGU6ICdyZWNlaXZlZCcsIGVu
dHJ5fSksICcqJyk7CisgICAgICAgIH0pOworICAgIH0pOworCisgICAgb2JzZXJ2ZXIub2JzZXJ2
ZSh7ZW50cnlUeXBlczogWyJwYWludCJdfSk7CisgICAgd2luZG93Lm9ubWVzc2FnZSA9IGUgPT4g
eworICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHtzdXBw
b3J0ZWQ6IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcywgdHlwZTogJ3N1
cHBvcnRlZCd9KSwgJyonKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAiVEVY
VCI7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0
aWxzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJj
ZXMvcGFpbnQtYXBpLXV0aWxzLmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNSBAQAorYXN5bmMgZnVuY3Rpb24gd2FpdEZvckZDUCgpCit7CisgICAgYXdhaXQg
bmV3IFByb21pc2UocmVzb2x2ZSA9PiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gcmVzb2x2
ZSgpKSk7CisgICAgcmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdm
aXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoID09IDE7Cit9ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9w
YWludC10aW1pbmctYXBpLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanMJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAoraWYgKHNlbGYuaW1wb3J0U2NyaXB0cykKKyAg
ICBpbXBvcnRTY3JpcHRzKCIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiKTsKKworaWYg
KHNlbGYud2luZG93KQorICAgIGRlc2NyaXB0aW9uKCJCYXNpYyBJbnRlcmZhY2UgdGVzdCBmb3Ig
cGFpbnQtdGltaW5nIEFQSXMuIik7CisKK2RlYnVnKCJQZXJmb3JtYW5jZVBhaW50VGltaW5nIik7
CitzaG91bGRCZURlZmluZWQoIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmciKTsKK3Nob3VsZEJlRGVm
aW5lZChgUGVyZm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUudG9KU09OYCk7CitzaG91bGRU
aHJvdyhgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKWApOworCitpZiAoc2VsZi5pbXBvcnRT
Y3JpcHRzKQorICAgIGZpbmlzaEpTVGVzdCgpOwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzIEBACitzZWxmLm9ubWVzc2FnZSA9ICgpID0+IHsKKyAgICBzZWxm
LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVk
RW50cnlUeXBlcykpOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291
cmNlcy9jaXJjbGVzLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBh
cyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUt
dHlwZQojIyAtMCwwICsxICMjCitpbWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNRQUFBQklDQVlBQUFDZU5sZTVBQUFDN21s
RFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0
b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5
S2hWcEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtp
RVdsc2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJT
dHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5
eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3
ek82cllxR2NUdllPa0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNH
RFgwK0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAx
MHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZ
Wml3VUVDR1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhs
RU8xQ0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZK
WFVkcE5YUjVhc2VYcTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0
UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9H
Zk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlT
OWRQMXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9E
SW1icHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9k
Nkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgx
dUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFB
CkNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUdaMGxFUVZSb0JlMmFVVzlWUlJESGQ2OHRFVkpM
VzJLQ3hDWStpZ1FEb1lrS2ZnSjgKOU1rbkV2RWR2b0Nta1MrQTcycENRc0tUai9JSkJDU0IxTlNv
UEpxVTFDYWtnTmlBYWVOZGYvK1pPVDIzNTk3U0Z1N2w2VXl5NSt6TwoyWjJablozZG5abDdjNXJQ
SmUwS1NzcHBocDc3VTBtUHFEL2RIRlVSeUp1WVJKOEQ5SmtHODR6NlE5NjlYM3M2TnFwampYYWpL
U0xkCkVHUWY5UldJTyttU3pzTDFCSzFaeWlHS2hGamx1VVNIWHhoem5mWlRFeU9udytEWFE3Q085
ZVF4RUo0amtGaVBRVkRFbG0xd0taL3kKUHBkS09jM2JoYkFQelFkRFRiaDhrL2VWbFBNUDFpT25J
N1FmVU4rZ0ROWlk3bDh5MTBwS2t3d1paeUN6TG1jUjRtdmFwNHh3U2I5Qwo3eWJ0aFZUeUg3ei9E
dnpCbE10Um1KNWt6R253eHdOL0Y2RytZc3gxMm9mNExvR2VVUHExMVJDb1hpS3R1MXFsZk1mamMy
b3NYYjZHCkFKZkIzNkVObW1KOXJGWFhoUk9VTkllQUY2SHhHUzJZNSsraGNUN0d6ZkNXYlcwVnFp
RlFaYmdQYlZEcS9zeUFEeWczR1BjRjczc20KUUxKbEZDSE5WTGJSNVMyQmhKT3RTYlBDdWMybDlD
N05iMm1mb2R5RzFvZEJweEtxbW9LTVpCTTAzMG1LcEFhNnYvTTRDcGR2S0JlRAp3Q3pNdFR3cjZn
SFVoTlFTQlllcXBtVS9DT3BlS3AyUDZYQ1pjc0ZwZDk0REwxN2lxZVZ6V3BwU05NWkJqUnZSZ21h
eUNhTjFsekJ2CjAyZUtiK3lndEJiOXR3b0RzZ2YwVFdVdHhrdzVEV2dsYkVtMHhjT1hYTnBVMlNL
UXR2YWJJRmRaYzJ5R1pTcW1tVXZnMzJIZ1g1VEgKTWFpYVBjMGR3VmxxckdpSVZzcVhuRFk4bkJj
OGpYZTE3UE81K0FHRzNiQ2JVdm1SRGpkTXhkS01DTGs5N01oOUZ4MDYwSDRMbXZkVAo3djdFRzV2
S24yRG8ybjJ5cDBleVFzMUNoZ2l3dFkyNUdiQVFXcDcvVkJrU2lKWm9Bc1lEclJoUElTUkRTUjIv
RHRnTmR1aWQ4cTF0CnUwa0dYQzJUQmd3RHN0SE1uTzVGUERoR0VtZWI4MTVCZXpQU2tPNG13VGw3
SnM0WmdlK21zSG4vTXFSbkoyaERMbmpaNlcvVTk2ZU8KWDVSOHM1TjFFZlFkSk5WMW9hM29vbHJm
b1QxRTgwbndFSy9GNEMxdTJKQnViVjJVUlVkNnZoVnNSNkdaNW95Y2gzZ2FiMlNRTElFOQpFYjI1
bTZ5bUU5alBoU2FaNGJSRmV5TjRMVGhKOHh6OElnRXg2MGk3S0ZWZDkvWkluK3MrWlhnNnVBeGpy
aEYzSlhScmU5c1BxVkhLClU5OS9GVTk1QVpzYUdpWHJ2ZEhHcUFYeTlHVGwrRE84L2RZMjFNZ2U0
aUZlNHVtZ0syUlRRN28wQVhPdVZJbVRXOVdSd1Q0M0QzZzYKdUF5K3kvQ0JIVTZhbEg3N3VqWEZo
eUcvUkZ2ZWhRRHZVaEF5WU5TS0RuUzV5VlhGVjdaZW96ZnE2c0xXZ2V3bW82RGdnQTdHYVZOZApN
WWRjUHZBY2JUbGdjcHg4RGxTR0NLSTVHVHpFNnpnSHNvSUJjWnZXd2ZnczJGNXhwdmpBQXZmMFJx
RXArVjVoeU1FcktUSXhycEpsCkhnSHQ3dUxHNzhwNXg0NDZ4NUJZL3JPOHhNY21udlYvNllkOGRx
ZVo4Yk5MOXpjb0xzQnZqdmRoZUsxSVE1SXRUbWFGS2tLWlEwNDEKVFZCZVUyVklJRnFpQ1JnUHNS
ZFBnV1NJQThmRGtTUG11V1ZDRmZQa2NNak5zN05yaFlHMFhodzBWdWVPL0tEN2tCTHRNL0JUV0tR
TgpwUURTZzR1SU91U2pQR0NBYnZ6ekREaUdTM0FCM0NwdCtkVnk4dVd3YS9uMklweTBMNXVaNGoz
QitEK2gvV1hRdm0yOGpLZEZzMDQzCkJOSU1kUHR1TUJnZ2Jpb0tnOHk5bEpBZUJ2a01GUWJKVnhL
NEtYcTk5MWxwOHcxNnlJQ1hmRElSQnBWRXRBc1BnVWV4dFhjUkF1bVQKaUl2UkRBWDFLVzVTb0tn
NHFyQTlYemhRRk0zK1FCRWtFTHg2SmlZOTlZQ1dUbXVwam9pb1diRE9Gbkd5STNLNXluZnRDSjFU
eTlTVgpPSkRHL29taW0xdTRaUXE3MWtMcHEweE11MGtSQmpZVG12RW9RN3kyaXNDMmIrYUhmTjEx
ZUcyZmJGaUUrQzIrUHkvWjhCSGYzNGVoCmx1VXV4c3R1Mm51eXdjYkhRM2FnKzBZQnBHWU00VWpI
MkJYenZIU005ZVlxNGdTMlF5L1NNYjZiOXB5T01XcnhjRzE1cUNRUFFNc0EKSDRyODhJemJXZXhZ
Y0FmUElsOFpNQmVsSjZ5OHJ5Y25kcGV3R3JCa0lVdmZxOHFNdkk0UWlocDBEQXdHRjNpQ1BwTjAr
SmQrc2hWaApkNGF0RnJWei81SDM2Tm4yZzNpOTdKS3RtVjVlV1k1eDBKSVpqa2ViWTlRQ1N4dHV3
TDdjVmIweTN6YkgyTnpLdFUxVnRUYkg2TGF6Ci9kT3RUSDVVbTJQY1hrdTlYOW9jWTY4MnRxdTNP
Y2J0Tk5QRXU2UFI1aGliZXFuYmJZNngxc1ZlYW0yT3NkWldtMk9zZFRHNDFqVjAKbTJQczEwNmJZ
K3pYU1kxcGM0eTFMcnhXaGVKdGpqSE9GRXZQS1kvVSsyZVVOc2RJaW5mZ0g1cmFIR1AvbitMOGQ2
OGxRdjVYbW1QVQpYek5HOTdmQi93RlpiZzA1RUVOdU53QUFBQUJKUlU1RXJrSmdnZz09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394917</attachid>
            <date>2020-03-30 07:54:30 -0700</date>
            <delta_ts>2020-03-30 08:25:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200330175427.patch</filename>
            <type>text/plain</type>
            <size>138715</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDExMiBAQAorMjAyMC0wMy0yMyAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BhaW50LXRpbWluZy8jZmlyc3QtY29udGVudGZ1bC1wYWludC4KKyAgICAgICAgQ3VycmVu
dGx5IG11dHVhbGx5IGV4Y2x1c2l2ZSB0byB2aXN1YWxseS1ub24tZW1wdHkgaGV1cmlzdGljcy4K
KworICAgICAgICBXaGVuIHRoZSBmcmFtZSBwYWludHMgb3IgZmx1c2hlcyB0aGUgY29tcG9zaXRp
bmcgc3RhdGUsIGl0IG1hcmtzIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgYXMgYSBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IHBlcmZvcm1hbmNlIGVudHJ5LgorCisgICAgICAgIFRlc3RzOiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
dmlzaWJpbGl0eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10ZXh0LWlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdpdGgtcnRsLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9maXJz
dC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5j
ZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sCisgICAgICAgICAg
ICAgICBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAorICAgICAgICAgICAg
ICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBT
b3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRU
aW1pbmcuaDogCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDoKKyAg
ICAgICAgICAgICAgICBBZGQgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNlLgor
CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFibGVk
IGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgUGFpbnRUaW1pbmdFbmFibGVkIHJ1bnRpbWUg
ZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJp
bmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNQYWludCBjb25zdCk6CisgICAgICAgICAgICAgICAgQWRk
IGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIHBhaW50IGVudHJpZXMuCisKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6CisgICAgICAgICAgICAgICAgQWRk
ICJwYWludCIgdG8gc3VwcG9ydGVkRW50cnlUeXBlcyB3aGVuIGluIGVsaWdpYmxlIGJyb3dzaW5n
IGNvbnRleHQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aXNDb250ZW50ZnVsIGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRWxlbWVudDo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVySFRNTENhbnZhczo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6Omhhc093blBhaW50YWJs
ZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck9iamVjdDo6Y29udGFpbnNQYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVmlkZW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlkZW86Omhh
c093blBhaW50YWJsZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJW
aWRlby5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSBjb25zdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aGFz
UGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R01vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR01vZGVsT2JqZWN0
OjpoYXNPd25QYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR01vZGVsT2JqZWN0Lmg6CisgICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciBj
b21wdXRpbmcgd2hldGhlciBlbGVtZW50cyBhcmUgY29udGVudGZ1bCAmIHBhaW50YWJsZS4KKwor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CitgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JU
aGlzRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzdXBwb3J0c1BhaW50VGlt
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bWFya1BhaW50VGltaW5nSWZOZWVk
ZWQpOgorICAgICAgICAgICAgICAgIE1hcmsgZmlyc3QtY29udGVudGZ1bC1wYWludCBvbmNlIHdo
ZW4gY29tcG9zaXRpbmcvcGFpbnRpbmcuCisKIDIwMjAtMDMtMzAgIEFudG9pbmUgUXVpbnQgIDxn
cmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBNYXJrIFBvaW50ZXIgRXZlbnRzIGFuZCBXZWIg
QW5pbWF0aW9ucyBmZWF0dXJlcyBhcyBjb21wbGV0ZWQgaW4gaHR0cHM6Ly93ZWJraXQub3JnL3N0
YXR1cy8KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOTM2LDYgKzkzNiw3
IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyQ2FsbGJhY2suaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbAorICAgIHBhZ2UvUGVyZm9y
bWFuY2VQYWludFRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZv
cm1hbmNlVGltaW5nLmlkbApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZp
c2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3Jr
aW5nIGNvcHkpCkBAIC05MjYsNiArOTI2LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQo
V2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCBcCisgICAgJChXZWJDb3JlKS9wYWdl
L1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5j
ZVNlcnZlclRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVRpbWlu
Zy5pZGwgXApJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMTk4LDYgKzMxOTgsNyBAQCBK
U1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKIEpT
UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmNwcAogSlNQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0LmNwcAorSlNQZXJmb3JtYW5jZVBhaW50VGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5jcHAKIEpTUGVyZm9y
bWFuY2VUaW1pbmcuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEz
ODAzLDYgKzEzODAzLDggQEAKIAkJQ0EwOTFEODYyM0NGOTA3ODAwQUQ0MzQ2IC8qIFN0eWxlSW1h
Z2VTZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVJbWFnZVNldC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBMDkxRDg5MjNDRjkwODgwMEFENDM0NiAvKiBTdHlsZUlt
YWdlU2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxlSW1hZ2VTZXQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0ExNjM1REMyMDcyRTc2OTAwRTdEMkNFIC8qIFJlZmVycmVyUG9saWN5
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZmVycmVyUG9saWN5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEy
NDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNEODI0
MDdFRENGMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBM0JGNjdCMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxBbmltYXRvci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1
MyAvKiBTY3JvbGxBbmltYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
Y3JvbGxBbmltYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTUyQkFFNTIz
RDBBRjE2MDBERTBCODQgLyogU3R5bGVDdXJzb3JJbWFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTdHlsZUN1cnNvckltYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIw
OTQ5LDYgKzIwOTUxLDggQEAKIAkJCQlBNUE5OTMzQTFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgKi8sCiAJCQkJQTVBOTkzM0IxRTM3RkFGRDAwNUI1
RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCAqLywKIAkJCQlBNUE5OTMzQzFF
MzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwgKi8sCisJ
CQkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCAq
LywKKwkJCQlDQTE5MzNEODI0MDdFRENGMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWlu
Zy5pZGwgKi8sCiAJCQkJODY1MTJFREIxNTRBMkFFRTAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuY3BwICovLAogCQkJCTg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8sCiAJCQkJODY1MTJFREQxNTRBMkFFRjAwQTkwNDI2
IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsICovLApJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3Bw
CShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZv
cm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSwxMSBAQAog
I2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgi
CiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1h
bmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1l
YXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcg
bmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+
JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkK
KyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNiArMTc5LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3VyZSkgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWluZykgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVNlcnZl
clRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXApJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw2ICs3MSw3IEBACiAjaW5jbHVkZSAi
T3ZlcmZsb3dFdmVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlT3Zlcmxh
eUNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgogI2luY2x1ZGUgIlByb2dy
ZXNzVHJhY2tlci5oIgogI2luY2x1ZGUgIlJlbmRlckVtYmVkZGVkT2JqZWN0LmgiCiAjaW5jbHVk
ZSAiUmVuZGVyRnVsbFNjcmVlbi5oIgpAQCAtOTgxLDYgKzk4Miw3IEBAIGJvb2wgRnJhbWVWaWV3
OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3IKICNlbmRpZgogCiAgICAgcmVuZGVyVmlldy0+Y29t
cG9zaXRvcigpLmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygmcm9vdEZyYW1lRm9yRmx1c2ggPT0g
bV9mcmFtZS5wdHIoKSk7CisgICAgbWFya1BhaW50VGltaW5nSWZOZWVkZWQoKTsKIAogICAgIHJl
dHVybiB0cnVlOwogfQpAQCAtNDE5MSw2ICs0MTkzLDM4IEBAIHZvaWQgRnJhbWVWaWV3Ojp3aWxs
UGFpbnRDb250ZW50cyhHcmFwaGkKICAgICBtX2lzUGFpbnRpbmcgPSB0cnVlOwogfQogCitib29s
IEZyYW1lVmlldzo6c3VwcG9ydHNQYWludFRpbWluZygpIGNvbnN0Cit7CisgICAgaWYgKCFSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnBhaW50VGltaW5nRW5hYmxlZCgp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gZnJhbWUoKS5pc01haW5GcmFt
ZSgpIAorICAgIHx8IGZyYW1lKCkuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS5jYW5BY2Nl
c3MoZnJhbWUoKS5tYWluRnJhbWUoKS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKTsKK30K
Kwordm9pZCBGcmFtZVZpZXc6Om1hcmtQYWludFRpbWluZ0lmTmVlZGVkKCkKK3sKKyAgICBpZiAo
bV9kaWRNYXJrRmlyc3RDb250ZW50ZnVsUGFpbnQpCisgICAgICAgIHJldHVybjsKKworICAgIGlm
IChtX2ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dE1pbGVzdG9uZUlzUGVuZGluZykKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaWYgKCFzdXBwb3J0c1BhaW50VGltaW5nKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGNvbnN0IGF1dG8qIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpOwor
ICAgIGNvbnN0IGF1dG8qIHdpbmRvdyA9IGRvY3VtZW50LT5kb21XaW5kb3coKTsKKyAgICBpZiAo
IXdpbmRvdykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFyZW5kZXJWaWV3KCktPmNvbnRh
aW5zUGFpbnRhYmxlQ29udGVudCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2RpZE1hcmtG
aXJzdENvbnRlbnRmdWxQYWludCA9IHRydWU7CisgICAgd2luZG93LT5wZXJmb3JtYW5jZSgpLnJl
cG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7Cit9CisKIHZvaWQgRnJhbWVWaWV3OjpkaWRQYWlu
dENvbnRlbnRzKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgSW50UmVjdCYgZGlydHlS
ZWN0LCBQYWludGluZ1N0YXRlJiBwYWludGluZ1N0YXRlKQogewogICAgIG1faXNQYWludGluZyA9
IGZhbHNlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCShyZXZpc2lvbiAyNTkxOTQpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC02NjAs
NiArNjYwLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBpblVwZGF0ZUVtYmVkZGVkT2JqZWN0cygp
IGNvbnN0IHsgcmV0dXJuIG1faW5VcGRhdGVFbWJlZGRlZE9iamVjdHM7IH0KIAorICAgIGJvb2wg
c3VwcG9ydHNQYWludFRpbWluZygpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzY3Jv
bGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRS
ZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KSBmaW5hbDsKICAgICB2
b2lkIHNjcm9sbENvbnRlbnRzU2xvd1BhdGgoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCkgZmlu
YWw7CkBAIC04MjIsNiArODI0LDkgQEAgcHJpdmF0ZToKICAgICB9OwogICAgIHZvaWQgb3ZlcnJp
ZGVWaWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKE92ZXJyaWRlVmlld3BvcnRTaXplKTsK
IAorICAgIHZvaWQgbWFya1BhaW50VGltaW5nSWZOZWVkZWQoKTsKKyAgICBib29sIG1fZGlkTWFy
a0ZpcnN0Q29udGVudGZ1bFBhaW50IHsgZmFsc2UgfTsKKwogICAgIHN0YXRpYyBNb25vdG9uaWNU
aW1lIHNDdXJyZW50UGFpbnRUaW1lU3RhbXA7IC8vIHVzZWQgZm9yIGRldGVjdGluZyBkZWNvZGVk
IHJlc291cmNlIHRocmFzaCBpbiB0aGUgY2FjaGUKIAogICAgIGNvbnN0IFJlZjxGcmFtZT4gbV9m
cmFtZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCShyZXZpc2lvbiAyNTkx
OTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKICNpbmNs
dWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2Vy
dmVyLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgogI2luY2x1ZGUgIlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVRpbWluZy5o
IgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVXNlclRpbWluZy5oIgpAQCAtMTI0LDYgKzEyNSw5IEBA
IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICAgICAgZW50cmll
cy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNZWFzdXJlcygpKTsKICAgICB9CiAKKyAg
ICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCkKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9m
aXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBzdGQ6OnNvcnQoZW50cmllcy5iZWdpbigpLCBl
bnRyaWVzLmVuZCgpLCBQZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRpbWVDb21wYXJlTGVzc1RoYW4p
OwogICAgIHJldHVybiBlbnRyaWVzOwogfQpAQCAtMTM1LDYgKzEzOSw5IEBAIFZlY3RvcjxSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicmVzb3VyY2UiKSkKICAgICAgICAgZW50cmllcy5hcHBl
bmRWZWN0b3IobV9yZXNvdXJjZVRpbWluZ0J1ZmZlcik7CiAKKyAgICBpZiAobV9maXJzdENvbnRl
bnRmdWxQYWludCAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJw
YWludCIpKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsK
KwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBw
ZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MoKSk7CkBAIC0xNTcsNiArMTY0LDkgQEAg
VmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybQogICAgICAgICB9CiAgICAg
fQogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYgKGVudHJ5VHlwZS5pc051bGwo
KSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJwYWludCIpKSAm
JiBuYW1lID09ICJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikKKyAgICAgICAgZW50cmllcy5hcHBl
bmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAg
ICAgICAgIGlmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoZW50cnlUeXBlLCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0
b3IobV91c2VyVGltaW5nLT5nZXRNYXJrcyhuYW1lKSk7CkBAIC0xODAsNiArMTkwLDEzIEBAIHZv
aWQgUGVyZm9ybWFuY2U6OnNldFJlc291cmNlVGltaW5nQnVmZmUKICAgICBtX3Jlc291cmNlVGlt
aW5nQnVmZmVyRnVsbEZsYWcgPSBmYWxzZTsKIH0KIAordm9pZCBQZXJmb3JtYW5jZTo6cmVwb3J0
Rmlyc3RDb250ZW50ZnVsUGFpbnQoKQoreworICAgIEFTU0VSVCghbV9maXJzdENvbnRlbnRmdWxQ
YWludCk7CisgICAgbV9maXJzdENvbnRlbnRmdWxQYWludCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1p
bmc6OmNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KG5vdygpKTsKKyAgICBxdWV1ZUVudHJ5KCpt
X2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKK30KKwogdm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3Vy
Y2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRpbWluZykKIHsKICAgICBBU1NFUlQo
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
LmgJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBjbGFzcyBMb2FkVGltaW5nOwogY2xh
c3MgUGVyZm9ybWFuY2VFbnRyeTsKIGNsYXNzIFBlcmZvcm1hbmNlTmF2aWdhdGlvbjsKIGNsYXNz
IFBlcmZvcm1hbmNlT2JzZXJ2ZXI7CitjbGFzcyBQZXJmb3JtYW5jZVBhaW50VGltaW5nOwogY2xh
c3MgUGVyZm9ybWFuY2VUaW1pbmc7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVz
b3VyY2VUaW1pbmc7CkBAIC03Nyw2ICs3OCw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkUmVz
b3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJik7CiAKKyAgICB2b2lkIHJlcG9ydEZpcnN0Q29u
dGVudGZ1bFBhaW50KCk7CisKICAgICB2b2lkIHJlbW92ZUFsbE9ic2VydmVycygpOwogICAgIHZv
aWQgcmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKICAg
ICB2b2lkIHVucmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXIm
KTsKQEAgLTEyMSw2ICsxMjQsNyBAQCBwcml2YXRlOgogCiAgICAgTW9ub3RvbmljVGltZSBtX3Rp
bWVPcmlnaW47CiAKKyAgICBSZWZQdHI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4gbV9maXJzdENv
bnRlbnRmdWxQYWludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXNlclRpbWluZz4gbV91c2VyVGlt
aW5nOwogCiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3Bl
cmZvcm1hbmNlVGltZWxpbmVUYXNrUXVldWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlRW50cnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VFbnRyeS5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDExIEBA
IE9wdGlvbmFsPFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IFBlcmZvcm0KICAgICAgICAgICAgIHJl
dHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpSZXNvdXJjZSk7CiAgICAgfQogCisgICAgaWYgKFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucGFpbnRUaW1pbmdFbmFibGVk
KCkpIHsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9PSAicGFpbnQiKQorICAgICAgICAgICAgcmV0
dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6OlBhaW50KTsKKyAgICB9CisKICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
aAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgICAgICBN
YXJrID0gMSA8PCAxLAogICAgICAgICBNZWFzdXJlID0gMSA8PCAyLAogICAgICAgICBSZXNvdXJj
ZSA9IDEgPDwgMywKKyAgICAgICAgUGFpbnQgPSAxIDw8IDQKICAgICB9OwogCiAgICAgdmlydHVh
bCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC02Miw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICBi
b29sIGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UmVzb3VyY2U7
IH0KICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYXJr
OyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6
TWVhc3VyZTsgfQorICAgIGJvb2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBU
eXBlOjpQYWludDsgfQogCiAgICAgc3RhdGljIGJvb2wgc3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFu
KGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYSwgY29uc3QgUmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+JiBiKQogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDE1ICsxMTMs
MzAgQEAgdm9pZCBQZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVyKCkKICAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZEZpcmVPYnNlcnZlckNhbGxiYWNrKCpjb250ZXh0KTsKIH0KIAot
VmVjdG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcygp
CitzdGF0aWMgYm9vbCBzdXBwb3J0c1BhaW50VGltaW5nKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIHsKKyAgICBpZiAoIWlzPERvY3VtZW50Pihjb250ZXh0
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byogdmlldyA9IGRvd25jYXN0PERv
Y3VtZW50Pihjb250ZXh0KS52aWV3KCk7CisgICAgcmV0dXJuIHZpZXcgJiYgdmlldy0+c3VwcG9y
dHNQYWludFRpbWluZygpOworfQorCitWZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5jZU9ic2VydmVy
OjpzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCit7
CisgICAgVmVjdG9yPFN0cmluZz4gZW50cnlUeXBlcyA9IHsKICAgICAgICAgLy8gRklYTUU6IDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xODQzNjM+IEFkZCBzdXBwb3J0IGZvciBOYXZpZ2F0aW9uIFRp
bWluZyBMZXZlbCAyCiAgICAgICAgIC8vICJuYXZpZ2F0aW9uIl9zLAogICAgICAgICAibWFyayJf
cywKLSAgICAgICAgIm1lYXN1cmUiX3MsCi0gICAgICAgICJyZXNvdXJjZSJfcworICAgICAgICAi
bWVhc3VyZSJfcwogICAgIH07CisKKyAgICBpZiAoc3VwcG9ydHNQYWludFRpbWluZyhjb250ZXh0
KSkKKyAgICAgICAgZW50cnlUeXBlcy5hcHBlbmQoInBhaW50Il9zKTsKKworICAgIGVudHJ5VHlw
ZXMuYXBwZW5kKCJyZXNvdXJjZSJfcyk7CisKKyAgICByZXR1cm4gZW50cnlUeXBlczsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmgJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihj
b250ZXh0LCBXVEZNb3ZlKGNhbGxiYWNrKSkpOwogICAgIH0KIAotICAgIHN0YXRpYyBWZWN0b3I8
U3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzKCk7CisgICAgc3RhdGljIFZlY3RvcjxTdHJpbmc+
IHN1cHBvcnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogCiAgICAgdm9p
ZCBkaXNhc3NvY2lhdGUoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlT2JzZXJ2ZXIuaWRsCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBA
CiBdIGludGVyZmFjZSBQZXJmb3JtYW5jZU9ic2VydmVyIHsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHZvaWQgb2JzZXJ2ZShQZXJmb3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKICAgICB2
b2lkIGRpc2Nvbm5lY3QoKTsKLSAgICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFy
cmF5PERPTVN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlczsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0
RXhlY3V0aW9uQ29udGV4dF0gc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxE
T01TdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXM7CiB9OwogCiBkaWN0aW9uYXJ5IFBlcmZvcm1h
bmNlT2JzZXJ2ZXJJbml0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQ
YWludFRpbWluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VQYWludFRpbWluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMg
UmVzZXJ2ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVyZm9y
bWFuY2VQYWludFRpbWluZyBmaW5hbCA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IGNyZWF0ZUZpcnN0Q29u
dGVudGZ1bFBhaW50KGRvdWJsZSB0aW1lU3RhbXApCisgICAgeworICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50
Il9zLCB0aW1lU3RhbXApKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgUGVyZm9ybWFuY2VQYWlu
dFRpbWluZyhjb25zdCBTdHJpbmcmIG5hbWUsIGRvdWJsZSB0aW1lU3RhbXApCisgICAgICAgIDog
UGVyZm9ybWFuY2VFbnRyeShuYW1lLCB0aW1lU3RhbXAsIHRpbWVTdGFtcCkKKyAgICB7CisgICAg
fQorCisgICAgQVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJw
YWludCJfczsgfQorICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFR5cGU6OlBh
aW50OyB9CisKKyAgICB+UGVyZm9ybWFuY2VQYWludFRpbWluZygpID0gZGVmYXVsdDsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihX
ZWJDb3JlOjpQZXJmb3JtYW5jZVBhaW50VGltaW5nKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShj
b25zdCBXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnkuaXNQ
YWludCgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwJKG5vbmV4aXN0ZW50KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lN
ZWRpYSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L3BhaW50LXRpbWluZy8KKwordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKwor
WworICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGFpbnRUaW1pbmcsCisgICAgRXhwb3NlZD0oV2luZG93
KSwKK10gaW50ZXJmYWNlIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgOiBQZXJmb3JtYW5jZUVudHJ5
IHsKK307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDkgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0VXNlclRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1VzZXJU
aW1pbmdFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCB1c2VyVGltaW5nRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNVc2VyVGltaW5nRW5hYmxlZDsgfQogCisgICAgdm9pZCBzZXRQ
YWludFRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1BhaW50VGltaW5nRW5hYmxl
ZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgcGFpbnRUaW1pbmdFbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc1BhaW50VGltaW5nRW5hYmxlZDsgfQorCiAgICAgYm9vbCBwZXJmb3JtYW5jZVRp
bWVsaW5lRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIHJlc291cmNlVGltaW5nRW5hYmxlZCgpIHx8
IHVzZXJUaW1pbmdFbmFibGVkKCk7IH0KIAogICAgIHZvaWQgc2V0U2hhZG93RE9NRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX2lzU2hhZG93RE9NRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQpAQCAt
NDI0LDYgKzQyNyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzTGlua1ByZWxvYWRFbmFibGVk
IHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pc0xpbmtQcmVmZXRjaEVuYWJsZWQgeyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9pc01lZGlhUHJlbG9hZGluZ0VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wg
bV9pc1BhaW50VGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzUmVzb3VyY2VU
aW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNVc2VyVGltaW5nRW5hYmxlZCB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQg
eyBmYWxzZSB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50
LmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjksNiArMzI5LDUwIEBAIFN0eWxlRGlm
ZmVyZW5jZSBSZW5kZXJFbGVtZW50OjphZGp1c3RTdHkKICAgICByZXR1cm4gZGlmZjsKIH0KIAor
Ym9vbCBSZW5kZXJFbGVtZW50Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQoKSBjb25zdAorewor
ICAgIGlmICghb3BhY2l0eSgpIHx8IGlzU1ZHSGlkZGVuQ29udGFpbmVyKCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGF1dG8gaGFzUG90ZW50aWFsbHlWaXNpYmxlUmVnaW9ucyA9IFsm
XSgpIHsKKyAgICAgICAgaWYgKHN0eWxlKCkudmlzaWJpbGl0eSgpICE9IFZpc2liaWxpdHk6OlZp
c2libGUpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgYXV0byBkb2N1bWVu
dFJlY3QgPSB2aWV3KCkuZG9jdW1lbnRSZWN0KCk7CisKKyAgICAgICAgaWYgKGF1dG8qIGN1cnJl
bnQgPSBlbGVtZW50KCkpCisgICAgICAgICAgICByZXR1cm4gY3VycmVudC0+Ym91bmRpbmdDbGll
bnRSZWN0KCkuaW50ZXJzZWN0cyhkb2N1bWVudFJlY3QpOworCisgICAgICAgIHJldHVybiBpc1Zp
c2libGVJbkRvY3VtZW50UmVjdChkb2N1bWVudFJlY3QpOworICAgIH07CisKKyAgICBpZiAoaXND
b250ZW50ZnVsKCkgJiYgaGFzUG90ZW50aWFsbHlWaXNpYmxlUmVnaW9ucygpKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgIGZvciAoY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJPYmplY3Qg
PSBmaXJzdENoaWxkKCk7IHJlbmRlck9iamVjdDsgcmVuZGVyT2JqZWN0ID0gcmVuZGVyT2JqZWN0
LT5uZXh0U2libGluZygpKSB7CisgICAgICAgIGlmIChyZW5kZXJPYmplY3QtPmNvbnRhaW5zUGFp
bnRhYmxlQ29udGVudCgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAg
cmV0dXJuIGZhbHNlOworfQorCitib29sIFJlbmRlckVsZW1lbnQ6OmlzQ29udGVudGZ1bCgpIGNv
bnN0Cit7CisgICAgaWYgKGhhc093blBhaW50YWJsZUNvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICBpZiAoc3R5bGUoKS5oYXNQYWludGFibGVDYWNoZWRCYWNrZ3JvdW5kSW1h
Z2UoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDogY2hp
bGRyZW5PZlR5cGU8UmVuZGVyT2JqZWN0PigqdGhpcykpIHsKKyAgICAgICAgaWYgKGlzPFJlbmRl
clRleHQ+KGNoaWxkKSAmJiAhZG93bmNhc3Q8UmVuZGVyVGV4dD4oY2hpbGQpLmNvbnRhaW5zT25s
eUhUTUxXaGl0ZXNwYWNlKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKIGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6Omhhc0ltbWVk
aWF0ZU5vbldoaXRlc3BhY2VUZXh0Q2hpbGRPckJvcmRlck9yT3V0bGluZSgpIGNvbnN0CiB7CiAg
ICAgZm9yIChhdXRvJiBjaGlsZCA6IGNoaWxkcmVuT2ZUeXBlPFJlbmRlck9iamVjdD4oKnRoaXMp
KSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJKHJldmlz
aW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEwMCw2ICsxMDAsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IHZvaWQgZGlydHlMaW5lc0Zyb21DaGFuZ2VkQ2hpbGQoUmVuZGVyT2JqZWN0JikgeyB9CiAKKyAg
ICB2aXJ0dWFsIGJvb2wgaGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CisKICAgICBib29sIGFuY2VzdG9yTGluZUJveERpcnR5KCkgY29uc3QgeyByZXR1cm4g
bV9hbmNlc3RvckxpbmVCb3hEaXJ0eTsgfQogICAgIHZvaWQgc2V0QW5jZXN0b3JMaW5lQm94RGly
dHkoYm9vbCBmID0gdHJ1ZSk7CiAKQEAgLTEzOSw2ICsxNDEsOCBAQCBwdWJsaWM6CiAgICAgYm9v
bCBpc1RyYW5zcGFyZW50KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5vcGFjaXR5KCkgPCAxLjBm
OyB9CiAgICAgZmxvYXQgb3BhY2l0eSgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkub3BhY2l0eSgp
OyB9CiAKKyAgICBib29sIGNvbnRhaW5zUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IGZpbmFsOwor
CiAgICAgYm9vbCB2aXNpYmxlVG9IaXRUZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS52
aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6VmlzaWJsZSAmJiBzdHlsZSgpLnBvaW50ZXJFdmVu
dHMoKSAhPSBQb2ludGVyRXZlbnRzOjpOb25lOyB9CiAKICAgICBib29sIGhhc0JhY2tncm91bmQo
KSBjb25zdCB7IHJldHVybiBzdHlsZSgpLmhhc0JhY2tncm91bmQoKTsgfQpAQCAtMzE2LDYgKzMy
MCw4IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBjb21wdXRl
Rmlyc3RMaW5lU3R5bGUoKSBjb25zdDsKICAgICB2b2lkIGludmFsaWRhdGVDYWNoZWRGaXJzdExp
bmVTdHlsZSgpOwogCisgICAgYm9vbCBpc0NvbnRlbnRmdWwoKSBjb25zdDsKKwogICAgIGJvb2wg
Y2FuRGVzdHJveURlY29kZWREYXRhKCkgZmluYWwgeyByZXR1cm4gIWlzVmlzaWJsZUluVmlld3Bv
cnQoKTsgfQogICAgIFZpc2libGVJblZpZXdwb3J0U3RhdGUgaW1hZ2VGcmFtZUF2YWlsYWJsZShD
YWNoZWRJbWFnZSYsIEltYWdlQW5pbWF0aW5nU3RhdGUsIGNvbnN0IEludFJlY3QqIGNoYW5nZVJl
Y3QpIGZpbmFsOwogICAgIHZvaWQgZGlkUmVtb3ZlQ2FjaGVkSW1hZ2VDbGllbnQoQ2FjaGVkSW1h
Z2UmKSBmaW5hbDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2Fu
dmFzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRN
TENhbnZhcy5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJIVE1MQ2FudmFzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsMTEgQEAg
UmVuZGVySFRNTENhbnZhczo6UmVuZGVySFRNTENhbnZhcyhIVE1MQwogewogfQogCitib29sIFJl
bmRlckhUTUxDYW52YXM6Omhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIHJl
dHVybiAhIWNhbnZhc0VsZW1lbnQoKS5yZW5kZXJpbmdDb250ZXh0KCk7Cit9CisKIEhUTUxDYW52
YXNFbGVtZW50JiBSZW5kZXJIVE1MQ2FudmFzOjpjYW52YXNFbGVtZW50KCkgY29uc3QKIHsKICAg
ICByZXR1cm4gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KG5vZGVGb3JOb25Bbm9ueW1vdXMo
KSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmgJ
KHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1M
Q2FudmFzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGVsZW1lbnQoKSBjb25zdCA9IGRlbGV0ZTsKICAgICBib29sIHJlcXVpcmVzTGF5ZXIoKSBj
b25zdCBvdmVycmlkZTsKICAgICBib29sIGlzQ2FudmFzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gdHJ1ZTsgfQorICAgIGJvb2wgaGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IG92ZXJy
aWRlOwogICAgIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biAiUmVuZGVySFRNTENhbnZhcyI7IH0KICAgICB2b2lkIHBhaW50UmVwbGFjZWQoUGFpbnRJbmZv
JiwgY29uc3QgTGF5b3V0UG9pbnQmKSBvdmVycmlkZTsKICAgICB2b2lkIGludHJpbnNpY1NpemVD
aGFuZ2VkKCkgb3ZlcnJpZGUgeyBjYW52YXNTaXplQ2hhbmdlZCgpOyB9CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMzOSw2ICszMzksMTEgQEAgdm9pZCBSZW5kZXJJbWFnZTo6dXBkYXRlSW50cmluc2ljU2l6ZUlm
TgogICAgIHNldEludHJpbnNpY1NpemUobmV3U2l6ZSk7CiB9CiAKK2Jvb2wgUmVuZGVySW1hZ2U6
Omhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiBtX2ltYWdlUmVz
b3VyY2UtPmNhY2hlZEltYWdlKCkgJiYgIW1faW1hZ2VSZXNvdXJjZS0+aW1hZ2VTaXplKDEpLmlz
RW1wdHkoKTsKK30KKwogdm9pZCBSZW5kZXJJbWFnZTo6dXBkYXRlSW5uZXJDb250ZW50UmVjdCgp
CiB7CiAgICAgLy8gUHJvcGFnYXRlIGNvbnRhaW5lciBzaXplIHRvIGltYWdlIHJlc291cmNlLgpJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgJKHJldmlzaW9uIDI1OTE5
NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC03Niw2ICs3Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRE
aXNwbGF5QnJva2VuSW1hZ2VJY29uKCkgY29uc3Q7CiAKKyAgICBib29sIGhhc093blBhaW50YWJs
ZUNvbnRlbnQoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGhhc05vbkJpdG1hcEltYWdlKCkg
Y29uc3Q7CiAKICAgICBib29sIGlzRWRpdGFibGVJbWFnZSgpIGNvbnN0OwpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
NzgsNiArMjc4LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzUmVuZGVyU2Nyb2xs
YmFyUGFydCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgY29u
dGFpbnNQYWludGFibGVDb250ZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwogICAgIGJv
b2wgaXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIGRvY3VtZW50KCku
ZG9jdW1lbnRFbGVtZW50KCkgPT0gJm1fbm9kZTsgfQogICAgIGJvb2wgaXNCb2R5KCkgY29uc3Qg
eyByZXR1cm4gbm9kZSgpICYmIG5vZGUoKS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmJvZHlUYWcp
OyB9CiAgICAgYm9vbCBpc0hSKCkgY29uc3QgeyByZXR1cm4gbm9kZSgpICYmIG5vZGUoKS0+aGFz
VGFnTmFtZShIVE1MTmFtZXM6OmhyVGFnKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dC5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNyArMTc5LDcgQEAgcHVibGlj
OgogICAgIExheW91dFVuaXQgdG9wT2ZGaXJzdFRleHQoKSBjb25zdDsKICAgICAKICAgICBib29s
IGNvbnRhaW5zT25seUhUTUxXaGl0ZXNwYWNlKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0
aCkgY29uc3Q7Ci0gICAgCisgICAgYm9vbCBjb250YWluc09ubHlIVE1MV2hpdGVzcGFjZSgpIGNv
bnN0IHsgcmV0dXJuIGNvbnRhaW5zT25seUhUTUxXaGl0ZXNwYWNlKDAsIHRleHQoKS5sZW5ndGgo
KSk7IH0gCiAgICAgYm9vbCBjYW5Vc2VTaW1wbGlmaWVkVGV4dE1lYXN1cmluZygpIGNvbnN0IHsg
cmV0dXJuIG1fY2FuVXNlU2ltcGxpZmllZFRleHRNZWFzdXJpbmc7IH0KIAogICAgIFZlY3Rvcjxz
dGQ6OnBhaXI8dW5zaWduZWQsIHVuc2lnbmVkPj4gZHJhZ2dlZENvbnRlbnRSYW5nZXNCZXR3ZWVu
T2Zmc2V0cyh1bnNpZ25lZCBzdGFydE9mZnNldCwgdW5zaWduZWQgZW5kT2Zmc2V0KSBjb25zdDsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkocmV2aXNpb24g
MjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtOTIsNiArOTIsMTQgQEAgdm9pZCBSZW5kZXJWaWRlbzo6aW50cmluc2lj
U2l6ZUNoYW5nZWQoKQogICAgIHVwZGF0ZUludHJpbnNpY1NpemUoKTsgCiB9CiAKK2Jvb2wgUmVu
ZGVyVmlkZW86Omhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIGlmICh2aWRl
b0VsZW1lbnQoKS5zaG91bGREaXNwbGF5UG9zdGVySW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIFJl
bmRlckltYWdlOjpoYXNPd25QYWludGFibGVDb250ZW50KCk7CisKKyAgICByZXR1cm4gdmlkZW9F
bGVtZW50KCkucmVhZHlTdGF0ZSgpID4gSFRNTE1lZGlhRWxlbWVudEVudW1zOjpIQVZFX01FVEFE
QVRBOworfQorCiBib29sIFJlbmRlclZpZGVvOjp1cGRhdGVJbnRyaW5zaWNTaXplKCkKIHsKICAg
ICBMYXlvdXRTaXplIHNpemUgPSBjYWxjdWxhdGVJbnRyaW5zaWNTaXplKCk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3
LDYgKzY3LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIGlzVmlkZW8oKSBjb25zdCBmaW5hbCB7IHJl
dHVybiB0cnVlOyB9CisgICAgYm9vbCBoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3Qgb3Zl
cnJpZGU7CiAKICAgICB2b2lkIHBhaW50UmVwbGFjZWQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0
UG9pbnQmKSBmaW5hbDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Zp
bGxMYXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L0ZpbGxMYXllci5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDAsNiArMzQwLDE1
IEBAIGJvb2wgRmlsbExheWVyOjpjb250YWluc0ltYWdlKFN0eWxlSW1hZ2UKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKK2Jvb2wgRmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSgpIGNvbnN0
Cit7CisgICAgZm9yIChhdXRvKiBsYXllciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5t
X25leHQuZ2V0KCkpIHsKKyAgICAgICAgaWYgKGxheWVyLT5tX2ltYWdlICYmIGxheWVyLT5tX2lt
YWdlLT5pc0xvYWRlZCgpICYmIGxheWVyLT5tX2ltYWdlLT5oYXNDYWNoZWRJbWFnZSgpKQorICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9v
bCBGaWxsTGF5ZXI6OmltYWdlc0FyZUxvYWRlZCgpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvKiBs
YXllciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5tX25leHQuZ2V0KCkpIHsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgJKHJldmlzaW9uIDI1
OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtMTQ1LDYgKzE0NSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgY29udGFp
bnNJbWFnZShTdHlsZUltYWdlJikgY29uc3Q7CiAgICAgYm9vbCBpbWFnZXNBcmVMb2FkZWQoKSBj
b25zdDsKKyAgICBib29sIGhhc0xvYWRlZENhY2hlZEltYWdlKCkgY29uc3Q7CiAgICAgYm9vbCBo
YXNJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmV4dCA/IGhhc0ltYWdlSW5BbnlMYXllcigpIDog
bV9pbWFnZTsgfQogICAgIGJvb2wgaGFzRml4ZWRJbWFnZSgpIGNvbnN0OwogICAgIGJvb2wgaGFz
T3BhcXVlSW1hZ2UoY29uc3QgUmVuZGVyRWxlbWVudCYpIGNvbnN0OwpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiAyNTkx
OTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NDQsNiArNDQ0LDIxIEBAIGJvb2wgUmVuZGVyU3R5bGU6OmRlc2Nl
bmRhbnRBZmZlY3RpbmdOb24KICAgICAgICAgJiYgbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+anVz
dGlmeUl0ZW1zID09IG90aGVyLm1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmp1c3RpZnlJdGVtczsK
IH0KIAorYm9vbCBSZW5kZXJTdHlsZTo6aGFzUGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdl
KCkgY29uc3QKK3sKKyAgICBpZiAoIWhhc0JhY2tncm91bmRJbWFnZSgpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBjb25zdCBGaWxsTGF5ZXImIGJhY2tncm91bmQgPSBiYWNrZ3JvdW5k
TGF5ZXJzKCk7CisgICAgaWYgKCFiYWNrZ3JvdW5kLmhhc0xvYWRlZENhY2hlZEltYWdlKCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChiYWNrZ3JvdW5kU2l6ZUxlbmd0aCgpLmlz
RW1wdHkoKSAmJiBiYWNrZ3JvdW5kU2l6ZVR5cGUoKSA9PSBGaWxsU2l6ZVR5cGU6OlNpemUpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOworfQorCiAjaWYgRU5BQkxF
KFRFWFRfQVVUT1NJWklORykKIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBjb21wdXRlRm9udEhh
c2goY29uc3QgRm9udENhc2NhZGUmIGZvbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQx
NSw2ICs0MTUsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgTGVuZ3RoU2l6ZSYgYmFja2dyb3VuZFNp
emVMZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2JhY2tncm91bmREYXRhLT5iYWNrZ3JvdW5kLnNp
emVMZW5ndGgoKTsgfQogICAgIEZpbGxMYXllciYgZW5zdXJlQmFja2dyb3VuZExheWVycygpIHsg
cmV0dXJuIG1fYmFja2dyb3VuZERhdGEuYWNjZXNzKCkuYmFja2dyb3VuZDsgfQogICAgIGNvbnN0
IEZpbGxMYXllciYgYmFja2dyb3VuZExheWVycygpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2dyb3Vu
ZERhdGEtPmJhY2tncm91bmQ7IH0KKyAgICBib29sIGhhc1BhaW50YWJsZUNhY2hlZEJhY2tncm91
bmRJbWFnZSgpIGNvbnN0OwogCiAgICAgU3R5bGVJbWFnZSogbWFza0ltYWdlKCkgY29uc3QgeyBy
ZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bWFzay5pbWFnZSgpOyB9CiAgICAgRmlsbFJl
cGVhdCBtYXNrUmVwZWF0WCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEZpbGxSZXBlYXQ+
KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPm1hc2sucmVwZWF0WCgpKTsgfQpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5j
cHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHTW9kZWxPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTgsNiArMTU4LDExIEBA
IHN0YXRpYyBib29sIGlzR3JhcGhpY3NFbGVtZW50KGNvbnN0IFJlbmQKICAgICByZXR1cm4gcmVu
ZGVyZXIuaXNTVkdTaGFwZSgpIHx8IHJlbmRlcmVyLmlzU1ZHVGV4dCgpIHx8IHJlbmRlcmVyLmlz
U1ZHSW1hZ2UoKSB8fCByZW5kZXJlci5lbGVtZW50KCktPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnVz
ZVRhZyk7CiB9CiAKK2Jvb2wgUmVuZGVyU1ZHTW9kZWxPYmplY3Q6Omhhc093blBhaW50YWJsZUNv
bnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiBpc0dyYXBoaWNzRWxlbWVudCgqdGhpcyk7Cit9
CisKIC8vIFRoZSBTVkcgYWRkRm9jdXNSaW5nUmVjdHMoKSBtZXRob2QgYWRkcyByZWN0cyBpbiBs
b2NhbCBjb29yZGluYXRlcyBzbyB0aGUgZGVmYXVsdCBhYnNvbHV0ZUZvY3VzUmluZ1F1YWRzCiAv
LyByZXR1cm5zIGluY29ycmVjdCB2YWx1ZXMgZm9yIFNWRyBvYmplY3RzLiBPdmVycmlkaW5nIHRo
aXMgbWV0aG9kIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgYWJzb2x1dGUgYm91bmRzLgogdm9pZCBS
ZW5kZXJTVkdNb2RlbE9iamVjdDo6YWJzb2x1dGVGb2N1c1JpbmdRdWFkcyhWZWN0b3I8RmxvYXRR
dWFkPiYgcXVhZHMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R01vZGVsT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTY5LDYgKzY5LDcgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIGJvb2wgaXNSZW5k
ZXJTVkdNb2RlbE9iamVjdCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKyAgICBib29s
IGhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdCBmaW5hbDsKIAogICAgIC8vIFRoaXMgbWV0
aG9kIHNob3VsZCBuZXZlciBiZSBjYWxsZWQsIFNWRyB1c2VzIGEgZGlmZmVyZW50IG5vZGVBdFBv
aW50IG1ldGhvZAogICAgIGJvb2wgbm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBI
aXRUZXN0UmVzdWx0JiwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVy
LCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRlc3RBY3Rpb24pIG92
ZXJyaWRlOwpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDMtMjMgIE5v
YW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1Ag
KGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSBydW50aW1lIGZsYWcgZm9yIHBhaW50LXRpbWluZyAocGFp
bnRUaW1pbmdFbmFibGVkKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAg
KFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJl
bmNlc0dldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGF0ZVByZWZlcmVuY2VzU3RvcmUpOgorCiAyMDIw
LTAzLTI5ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW0F1
dG9TaXppbmddIEJyaW5nIGJhY2sgdGhlIG9sZCBhdXRvLXNpemluZyBjb2RlIGFzIGEgZGVwcmVj
YXRlZCBjb2RlcGF0aCBmb3IgY29tcGF0aWJpbGl0eSByZWFzb25zCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTgz
OSw2ICs4MzksMTMgQEAgVXNlclRpbWluZ0VuYWJsZWQ6CiAgIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIkVuYWJsZSBVc2VyVGltaW5nIEFQSSIKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMKIAorUGFpbnRUaW1pbmdFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRl
ZmF1bHRWYWx1ZTogdHJ1ZQorICBodW1hblJlYWRhYmxlTmFtZTogIlBhaW50IFRpbWluZyIKKyAg
aHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFBhaW50IFRpbWluZyBBUEkiCisgIHdl
YmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisKIEJlYWNvbkFQSUVuYWJsZWQ6
CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gMjU5MTk0
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE4MTksNiArMTgxOSwxNiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRV
c2VyVGltaW5nRW5hYmxlZChXCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnVz
ZXJUaW1pbmdFbmFibGVkKCk7CiB9CiAKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5n
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCit7Cisg
ICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0UGFpbnRUaW1pbmdFbmFibGVkKGZsYWcpOwor
fQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVm
KS0+cGFpbnRUaW1pbmdFbmFibGVkKCk7Cit9CisKIHZvaWQgV0tQcmVmZXJlbmNlc1NldFJlc291
cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZs
YWcpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0UmVzb3VyY2VUaW1pbmdFbmFi
bGVkKGZsYWcpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlc1JlZlByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MDAsNiArNTAwLDEwIEBAIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5j
ZXNTZXRVc2VyVGltaW4KIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRVc2VyVGltaW5n
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIAogLy8gRGVmYXVsdHMgdG8gZmFsc2UKK1dLX0VY
UE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiwgYm9vbCBmbGFnKTsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRQYWludFRp
bWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CisKKy8vIERlZmF1bHRzIHRvIGZhbHNlCiBX
S19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0
UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMiw2ICsxMjIsNyBAQCB2b2lkIFdlYlNXQ29udGV4dE1h
bmFnZXJDb25uZWN0aW9uOjp1cGRhCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRDYWNoZUFQSUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdl
YlByZWZlcmVuY2VzS2V5OjpjYWNoZUFQSUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElFbmFibGVkKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6ZmV0Y2hBUElFbmFibGVkS2V5KCkp
KTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFVzZXJU
aW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6
dXNlclRpbWluZ0VuYWJsZWRLZXkoKSkpOworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZv
cktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFpbnRUaW1pbmdFbmFibGVkS2V5KCkpKTsKICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFJlc291cmNlVGltaW5n
RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlc291
cmNlVGltaW5nRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpmZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWRLZXko
KSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVz
dHJpY3RlZEhUVFBSZXNwb25zZUFjY2VzcyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OnJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3NLZXkoKSkpOwpJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAg
IEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBwcmVmZXJlbmNlIGtleSBmb3Ig
cGFpbnQgdGltaW5nLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tX
ZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHBh
aW50VGltaW5nRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRQYWludFRp
bWluZ0VuYWJsZWQ6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUu
aDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisKIDIwMjAtMDMtMjkgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgVGV4dEl0ZXJhdG9yOjpyYW5n
ZUZyb21Mb2NhdGlvbkFuZExlbmd0aCBvZmYgb2YgbGl2ZSByYW5nZXMKSW5kZXg6IFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjYw
LDYgKzI2MCw3IEBACiAjZGVmaW5lIFdlYktpdEF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZFByZWZl
cmVuY2VLZXkgQCJXZWJLaXRBdHRhY2htZW50RWxlbWVudEVuYWJsZWQiCiAjZGVmaW5lIFdlYktp
dEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRJbnRlcnNl
Y3Rpb25PYnNlcnZlckVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdE1lbnVJdGVtRWxlbWVudEVuYWJs
ZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVudUl0ZW1FbGVtZW50RW5hYmxlZCIKKyNkZWZpbmUg
V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFBhaW50VGltaW5n
RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0VXNlclRpbWluZ0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFJlc291cmNlVGltaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQiCiAjZGVmaW5l
IFdlYktpdE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0UHJlZmVyZW5j
ZUtleSBAIldlYktpdE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0IgpJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02ODMsNiArNjgzLDcgQEAg
KyAodm9pZClpbml0aWFsaXplCiAjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKICAg
ICAgICAgQE5PLCBXZWJLaXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5
LAogI2VuZGlmCisgICAgICAgIEBOTywgV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5j
ZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXks
CiAgICAgICAgIEBOTywgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwK
ICAgICAgICAgQE5PLCBXZWJLaXRNZWRpYVVzZXJHZXN0dXJlSW5oZXJpdHNGcm9tRG9jdW1lbnQs
CkBAIC0zMzA4LDYgKzMzMDksMTYgQEAgLSAodm9pZClzZXRVc2VyVGltaW5nRW5hYmxlZDooQk9P
TClmbGFnCiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRVc2VyVGlt
aW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKXBhaW50VGltaW5nRW5hYmxl
ZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFBhaW50VGltaW5n
RW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldFBhaW50VGltaW5nRW5hYmxl
ZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJL
aXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogLSAoQk9PTClyZXNvdXJj
ZVRpbWluZ0VuYWJsZWQKIHsKICAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJL
aXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUu
aAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjYxLDYgKzY2MSw3IEBA
IEBpbnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGUpCiBAcHJvcGVydHkgKG5vbmF0
b21pYykgQk9PTCBrZXlnZW5FbGVtZW50RW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBC
T09MIHVzZXJUaW1pbmdFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcmVzb3Vy
Y2VUaW1pbmdFbmFibGVkOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcGFpbnRUaW1pbmdF
bmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbGlua1ByZWxvYWRFbmFibGVkOwog
QHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbWVkaWFVc2VyR2VzdHVyZUluaGVyaXRzRnJvbURv
Y3VtZW50OwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgaXNTZWN1cmVDb250ZXh0QXR0cmli
dXRlRW5hYmxlZDsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0JKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzE5Niw2ICszMTk2LDcgQEAgLSAodm9p
ZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbgogCiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZChwcmVmZXJlbmNl
cy51c2VyVGltaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMucmVzb3VyY2VU
aW1pbmdFbmFibGVkKTsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldFBhaW50VGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5wYWludFRpbWluZ0VuYWJsZWQp
OwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1By
ZWxvYWRFbmFibGVkKHByZWZlcmVuY2VzLmxpbmtQcmVsb2FkRW5hYmxlZCk7CiAgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZWRpYVByZWxvYWRpbmdFbmFi
bGVkKHByZWZlcmVuY2VzLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0SXNTZWN1cmVDb250ZXh0QXR0cmlidXRl
RW5hYmxlZChwcmVmZXJlbmNlcy5pc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5
IEBACisyMDIwLTAzLTIzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHByZWZlcmVuY2Uga2V5IGZv
ciBwYWludC10aW1pbmcuCisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAg
ICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuY3BwOgorICAg
ICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXND
aGFuZ2VkKToKKwogMjAyMC0wMy0yOSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgTW92ZSBUZXh0SXRlcmF0b3I6OnJhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3RoIG9m
ZiBvZiBsaXZlIHJhbmdlcwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xOTcsNiArMTk3LDggQEAKIAogI2RlZmluZSBXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFBy
ZWZlcmVuY2VLZXkgIldlYktpdFVzZXJUaW1pbmdFbmFibGVkIgogCisjZGVmaW5lIFdlYktpdFBh
aW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFBhaW50VGltaW5nRW5hYmxlZCIK
KwogI2RlZmluZSBXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJL
aXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0TGlua1ByZWxvYWRFbmFi
bGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkIgpJbmRleDogU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gMjU5MTk0KQor
KysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMjYsNiArMzI2LDggQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURl
ZmF1bHRTZQogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktp
dFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwog
CisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdFBhaW50VGlt
aW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOworCiAgICAgQ0ZEaWN0
aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFBy
ZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFs
dWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdE1lZGlhUHJlbG9hZGluZ0VuYWJsZWRQcmVmZXJlbmNl
S2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKQEAgLTY0Nyw2ICs2NDksOCBAQCBIUkVTVUxUIFdlYlBy
ZWZlcmVuY2VzOjpRdWVyeUludGVyZmFjZShfCiAgICAgICAgICpwcHZPYmplY3QgPSBzdGF0aWNf
Y2FzdDxJV2ViUHJlZmVyZW5jZXNQcml2YXRlNyo+KHRoaXMpOwogICAgIGVsc2UgaWYgKElzRXF1
YWxHVUlEKHJpaWQsIElJRF9JV2ViUHJlZmVyZW5jZXNQcml2YXRlOCkpCiAgICAgICAgICpwcHZP
YmplY3QgPSBzdGF0aWNfY2FzdDxJV2ViUHJlZmVyZW5jZXNQcml2YXRlOCo+KHRoaXMpOworICAg
IGVsc2UgaWYgKElzRXF1YWxHVUlEKHJpaWQsIElJRF9JV2ViUHJlZmVyZW5jZXNQcml2YXRlOSkp
CisgICAgICAgICpwcHZPYmplY3QgPSBzdGF0aWNfY2FzdDxJV2ViUHJlZmVyZW5jZXNQcml2YXRl
OSo+KHRoaXMpOwogICAgIGVsc2UgaWYgKElzRXF1YWxHVUlEKHJpaWQsIENMU0lEX1dlYlByZWZl
cmVuY2VzKSkKICAgICAgICAgKnBwdk9iamVjdCA9IHRoaXM7CiAgICAgZWxzZQpAQCAtMjQxNCw2
ICsyNDE4LDIwIEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnJlc291cmNlVGltaW5nRW4KICAg
ICByZXR1cm4gU19PSzsKIH0KIAorSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0UGFpbnRUaW1p
bmdFbmFibGVkKEJPT0wgZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUoV2ViS2l0UGFpbnRU
aW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwgZW5hYmxlZCk7CisgICAgcmV0dXJuIFNfT0s7Cit9
CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnBhaW50VGltaW5nRW5hYmxlZChfT3V0XyBCT09M
KiBlbmFibGVkKQoreworICAgIGlmICghZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRF
UjsKKyAgICAqZW5hYmxlZCA9IGJvb2xWYWx1ZUZvcktleShXZWJLaXRQYWludFRpbWluZ0VuYWJs
ZWRQcmVmZXJlbmNlS2V5KTsKKyAgICByZXR1cm4gU19PSzsKK30KKwogSFJFU1VMVCBXZWJQcmVm
ZXJlbmNlczo6c2VydmVyVGltaW5nRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQogewogICAg
IGlmICghZW5hYmxlZCkKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVu
Y2VzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5j
ZXMuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJl
ZmVyZW5jZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgPFdl
YkNvcmUvQlN0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAotY2xhc3MgV2Vi
UHJlZmVyZW5jZXMgZmluYWwgOiBwdWJsaWMgSVdlYlByZWZlcmVuY2VzLCBwdWJsaWMgSVdlYlBy
ZWZlcmVuY2VzUHJpdmF0ZTggeworY2xhc3MgV2ViUHJlZmVyZW5jZXMgZmluYWwgOiBwdWJsaWMg
SVdlYlByZWZlcmVuY2VzLCBwdWJsaWMgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTkgewogcHVibGlj
OgogICAgIHN0YXRpYyBXZWJQcmVmZXJlbmNlcyogY3JlYXRlSW5zdGFuY2UoKTsKIHByb3RlY3Rl
ZDoKQEAgLTMwOCw2ICszMDgsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKF9PdXRfIEJPT0wqKTsK
ICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0QWxsb3dUb3BOYXZpZ2F0
aW9uVG9EYXRhVVJMcyhCT09MKTsKIAorICAgIC8vIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU5Cisg
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHBhaW50VGltaW5nRW5hYmxlZChf
T3V0XyBCT09MKik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFBh
aW50VGltaW5nRW5hYmxlZChCT09MKTsKKwogICAgIC8vIFdlYlByZWZlcmVuY2VzCiAKICAgICAv
LyBUaGlzIG1ldGhvZCBhY2Nlc3NlcyBhIGRpZmZlcmVudCBwcmVmZXJlbmNlIGtleSB0aGFuIGRl
dmVsb3BlckV4dHJhc0VuYWJsZWQuCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJW
aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNw
cAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTUxODEsNyArNTE4MSw3IEBAIEhSRVNVTFQgV2ViVmlldzo6
bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2UKICAgICBzZXR0aW5ncy5zZXRTaG91bGREaXNwbGF5VGV4
dERlc2NyaXB0aW9ucyhlbmFibGVkKTsKICNlbmRpZgogCi0gICAgQ09NUHRyPElXZWJQcmVmZXJl
bmNlc1ByaXZhdGU4PiBwcmVmc1ByaXZhdGUgeyBRdWVyeSwgcHJlZmVyZW5jZXMgfTsKKyAgICBD
T01QdHI8SVdlYlByZWZlcmVuY2VzUHJpdmF0ZTk+IHByZWZzUHJpdmF0ZSB7IFF1ZXJ5LCBwcmVm
ZXJlbmNlcyB9OwogICAgIGlmIChwcmVmc1ByaXZhdGUpIHsKICAgICAgICAgaHIgPSBwcmVmc1By
aXZhdGUtPmxvY2FsU3RvcmFnZURhdGFiYXNlUGF0aCgmc3RyKTsKICAgICAgICAgaWYgKEZBSUxF
RChocikpCkBAIC01MjgzLDYgKzUyODMsMTEgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVm
ZXJlbmNlc0NoYW5nZQogICAgICAgICByZXR1cm4gaHI7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZCghIWVuYWJsZWQpOwog
CisgICAgaHIgPSBwcmVmc1ByaXZhdGUtPnBhaW50VGltaW5nRW5hYmxlZCgmZW5hYmxlZCk7Cisg
ICAgaWYgKEZBSUxFRChocikpCisgICAgICAgIHJldHVybiBocjsKKyAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFBhaW50VGltaW5nRW5hYmxlZCghIWVuYWJs
ZWQpOworCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPnJlc291cmNlVGltaW5nRW5hYmxlZCgmZW5h
YmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKSW5kZXg6IFNv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmlkbAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktp
dExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjY2LDMgKzI2NiwxMCBAQCBpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2VzUHJp
dmF0ZTggOiBJV2ViCiAgICAgSFJFU1VMVCBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKFtv
dXQsIHJldHZhbF0gQk9PTCogZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBzZXRBbGxvd1RvcE5hdmln
YXRpb25Ub0RhdGFVUkxzKFtpbl0gQk9PTCBlbmFibGVkKTsKIH0KKworW3V1aWQoRTUyNDg1QkMt
QzAzNS00NDA5LUFFMkEtOUY2RjBDM0FERTc4KV0KK2ludGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQ
cml2YXRlOSA6IElXZWJQcmVmZXJlbmNlc1ByaXZhdGU4Cit7CisgICAgSFJFU1VMVCBwYWludFRp
bWluZ0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MKik7CisgICAgSFJFU1VMVCBzZXRQYWludFRp
bWluZ0VuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOworfQpJbmRleDogVG9vbHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5MTk0KQorKysgVG9v
bHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDMtMjMg
IE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBG
Q1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgcHJlZmVyZW5jZSBrZXkgZm9yIHBhaW50LXRpbWluZy4K
KworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAg
ICAgKHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldFdlYlBy
ZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnJlc2V0
UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorCiAyMDIwLTAzLTI4ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihy
MjU3OTYzKSBVSSBwcm9jZXNzIGNyYXNoZXMgd2hlbiBzZXR0aW5nIG5hdmlnYXRpb24gZGVsZWdh
dGUgaW5zaWRlIG5hdmlnYXRpb24gZGVsZWdhdGUgY2FsbGJhY2tzCkluZGV4OiBUb29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCShyZXZpc2lvbiAyNTkxOTQpCisrKyBU
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHdvcmtpbmcgY29weSkK
QEAgLTEwMDQsNiArMTAwNCw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0Nv
bnNpc3QKICAgICBbcHJlZmVyZW5jZXMgc2V0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ6WUVT
XTsKICAgICBbcHJlZmVyZW5jZXMgc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkOllFU107CiAgICAg
W3ByZWZlcmVuY2VzIHNldFVzZXJUaW1pbmdFbmFibGVkOllFU107CisgICAgW3ByZWZlcmVuY2Vz
IHNldFBhaW50VGltaW5nRW5hYmxlZDpZRVNdOwogCiAgICAgW3ByZWZlcmVuY2VzIHNldENhY2hl
QVBJRW5hYmxlZDpOT107CiAgICAgcHJlZmVyZW5jZXMubWVkaWFDYXBhYmlsaXRpZXNFbmFibGVk
ID0gWUVTOwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUu
Y3BwCShyZXZpc2lvbiAyNTkxOTQpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJl
bmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MTMsNyArODEzLDcgQEAgc3RhdGljIHZv
aWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdAogCiAgICAgcHJlZmVyZW5jZXMtPnNldEF1
dG9zYXZlcyhGQUxTRSk7CiAKLSAgICBDT01QdHI8SVdlYlByZWZlcmVuY2VzUHJpdmF0ZTg+IHBy
ZWZzUHJpdmF0ZShRdWVyeSwgcHJlZmVyZW5jZXMpOworICAgIENPTVB0cjxJV2ViUHJlZmVyZW5j
ZXNQcml2YXRlOT4gcHJlZnNQcml2YXRlKFF1ZXJ5LCBwcmVmZXJlbmNlcyk7CiAgICAgQVNTRVJU
KHByZWZzUHJpdmF0ZSk7CiAgICAgcHJlZnNQcml2YXRlLT5zZXRGdWxsU2NyZWVuRW5hYmxlZChU
UlVFKTsKIApAQCAtOTA3LDcgKzkwNyw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5j
ZXNUb0NvbnNpc3QKIAogc3RhdGljIHZvaWQgc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aW9u
cyhJV2ViUHJlZmVyZW5jZXMqIHByZWZlcmVuY2VzLCBjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW9u
cykKIHsKLSAgICBDT01QdHI8SVdlYlByZWZlcmVuY2VzUHJpdmF0ZTg+IHByZWZzUHJpdmF0ZSB7
IFF1ZXJ5LCBwcmVmZXJlbmNlcyB9OworICAgIENPTVB0cjxJV2ViUHJlZmVyZW5jZXNQcml2YXRl
OT4gcHJlZnNQcml2YXRlIHsgUXVlcnksIHByZWZlcmVuY2VzIH07CiAKICAgICBwcmVmc1ByaXZh
dGUtPnNldFdlYkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWQob3B0aW9ucy5lbmFibGVX
ZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb24pOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0TWVudUl0
ZW1FbGVtZW50RW5hYmxlZChvcHRpb25zLmVuYWJsZU1lbnVJdGVtRWxlbWVudCk7CkBAIC05MjEs
NiArOTIxLDcgQEAgc3RhdGljIHZvaWQgc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aQogICAg
IHByZWZzUHJpdmF0ZS0+c2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhvcHRpb25zLmFs
bG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMpOwogICAgIHByZWZlcmVuY2VzLT5zZXRQcml2YXRl
QnJvd3NpbmdFbmFibGVkKG9wdGlvbnMudXNlRXBoZW1lcmFsU2Vzc2lvbik7CiAgICAgcHJlZmVy
ZW5jZXMtPnNldFVzZXNQYWdlQ2FjaGUob3B0aW9ucy5lbmFibGVCYWNrRm9yd2FyZENhY2hlKTsK
KyAgICBwcmVmc1ByaXZhdGUtPnNldFBhaW50VGltaW5nRW5hYmxlZChUUlVFKTsKIH0KIAogc3Rh
dGljIFN0cmluZyBhcHBsaWNhdGlvbklkKCkKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyNTkxOTQpCisrKyBUb29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMxLDYgKzkzMSw3
IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVyZW5jZXNUb0MKICAgICBXS1ByZWZl
cmVuY2VzU2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAg
ICBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVl
KTsKICAgICBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRy
dWUpOworICAgIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMs
IHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVByZWxvYWRpbmdFbmFibGVkKHByZWZl
cmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQbGF5YmFja0FsbG93c0lu
bGluZShwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldElubGluZU1lZGlh
UGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKHByZWZlcmVuY2VzLCBmYWxzZSk7
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyNTkxOTQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwzMSBAQAorMjAyMC0wMy0yMyAgTm9hbSBSb3NlbnRoYWwg
IDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVu
dGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZGVkIHRlc3RzIGZvciBzb21lIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgKEZDUCkgdXNl
LWNhc2VzLgorCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWlu
Zy1hcGlzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMv
cGFpbnQtdGltaW5nLWFwaS5qczogQWRkZWQuCisgICAgICAgICAgICAgICAgVGVzdCBleGlzdGVu
Y2Ugb2YgcGFpbnQgdGltaW5nIEFQSSBvbiB0aGUgd2luZG93IG9iamVjdC4KKworICAgICAgICAq
IHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBh
aW50LWZyYW1lcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3Qt
Y29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LXdpdGgtd29ya2VyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZy
YW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29y
a2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAgICAgICAgIFRlc3QgdGhhdCBGQ1AgaXMgbm90IGF2
YWlsYWJsZSBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lcyBhbmQgd29ya2Vycy4KKworICAgICAgICAq
IHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBh
aW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZv
cm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanM6IEFkZGVk
LgorICAgICAgICAoYXN5bmMgd2FpdEZvckZDUCk6CisgICAgICAgICAgICAgICAgVGVzdCB0aGF0
IHBlcmZvcm1hbmNlIG9ic2VydmVycyBhcmUgY2FsbGVkIGZvciBGQ1AuCisKIDIwMjAtMDMtMzAg
IEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBjc3Mv
c2VsZWN0b3JzIFdQVCB0ZXN0cwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNTkxOTQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzggQEAKKzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50aGFs
ICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBJbXBvcnRlZCB0ZXN0LXN1aXRlIGZyb20gdzNjIHRvIGNvdmVyIGZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQgY2FzZXMuCisgICAgICAgIFRoZSBmY3Atb25seSBjYXNlcyBhcmUgaW1wb3J0ZWQs
IHdoaWxlIHRoZSBvdGhlciBvbmVzIGFyZSBub3Qgc2luY2UgV2ViS2l0IGRvZXMgbm90IHN1cHBv
cnQgZmlyc3QtcGFpbnQuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9u
cy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1z
ZXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmct
aW1hZ2UtdHdvLXN0ZXBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1ncmFkaWVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0z
ZC1yb3RhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
c2NhbGUtdHJhbnNpdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2Nl
bmRhbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMt
dHJhbnNsYXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWlt
YWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12
aXNpYmlsaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1
ZG8uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFt
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0
ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2Uu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZzogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJh
bWUtcGFpbnRpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGls
cy5qczogQWRkZWQuCisgICAgICAgICh3YWl0VGltZSk6CisgICAgICAgIChhc3luYyBhc3NlcnRO
b0ZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKGFzeW5jIGFzc2VydEZpcnN0Q29udGVu
dGZ1bFBhaW50KToKKyAgICAgICAgKHRlc3RfZmNwKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisKIDIw
MjAtMDMtMzAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFVw
ZGF0ZSBjc3Mvc2VsZWN0b3JzIFdQVCB0ZXN0cwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24J
KHJldmlzaW9uIDI1OTE5NCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMv
aW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCSh3b3JraW5nIGNvcHkpCkBAIC0xMyw2ICsxMyw4IEBA
CiAgICAgImNzcy9nZW9tZXRyeSI6ICJpbXBvcnQiLCAKICAgICAiY3NzL3N1cHBvcnQiOiAiaW1w
b3J0IiwgCiAgICAgImN1c3RvbS1lbGVtZW50cyI6ICJpbXBvcnQiLCAKKyAgICAicGFpbnQtdGlt
aW5nLyI6ICJpbXBvcnQiLCAKKyAgICAicGFpbnQtdGltaW5nL2ZjcC1vbmx5IjogImltcG9ydCIs
IAogICAgICJzaGFkb3ctZG9tIjogImltcG9ydCIsIAogICAgICJ0b29scyI6ICJpbXBvcnQiLCAK
ICAgICAid2ViLWFuaW1hdGlvbnMiOiAiaW1wb3J0IiwgCkBAIC0zMTksNyArMzIxLDggQEAKICAg
ICAid2ViLXBsYXRmb3JtLXRlc3RzL29yaWVudGF0aW9uLWV2ZW50IjogInNraXAiLCAKICAgICAi
d2ViLXBsYXRmb3JtLXRlc3RzL29yaWVudGF0aW9uLXNlbnNvciI6ICJza2lwIiwgCiAgICAgIndl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWdlLXZpc2liaWxpdHkiOiAic2tpcCIsIAotICAgICJ3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nIjogInNraXAiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seSI6ICJpbXBvcnQiLCAKKyAgICAid2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LWhhbmRsZXIiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1tZXRob2QtYmFzaWMtY2FyZCI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LW1ldGhvZC1pZCI6ICJza2lwIiwgCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNr
Z3JvdW5kIHNpemUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZv
cm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tncm91bmQgc2l6ZTwvdGl0
bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cisg
ICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFj
a2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIGJh
Y2tncm91bmQtc2l6ZTogMCAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMg
ZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7Cisg
ICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOworICAgIH0KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemUuIik7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0LiAKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmct
aW1hZ2Utc2V0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldDwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNw
IHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgYmFja2dyb3VuZC1p
bWFnZTogLXdlYmtpdC1pbWFnZS1zZXQodXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZykgMXgp
OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS1zZXQodXJsKC4uL3Jlc291cmNlcy9j
aXJjbGVzLnBuZykgMXgpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldC4iKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVw
cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4g
dmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+
UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgZmlyZSBmb3IgYmFja2dy
b3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQor
CisgICAgLyogY29udGVudGZ1bCBhbmQgcHJlRkNQIGNsYXNzZXMgYXJlIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLnByZUZDUCB7CisgICAgICAgIHZpc2liaWxpdHk6
IGhpZGRlbjsKKyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVsLCAgI21haW4ucHJlRkNQIHsK
KyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7
CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHZpc2liaWxpdHk6IHZp
c2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+
CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZm9yIGJhY2tncm91
bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGUuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ2FudmFzIHNob3VsZCBjb3VudCBh
cyBjb250ZW50ZnVsIHdoZW4gY29udGV4dCBpcyBjcmVhdGVkIAorCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtY2FudmFzLWNvbnRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFz
LWNvbnRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRl
eHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agd2hlbiBj
YW52YXMgY29udGV4dCBpcyBjcmVhdGVkPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdp
ZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQ
YWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgYXdhaXQg
bmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAg
ICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgY29uc3QgY2FudmFz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhbnZhcycpOworICAgIGNvbnN0IGNvbnRleHQg
PSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICBjb250ZXh0LmZpbGxSZWN0KDAsIDAsIDEw
MCwgMTAwKTsKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAn
Q2FudmFzIHNob3VsZCBjb3VudCBhcyBjb250ZW50ZnVsIHdoZW4gY29udGV4dCBpcyBjcmVhdGVk
Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdy
YWRpZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgR3JhZGllbnRz
IHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdy
YWRpZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBub3QgZmlyZSB3aXRoIGdyYWRpZW50
LW9ubHkgYmFja2dyb3VuZHM8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAg
d2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBvcmFuZ2UsIGJsdWUpOworICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rl
c3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3Jt
YW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAg
IGNvbnN0IG1haW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbicpOworICAgICAgYXdh
aXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsK
KyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgICdHcmFk
aWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsJyk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVz
Y2VuZGFudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90YXRpbmcgaW50byB2
aWV3LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFu
dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRl
c2NlbmRhbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNk
LXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGR1ZSB0byAzZCByZXZlYWxpbmcgb2YgZGVzY2VuZGFudHM8L3RpdGxlPgorPHN0
eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICAgICAgdG9wOiAwOworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVkZWcpOworICAg
ICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOworICAgIH0KKworICAgIC8qCisgICAg
ICAgVGhpcyB0ZXN0cyB0aGF0IGdpdmVuIG11bHRpcGxpY2F0aW9uIGVmZmVjdCBvZiAzZCB0cmFu
c2Zvcm1zIG9uIGJvdW5kaW5nIHJlY3QsCisgICAgICAgQW4gZWxlbWVudCBjb3VudHMgYXMgY29u
dGVudGZ1bC9wYWludGFibGUgb25seSB3aGVuIGl0cyBib3VuZGluZyByZWN0IGlzIHRydWx5IG5v
bi1lbXB0eSAqLworICAgICNjaGlsZCB7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCg0NWRl
Zyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3Rf
ZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3Jt
OiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0i
Y2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90YXRp
bmcgaW50byB2aWV3LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXcuIAorCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRp
bWluZyBUZXN0OiBGQ1AgZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldzwvdGl0bGU+Cis8c3R5
bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDkw
ZGVnKTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAg
fQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlw
dC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOwor
ICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRp
bHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+VGV4dDwvZGl2PgorPHNjcmlwdD4KKyAg
ICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gM2Qgcm90YXRp
b24gaW50byB2aWV3LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRv
IHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgRmlyc3QgY29udGVu
dGZ1bCBwYWludCBmaXJlcyB3aGVuIHJldmVhbGVkIGR1cmluZyB0cmFuc2l0aW9uLiAKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGluIHRyYW5zaXRpb248
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9y
bTogc2NhbGUoMCk7CisgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMHM7CisgICAgICAg
IHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0KKworICAgIC8qIGNv
bnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21h
aW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CisgICAgfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj5URVhUPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNw
KCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gcmV2ZWFsZWQgZHVyaW5nIHRyYW5z
aXRpb24uIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtc2NhbGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLXNjYWxlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUg
dG8gc2NhbGUgY2hhbmdlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4Owor
ICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291
cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBk
ZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAg
ICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBzY2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK0lOVklTSUJMRQorCitQQVNTIEZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZp
c2libGUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBh
aW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIHN0aWxsIGZpcmUgZm9yIGludmlzaWJsZSB0ZXh0
PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2
ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOwor
ICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBz
Y3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHZpc2liaWxpdHk6IHZp
c2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICBJTlZJU0lCTEUK
KzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4iKQorPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5k
YW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1k
ZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1Rl
eHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0
b3IgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNp
dHktZGVzY2VuZGFudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRl
c2NlbmRhbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNj
ZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1
ZSB0byBhbmNlc3RvciBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDog
MHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICB9
CisKKyAgICAjY2hpbGQgeworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNv
bnRlbnRmdWwgYW5kIGludGVybWVkaWF0ZSBjbGFzc2VzIGFyZSBkZWZpbmVkIGluIHRlc3RfZmNw
IHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICNjaGlsZCB7CisgICAgICAgIG9wYWNp
dHk6IDE7CisgICAgfQorCisgICAgI21haW4uaW50ZXJtZWRpYXRlICNjaGlsZCB7CisgICAgICAg
IG9wYWNpdHk6IDE7CisgICAgfQorCisgICAgI21haW4uaW50ZXJtZWRpYXRlIHsKKyAgICAgICAg
b3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgb3Bh
Y2l0eTogMC41OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBp
ZD0iY2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcG9z
aXRpdmUgb3BhY2l0eS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mg
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gb3BhY2l0eS1yZXZlYWxlZCBlbGVt
ZW50LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atb3BhY2l0eS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1
ZSB0byBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRo
OiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAg
ICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dy
b3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIG9wYWNp
dHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRl
c3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgb3BhY2l0
eTogMC4xOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0
PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBvcGFj
aXR5LXJldmVhbGVkIGVsZW1lbnQuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVl
IHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91
dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWlu
dCBmaXJlcyBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50
LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byB0cmFuc2Zv
cm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQ8L3RpdGxlPgorPHN0eWxlPgorICAg
ICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAwcHgp
OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAg
YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQor
CisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4g
Ki8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOworICAg
IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMu
anMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3Rf
ZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byB0cmFuc2Zvcm0tYmFzZWQg
aW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGR1ZSB0byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudDwvdGl0bGU+Cis8c3R5
bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgIGxlZnQ6IC0xMDAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2
ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVz
b3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlz
IGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgewor
ICAgICAgICBsZWZ0OiAwcHg7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rp
dj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiIpCis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxh
eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAor
CitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50
IHRleHQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVk
by1lbGVtZW50IHRleHQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9z
aXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAiVEVY
VCI7CisgICAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBj
bGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50
ZnVsOmFmdGVyIHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4iKQorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
aW1hZ2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC1pbWFnZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBz
ZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8t
ZWxlbWVudCBpbWFnZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFn
ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGhl
YWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNl
dWRvLWVsZW1lbnQgaW1hZ2U8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAg
cG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGlu
IHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAg
ICAgY29udGVudDogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgaW1hZ2UuIikK
Kzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIAorCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZv
cm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRp
bmcgcG9zaXRpdmUgb3BhY2l0eTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAg
ICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6
ICJURVhUIjsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVs
IGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRl
bnRmdWw6YWZ0ZXIgeworICAgICAgICBvcGFjaXR5OiAwLjU7CisgICAgfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0dGluZyBwb3NpdGl2
ZSBvcGFjaXR5LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNl
dWRvLWVsZW1lbnQtdGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC10ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LXRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBG
Q1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWlu
IHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7Cisg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBp
cyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFm
dGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiCisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlk
PSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4iKQorPC9zY3JpcHQ+Cis8
L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNp
YmlsaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVl
IHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIAorCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1h
bmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5n
IHZpc2libGU8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246
IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgfQorCisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAiVEVYVCI7Cisg
ICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNs
YXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRm
dWw6YWZ0ZXIgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOworICAgIH0KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0
PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZp
c2libGUuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXN2Zy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWlu
dCBmaXJlcyB3aGVuIFNWRyBiZWNvbWVzIGNvbnRlbnRmdWwuIAorCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atc3ZnLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50
IFRpbWluZyBUZXN0OiBGQ1Agd2l0aCBTVkc8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsK
KyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBs
ZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICB9CisKKyAgICAjY2ly
Y2xlIHsKKyAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBj
bGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50
ZnVsICNjaXJjbGUgeworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9Im1haW4iPgorICA8c3ZnIHZpZXdCb3g9IjAgMCAxMCAxMCIgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIgorICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5v
cmcvMTk5OS94bGluayI+CisgICAgPGRlZnM+CisgICAgICA8Y2lyY2xlIGlkPSJteUNpcmNsZSIg
Y3g9IjUiIGN5PSI1IiByPSI0IiBzdHJva2U9ImJsdWUiLz4KKyAgICA8L2RlZnM+CisgICAgPHVz
ZSBpZD0iY2lyY2xlIiBocmVmPSIjbXlDaXJjbGUiIGZpbGw9ImdyZWVuIiAvPgorICA8L3N2Zz4K
KzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyB3aGVuIFNWRyBiZWNvbWVzIGNvbnRlbnRmdWwuIikKKzwvc2NyaXB0PgorPC9ib2R5Pgor
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFRleHQgaW5wdXQgc2hvdWxkIGJlY29tZSBj
b250ZW50ZnVsIHdoZW4gaXRzIHZhbHVlIGlzIG5vbi1lbXB0eSAKKwpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXRleHQtaW5wdXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1
dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0
aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSBmb3Igbm9uLWVtcHR5
IHRleHQgaW5wdXQ8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9InRleHQiIC8+Cis8
c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRfcHJlY29u
ZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0
IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVu
dGZ1bFBhaW50KCk7CisgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdpbnB1dCcpOworICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsICcgICcpOworICAg
ICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgICAgaW5wdXQuc2V0
QXR0cmlidXRlKCd2YWx1ZScsICd2YWx1ZScpOworICAgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250
ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ1RleHQgaW5wdXQgc2hvdWxkIGJlY29tZSBjb250ZW50ZnVs
IHdoZW4gaXRzIHZhbHVlIGlzIG5vbi1lbXB0eScpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK0EKKworUEFTUyBGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIG9ubHkgd2hlbiBzb21lIG9mIHRoZSB0ZXh0IGlzIHZpc2li
bGUsIGNvbnNpZGVyaW5nIDo6Zmlyc3QtbGV0dGVyLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5
cG9ncmFwaGljLXBzZXVkby5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3Jh
cGhpYy1wc2V1ZG8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBo
aWMtcHNldWRvLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IHNob3VsZCBub3QgZmlyZSB3aGVuIGFsbCB0ZXh0IGlzIGhpZGRlbiBkdWUgdG8gdHlwb2dyYXBo
aWMgcHNldWRvLWVsZW1lbnRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAg
IHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluICo6OmZpcnN0LWxldHRlciB7CisgICAgICAg
IG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVk
IGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICo6OmZpcnN0LWxl
dHRlciB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJt
YWluIj4KKyAgICA8ZGl2PkE8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgi
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBvbmx5IHdoZW4gc29tZSBvZiB0aGUgdGV4dCBp
cyB2aXNpYmxlLCBjb25zaWRlcmluZyA6OmZpcnN0LWxldHRlci4iKQorPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFZpZGVvIHNob3VsZCBiZWNvbWUg
Y29udGVudGZ1bCB3aGVuIGZpcnN0IGZyYW1lIGlzIGxvYWRlZCAKKwpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXZpZGVvLWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZy
YW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBsb2FkZWQg
dmlkZW8gZnJhbWU8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIGF1dG9wbGF5PjwvdmlkZW8+
Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRfcHJl
Y29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlz
bid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29u
dGVudGZ1bFBhaW50KCk7CisgICAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd2aWRlbycpOworICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdzcmMnLCAnL21lZGlhL3Rl
c3QubXA0Jyk7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAg
dmlkZW8ub25jYW5wbGF5ID0gcmVzb2x2ZTsKKyAgICAgIH0pOworICAgICAgYXdhaXQgYXNzZXJ0
Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ1ZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVu
dGZ1bCB3aGVuIGZpcnN0IGZyYW1lIGlzIGxvYWRlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFZpZGVvIHNob3VsZCBiZWNvbWUgY29u
dGVudGZ1bCB3aGVuIHBvc3RlciBpcyBsb2FkZWQgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0
bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gbG9hZGVkIHZpZGVv
IHBvc3RlcjwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHZpZGVvIGlkPSJ2aWRlbyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUw
Ij48L3ZpZGVvPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGFz
c2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBU
aW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJz
dENvbnRlbnRmdWxQYWludCgpOworICAgIGNvbnN0IHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3ZpZGVvJyk7CisgICAgY29uc3Qgc3JjID0gJy4uL3Jlc291cmNlcy9jaXJjbGVzLnBu
Zyc7CisgICAgY29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTsKKyAgICBpbWFnZS5zcmMgPSBzcmM7
CisgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdwb3N0ZXInLCBzcmMpOworICAgIGF3YWl0IG5ldyBQ
cm9taXNlKHJlc29sdmUgPT4geworICAgICAgICBpbWFnZS5vbmxvYWQgPSBhc3luYyAoKSA9PiBy
ZXNvbHZlKCk7CisgICAgfSkKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgp
OworICB9LCAnVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9zdGVyIGlzIGxv
YWRlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
d2hpdGVzcGFjZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRl
c3BhY2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNw
YWNlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RFWFQKKwor
UEFTUyBXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bC4gCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXdoaXRlc3BhY2UuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFj
ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IFdoaXRlc3BhY2Ug
c2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFp
biB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4v
cmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDA7Cisg
ICAgfQorCisgICAgI3RleHQgeworICAgICAgICBkaXNwbGF5OiBub25lOworICAgIH0KKworICAg
IC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisg
ICAgI21haW4uY29udGVudGZ1bCAjdGV4dHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJ3aGl0ZXNwYWNlIj4g
ICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+
CisgICAgdGVzdF9mY3AoIldoaXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVs
LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRo
LXJ0bC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNTIEZDUCBz
aG91bGQgZmlyZSB3aGVuIGNvb3JkaW5hdGVzIGFyZSBuZWdhdGl2ZSwgaWYgd2l0aGluIGRvY3Vt
ZW50IHNjcm9sbGFibGUgYXJlYSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBU
aW1pbmcgVGVzdDogRkNQIGR1ZSB0byBkaXJlY3Rpb24gY2hhbmdlPC90aXRsZT4KKzxzdHlsZT4K
KyAgI3RleHQgeworICAgIHJpZ2h0OiAtMTAwcHg7CisgICAgcG9zaXRpb246IGFic29sdXRlOwor
ICB9CisKKyAgYm9keSB7CisgICAgZGlyZWN0aW9uOiBydGw7CisgIH0KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keSBkaXJlY3Rpb249IlJUTCI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0
aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9InRleHQiPlRFWFQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21p
c2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBl
cmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOwor
ICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9h
ZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAg
ICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuZGlyZWN0aW9uID0gJ2x0cicKKyAgICAgIGF3YWl0IGFz
c2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdGQ1Agc2hvdWxkIGZpcmUgd2hlbiBj
b29yZGluYXRlcyBhcmUgbmVnYXRpdmUsIGlmIHdpdGhpbiBkb2N1bWVudCBzY3JvbGxhYmxlIGFy
ZWEnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvdzNjLWlt
cG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvdzNjLWltcG9ydC5sb2cJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw0MyBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkg
dmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1z
dGVwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2Nl
bmRhbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1p
bnZpc2libGUtc2NhbGUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNp
dHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdmVyZmxvdy5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNl
dWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LW9wYWNpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHku
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXN2Zy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdGV4dC1pbnB1dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8t
cG9zdGVyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xl
LnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2Zwkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXMvY2lyY2xlLnN2Zwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKzxz
dmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiPgorICAg
PGNpcmNsZSBjeD0iMTAwIiBjeT0iNTAiIHI9IjQwIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lk
dGg9IjIiIGZpbGw9Im5vbmUiIC8+Cis8L3N2Zz4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1w
YWludGluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1wYWludGluZy5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1wYWludGluZy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8
ZGl2IGlkPSJpbWFnZSI+PC9kaXY+Cis8c2NyaXB0PgorICBjb25zdCBpbWcgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdJTUcnKTsKKyAgaW1nLnNyYyA9ICdjaXJjbGVzLnBuZyc7CisgIGltZy5v
bmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBmdW5jdGlvbiBzZW5kUGFpbnRFbnRyaWVzKCkgewor
ICAgICAgY29uc3QgcGFpbnRFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgn
cGFpbnQnKTsKKyAgICAgIGlmIChwYWludEVudHJpZXMubGVuZ3RoIDwgMikgeworICAgICAgICBz
ZXRUaW1lb3V0KHNlbmRQYWludEVudHJpZXMsIDIwKTsKKyAgICAgICAgcmV0dXJuOworICAgICAg
fQorICAgICAgbGV0IGVudHJ5Q29udGVudHMgPSBwYWludEVudHJpZXMubGVuZ3RoICsgJyc7Cisg
ICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhaW50RW50cmllcy5sZW5ndGg7IGkrKykgeworICAg
ICAgICBjb25zdCBlbnRyeSA9IHBhaW50RW50cmllc1tpXTsKKyAgICAgICAgZW50cnlDb250ZW50
cyArPSAnICcgKyBlbnRyeS5lbnRyeVR5cGUgKyAnICcgICsgZW50cnkubmFtZTsKKyAgICAgIH0K
KyAgICAgIHBhcmVudC5wb3N0TWVzc2FnZShlbnRyeUNvbnRlbnRzLCAnKicpOworICAgIH07Cisg
ICAgc2VuZFBhaW50RW50cmllcygpOworICB9OworICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
aW1hZ2UnKS5hcHBlbmRDaGlsZChpbWcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQ+CisgIHNlbGYuYWRkRXZlbnRM
aXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uKGUpIHsKKyAgICAvLyBTZW5kIHBhaW50LXRpbWlu
ZyBlbnRyaWVzIHVwb24gcmVjZWl2aW5nIGEgbWVzc2FnZS4KKyAgICBjb25zdCBwYWludEVudHJp
ZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdwYWludCcpOworICAgIGxldCBlbnRy
eUNvbnRlbnRzID0gcGFpbnRFbnRyaWVzLmxlbmd0aCArICcnOworICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgcGFpbnRFbnRyaWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICBjb25zdCBlbnRyeSA9IHBh
aW50RW50cmllc1tpXTsKKyAgICAgIGVudHJ5Q29udGVudHMgKz0gJyAnICsgZW50cnkuZW50cnlU
eXBlICsgJyAnICArIGVudHJ5Lm5hbWU7CisgICAgfQorICAgIHBhcmVudC5wb3N0TWVzc2FnZShl
bnRyeUNvbnRlbnRzLCAnKicpOworICB9KTsKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0
aWxzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXMvdXRpbHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NiBAQAorLy8g
TnVtYmVyIG1pbGxpc2Vjb25kcyB0byB3YWl0IGZvciBDU1MgcmVzb3VyY2VzIHRvIGxvYWQuCitj
b25zdCBudW1NaWxsaXNlY29uZHNXYWl0ID0gNTA7CisKKy8vIFdlIHVzZSByZXF1ZXN0QW5pbWF0
aW9uRnJhbWUoKSBjYWxscyB0byBmb3JjZSB0aGUgdXNlciBhZ2VudCB0byBwYWludCBhbmQgZ2l2
ZSBlbm91Z2gKKy8vIHRpbWUgZm9yIEZDUCB0byBzaG93IHVwIGluIHRoZSBwZXJmb3JtYW5jZSB0
aW1lbGluZS4gSGVuY2UsIHNldCB8bnVtRnJhbWVzV2FpdGluZ3wgdG8KKy8vIDMgYW5kIHVzZSB0
aGF0IGNvbnN0YW50IHdoZW5ldmVyIHRoZSB0ZXN0IG5lZWRzIHRvIHdhaXQgZm9yIHRoZSBuZXh0
IHBhaW50IHRvIG9jY3VyLgorY29uc3QgbnVtRnJhbWVzV2FpdGluZyA9IDM7CisKK2Z1bmN0aW9u
IHdhaXRUaW1lKHQpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gdC5zdGVwX3Rp
bWVvdXQocmVzb2x2ZSwgbnVtTWlsbGlzZWNvbmRzV2FpdCkpOworfQorCitmdW5jdGlvbiB3YWl0
Rm9yQW5pbWF0aW9uRnJhbWVzKGNvdW50KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZl
ID0+IHsKKyAgICBpZiAoY291bnQtLSA8PSAwKSB7CisgICAgICByZXNvbHZlKCk7CisgICAgfSBl
bHNlIHsKKyAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgIHdhaXRG
b3JBbmltYXRpb25GcmFtZXMoY291bnQpLnRoZW4ocmVzb2x2ZSk7CisgICAgICB9KTsKKyAgICB9
CisgIH0pOworfQorCisvLyBBc3NlcnRzIHRoYXQgdGhlcmUgaXMgY3VycmVudGx5IG5vIEZDUCBy
ZXBvcnRlZCwgZXZlbiBhZnRlciBzb21lIHdhaXQuCithc3luYyBmdW5jdGlvbiBhc3NlcnROb0Zp
cnN0Q29udGVudGZ1bFBhaW50KHQpIHsKKyAgaWYgKHQpCisgICAgYXdhaXQgd2FpdFRpbWUodCk7
CisKKyAgYXdhaXQgd2FpdEZvckFuaW1hdGlvbkZyYW1lcyhudW1GcmFtZXNXYWl0aW5nKTsKKyAg
YXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1jb250ZW50
ZnVsLXBhaW50JykubGVuZ3RoLCAwLCAnRmlyc3QgY29udGVudGZ1bCBwYWludCBtYXJrZWQgdG9v
IGVhcmx5LiAnKTsKK30KKworLy8gQXNzZXJ0cyB0aGF0IEZDUCBpcyByZXBvcnRlZCwgcG9zc2li
bHkgYWZ0ZXIgc29tZSB3YWl0LiBUaGUgd2FpdCBpcyBuZWVkZWQKKy8vIGJlY2F1c2Ugc29tZXRp
bWVzIHRoZSBGQ1AgcmVsaWVzIG9uIHNvbWUgQ1NTIHJlc291cmNlcyB0byBmaW5pc2ggbG9hZGlu
Zy4KK2FzeW5jIGZ1bmN0aW9uIGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQpIHsKKyAgaWYg
KHQpCisgICAgYXdhaXQgd2FpdFRpbWUodCk7CisgIGF3YWl0IHdhaXRGb3JBbmltYXRpb25GcmFt
ZXMobnVtRnJhbWVzV2FpdGluZyk7CisgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZ2V0RW50
cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0aCwgMSwgJ0V4cGVjdGVk
IGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgbm90IGZvdW5kLiAnKTsKK30KKworZnVuY3Rpb24gdGVz
dF9mY3AobGFiZWwpIHsKKyAgY29uc3Qgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdz
dHlsZScpOworICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHN0eWxlKTsKKyAgcmV0dXJuIHBy
b21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5Q
ZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsK
KyAgICBjb25zdCBtYWluID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW4nKTsKKyAgICBh
d2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikp
OworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICBtYWluLmNs
YXNzTmFtZSA9ICdwcmVGQ1AnOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFp
bnQoKTsKKyAgICBtYWluLmNsYXNzTmFtZSA9ICdjb250ZW50ZnVsJzsKKyAgICBhd2FpdCBhc3Nl
cnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCBsYWJlbCk7Cit9CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJj
ZXMvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9n
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDIxIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBv
cnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMg
ZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0
CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25l
CitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFp
bnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1wYWludGluZy5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2Vu
ZGluZy1wYWludC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9y
ZXNvdXJjZXMvdXRpbHMuanMKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWlu
dC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKK0Jhc2ljIEludGVyZmFjZSB0
ZXN0IGZvciBwYWludC10aW1pbmcgQVBJcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcKK1BBU1MgUGVyZm9ybWFuY2VQYWludFRpbWluZyBp
cyBkZWZpbmVkLgorUEFTUyBQZXJmb3JtYW5jZVBhaW50VGltaW5nLnByb3RvdHlwZS50b0pTT04g
aXMgZGVmaW5lZC4KK1BBU1MgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGlu
ZyAnbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKScpLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGku
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGlt
aW5nLWZyYW1lcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAor
UGFpbnQgQVBJIHNob3VsZCBiZSBhdmFpbGFibGUgZm9yIHNhbWUtb3JpZ2luIGZyYW1lcyBidXQg
bm90IHRvIGNyb3NzLW9yaWdpbi9zYW5kYm94ZWQgZnJhbWVzLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyByZWNlaXZlZEV2ZW50LnNvdXJjZSBpcyBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJykuY29udGVudFdpbmRvdworUEFTUyByZWNlaXZlZEVu
dHJ5Lm5hbWUgaXMgJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnCitQQVNTIGRpZFJlY2VpdmVNZXNz
YWdlRnJvbVNhbmRib3hlZElmcmFtZSBpcyBmYWxzZQorUEFTUyBBcnJheS5pc0FycmF5KG5vblNh
bmRib3hTdXBwb3J0ZWRUeXBlcykgaXMgdHJ1ZQorUEFTUyBBcnJheS5pc0FycmF5KHNhbmRib3hT
dXBwb3J0ZWRUeXBlcykgaXMgdHJ1ZQorUEFTUyBkaWRSZWNlaXZlTWVzc2FnZSBpcyB0cnVlCitQ
QVNTIG5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyB0cnVlCitQ
QVNTIHNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyBmYWxzZQorUEFT
UyBQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2Fz
IGZpcmVkIGZvciBzYW1lLW9yaWdpbiBmcmFtZSBidXQgbm90IGZvciBjcm9zcy1vcmlnaW4gZnJh
bWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCisK
K1RFWFQKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJh
bWVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50
LXRpbWluZy1mcmFtZXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNjcgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CisgICAgPGlmcmFtZSB3aWR0aD0iMTAwIiBoZWlnaHQ9
IjEwMCIgaWQ9Im5vblNhbmRib3hlZCIgc3JjPSIuL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRt
bCI+PC9pZnJhbWU+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorPGlmcmFtZSBpZD0ic2Fu
ZGJveGVkIiBzcmM9Ii4vcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sIiBzYW5kYm94PSJhbGxv
dy1zY3JpcHRzIj48L2lmcmFtZT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CisKKyAgICBU
RVhUCisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiUGFpbnQgQVBJIHNob3VsZCBiZSBhdmFpbGFi
bGUgZm9yIHNhbWUtb3JpZ2luIGZyYW1lcyBidXQgbm90IHRvIGNyb3NzLW9yaWdpbi9zYW5kYm94
ZWQgZnJhbWVzLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOword2luZG93LmRpZFJl
Y2VpdmVNZXNzYWdlID0gZmFsc2U7CisKK3dpbmRvdy5vbmxvYWQgPSBhc3luYyAoKSA9PiB7Cisg
ICAgY29uc3Qgc2FuZGJveGVkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NhbmRib3hlZCcp
OworICAgIGNvbnN0IG5vblNhbmRib3hlZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25T
YW5kYm94ZWQnKTsKKyAgICBjb25zdCBmY3BNZXNzYWdlUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJl
c29sdmUgPT4geworICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gZXZlbnQgPT4geworICAgICAg
ICAgICAgd2luZG93LnJlY2VpdmVkRXZlbnQgPSBldmVudDsKKyAgICAgICAgICAgIGNvbnN0IGlz
RnJvbVNhbmRib3hlZCA9IGV2ZW50LnNvdXJjZSA9PT0gc2FuZGJveGVkLmNvbnRlbnRXaW5kb3c7
CisgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gSlNPTi5wYXJzZShldmVudC5kYXRhKTsKKyAg
ICAgICAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7CisgICAgICAgICAgICAgICAgY2FzZSAn
c3VwcG9ydGVkJzoKKyAgICAgICAgICAgICAgICAgICAgaWYgKGlzRnJvbVNhbmRib3hlZCkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zYW5kYm94U3VwcG9ydGVkVHlwZXMgPSBtZXNz
YWdlLnN1cHBvcnRlZDsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAg
ICAgICAgICAgd2luZG93Lm5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcyA9IG1lc3NhZ2Uuc3VwcG9y
dGVkOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlICdy
ZWNlaXZlZCc6CisgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5kaWRSZWNlaXZlTWVzc2FnZUZy
b21TYW5kYm94ZWRJZnJhbWUgPSBpc0Zyb21TYW5kYm94ZWQ7CisgICAgICAgICAgICAgICAgICAg
IHdpbmRvdy5yZWNlaXZlZEVudHJ5ID0gbWVzc2FnZS5lbnRyeTsKKyAgICAgICAgICAgICAgICAg
ICAgZGlkUmVjZWl2ZU1lc3NhZ2UgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgncmVjZWl2ZWRFdmVudC5zb3VyY2UnLCAiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNh
bmRib3hlZCcpLmNvbnRlbnRXaW5kb3ciKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
J3JlY2VpdmVkRW50cnkubmFtZScsICInZmlyc3QtY29udGVudGZ1bC1wYWludCciKTsKKyAgICAg
ICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICB9KTsKKworICAgIHNhbmRib3hlZC5jb250ZW50
V2luZG93LnBvc3RNZXNzYWdlKCJwYWludCIsICIqIik7CisgICAgYXdhaXQgd2FpdEZvckZDUCgp
OworICAgIG5vblNhbmRib3hlZC5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCJwYWludCIsICIq
Iik7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIGF3YWl0IGZjcE1lc3NhZ2VQcm9taXNl
OworICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVNZXNzYWdlRnJvbVNhbmRib3hlZElmcmFt
ZScpOworICAgIHNob3VsZEJlVHJ1ZSgnQXJyYXkuaXNBcnJheShub25TYW5kYm94U3VwcG9ydGVk
VHlwZXMpJyk7CisgICAgc2hvdWxkQmVUcnVlKCdBcnJheS5pc0FycmF5KHNhbmRib3hTdXBwb3J0
ZWRUeXBlcyknKTsKKyAgICBzaG91bGRCZVRydWUoJ2RpZFJlY2VpdmVNZXNzYWdlJyk7CisgICAg
c2hvdWxkQmVUcnVlKCdub25TYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5jbHVkZXMoInBhaW50Iikn
KTsKKyAgICBzaG91bGRCZUZhbHNlKCdzYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5jbHVkZXMoInBh
aW50IiknKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQgY2FsbGJhY2sgd2FzIGZpcmVkIGZvciBzYW1lLW9yaWdpbiBmcmFtZSBidXQg
bm90IGZvciBjcm9zcy1vcmlnaW4gZnJhbWUiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDEzIEBACitQYWludCBBUEkgc2hvdWxkIG5vdCBiZSBhdmFpbGFibGUgaW4gd29ya2Vy
IGNvbnRleHRzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBQZXJmb3Jt
YW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgdHJ1
ZQorUEFTUyB3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIGZh
bHNlCitQQVNTIHdvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoIm1hcmsiKSBpcyB0
cnVlCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcyBkaWQgbm90
IGluY2x1ZGUgJ3BhaW50JyBmb3Igd29ya2VycworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFw
aS9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdv
cmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBIVE1M
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiUGFp
bnQgQVBJIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlIGluIHdvcmtlciBjb250ZXh0cy4iKTsKK3dp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2NvbnN0IHdvcmtlciA9IG5ldyBXb3JrZXIoIi4v
cmVzb3VyY2VzL3dvcmtlci5odG1sIik7Cit3b3JrZXIub25tZXNzYWdlID0gZXZlbnQgPT4gewor
ICAgIHdpbmRvdy53b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzID0gSlNPTi5wYXJzZShldmVudC5k
YXRhKTsKKyAgICBzaG91bGRCZVRydWUoJ1BlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50
cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKScpOworICAgIHNob3VsZEJlRmFsc2UoJ3dvcmtlclN1
cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICBzaG91bGRCZVRydWUo
J3dvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoIm1hcmsiKScpOworICAgIHRlc3RQ
YXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcyBkaWQgbm90IGlu
Y2x1ZGUgJ3BhaW50JyBmb3Igd29ya2VycyIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKwor
d29ya2VyLnBvc3RNZXNzYWdlKCJzdGFydCIpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1m
aXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1
bC1wYWludC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKK1BBU1MgZGlkUmVjZWl2
ZUZpcnN0Q29udGVudGZ1bFBhaW50IGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmll
cygpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImZpcnN0
LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGggaXMgMQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRy
aWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IiwgInBhaW50IikubGVuZ3RoIGlzIDEK
K1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5sZW5ndGggaXMgMQor
UEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sg
d2Fzbid0IGZpcmVkIGFnYWluIAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCitURVhUMgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Bl
cmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmly
c3QtY29udGVudGZ1bC1wYWludC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MSBAQAorPCFET0NUWVBFIEhUTUw+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJFbnN1cmUg
UGVyZm9ybWFuY2VPYnNlcnZlcnMgYXJlIG5vdGlmaWVkIG9uY2UgZm9yIGZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisgCisoYXN5bmMgKCkg
PT4geworICAgIHdpbmRvdy5kaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQgPSBmYWxzZTsK
KyAgICB3aW5kb3cuc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAgYXdhaXQgd2Fp
dEZvckZDUCgpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICBj
b25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGVudHJ5TGlzdCA9PiB7Cisg
ICAgICAgICAgICB3aW5kb3cuZW50cnlMaXN0ID0gZW50cnlMaXN0OworICAgICAgICAgICAgc2hv
dWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzKCkubGVuZ3RoJywgIjEiKTsKKyAgICAgICAgICAg
IHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1w
YWludCIpLmxlbmd0aCcsIDEpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2VudHJ5TGlzdC5nZXRF
bnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCcsICIxIik7CisgICAgICAgICAgICB3aW5kb3cu
ZmNwRW50cnkgPSBlbnRyeUxpc3QuZ2V0RW50cmllcygpWzBdOworICAgICAgICAgICAgc2hvdWxk
QmVGYWxzZSgnZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50Jyk7CisgICAgICAgICAgICBz
aG91bGRCZSgnZmNwRW50cnkubmFtZScsICciZmlyc3QtY29udGVudGZ1bC1wYWludCInKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5lbnRyeVR5cGUnLCAnInBhaW50IicpOworICAg
ICAgICAgICAgc2hvdWxkQmVUcnVlKCdmY3BFbnRyeS5zdGFydFRpbWUgPiB3aW5kb3cuc3RhcnRU
aW1lJyk7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoJ2ZjcEVudHJ5LnN0YXJ0VGltZSA8IHBl
cmZvcm1hbmNlLm5vdygpJyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50cnkuZHVyYXRp
b24nLCAiMCIpOworICAgICAgICAgICAgZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0g
dHJ1ZTsKKyAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydwYWludCddfSk7CisgICAgICAgIGRvY3VtZW50
LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQnOworICAgIH0pCisgICAgZG9jdW1lbnQuYm9keS5pbm5l
clRleHQgPSAnVEVYVDInOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBzaG91bGRCZVRy
dWUoJ2RpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCcpOworICAgIHNob3VsZEJlKCdwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzKCkubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIpLmxlbmd0aCcs
ICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImZpcnN0
LWNvbnRlbnRmdWwtcGFpbnQiLCAicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHNob3VsZEJl
KCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCcsICIxIik7Cisg
ICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50
IGNhbGxiYWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30p
KCk7CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3At
c3ViZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUg
SFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGNvbnN0IG9ic2VydmVyID0gbmV3
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7CisgICAgICAgIGxpc3QuZ2V0RW50cmllcygp
LmZvckVhY2goZW50cnkgPT4geworICAgICAgICAgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2Fn
ZShKU09OLnN0cmluZ2lmeSh7dHlwZTogJ3JlY2VpdmVkJywgZW50cnl9KSwgJyonKTsKKyAgICAg
ICAgfSk7CisgICAgfSk7CisKKyAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbInBh
aW50Il19KTsKKyAgICB3aW5kb3cub25tZXNzYWdlID0gZSA9PiB7CisgICAgICAgIHdpbmRvdy5w
YXJlbnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3N1cHBvcnRlZDogUGVyZm9ybWFuY2VP
YnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLCB0eXBlOiAnc3VwcG9ydGVkJ30pLCAnKicpOwor
ICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICJURVhUIjsKKyAgICB9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMu
anMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNl
cy9wYWludC1hcGktdXRpbHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1IEBACithc3lu
YyBmdW5jdGlvbiB3YWl0Rm9yRkNQKCkKK3sKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZl
ID0+IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiByZXNvbHZlKCkpKTsKKyAgICByZXR1cm4g
d2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ2ZpcnN0LWNvbnRlbnRmdWwtcGFp
bnQnKS5sZW5ndGggPT0gMTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWlu
dC10aW1pbmctYXBpLmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDEzIEBACitpZiAoc2VsZi5pbXBvcnRTY3JpcHRzKQorICAgIGltcG9ydFNjcmlwdHMoIi4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyIpOworCitpZiAoc2VsZi53aW5kb3cpCisgICAg
ZGVzY3JpcHRpb24oIkJhc2ljIEludGVyZmFjZSB0ZXN0IGZvciBwYWludC10aW1pbmcgQVBJcy4i
KTsKKworZGVidWcoIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmciKTsKK3Nob3VsZEJlRGVmaW5lZCgi
UGVyZm9ybWFuY2VQYWludFRpbWluZyIpOworc2hvdWxkQmVEZWZpbmVkKGBQZXJmb3JtYW5jZVBh
aW50VGltaW5nLnByb3RvdHlwZS50b0pTT05gKTsKK3Nob3VsZFRocm93KGBuZXcgUGVyZm9ybWFu
Y2VQYWludFRpbWluZygpYCk7CisKK2lmIChzZWxmLmltcG9ydFNjcmlwdHMpCisgICAgZmluaXNo
SlNUZXN0KCk7CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dv
cmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNv
dXJjZXMvd29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMg
QEAKK3NlbGYub25tZXNzYWdlID0gKCkgPT4geworICAgIHNlbGYucG9zdE1lc3NhZ2UoSlNPTi5z
dHJpbmdpZnkoUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzKSk7Cit9Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2
bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9j
aXJjbGVzLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMK
K2ltYWdlL3BuZwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CgppVkJPUncwS0dnb0FB
QUFOU1VoRVVnQUFBQ1FBQUFCSUNBWUFBQUNlTmxlNUFBQUM3bWxEUTFCSlEwTWdVSEp2Wm1sc1pR
QUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9SRmlhd3piSDdaRmtH
UXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZwRktONnJLR0toRnkzeHpX
NU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVKcQovSWdBanFJSlFU
UWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAxQTRFZWEyU3F3N3hk
eENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVBMUxjNS9UYmhUelNY
VFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFHY1R2WU9rTDJkOUg1
T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FWdHhxcAorRFhDRkY4
UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUrTHFIQlgwbTF4T3Y0bmRX
VWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNHUEJveE5MSnlQeU9y
Qmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFDSkw4UWY0cXI4bFA1WG41
eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhSNWFzZVhxOAptdXdh
UCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdqRTMzNTlzZnpzOTRpN1BM
clhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlLVEVtZG9ybklZbVh4
Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2VVovRFBWUmxCbk0w
bFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUzSHZFS0ZscFc1egpy
Z0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1OT1dsczA1VW9jc241
TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2ZkVwMHBsay9xdjhS
R3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQUEKQ1hCSVdYTUFBQXNUQUFBTEV3
RUFtcHdZQUFBR1owbEVRVlJvQmUyYVVXOVZSUkRIZDY4dEVWSkxXMktDeENZK2lnUURvWWtLZmdK
OAo5TWtuRXZFZHZvQ21rUytBNzJwQ1FzS1RqL0lKQkNTQjFOU29QSnFVMUNha2dOaUFhZU5kZi8r
Wk9UMjM1OTdTRnU3bDZVeXk1K3pPCjJaMlpuWjNkblpsN2M1clBKZTBLU3NwcGhwNzdVMG1QcUQv
ZEhGVVJ5SnVZUko4RDlKa0c4NHo2UTk2OVgzczZOcXBqalhhaktTTGQKRUdRZjlSV0lPK21TenNM
MUJLMVp5aUdLaEZqbHVVU0hYeGh6bmZaVEV5T253K0RYUTdDTzllUXhFSjRqa0ZpUFFWREVsbTF3
S1oveQpQcGRLT2MzYmhiQVB6UWREVGJoOGsvZVZsUE1QMWlPbkk3UWZVTitnRE5aWTdsOHkxMHBL
a3d3Wlp5Q3pMbWNSNG12YXA0eHdTYjlDCjd5YnRoVlR5SDd6L0R2ekJsTXRSbUo1a3pHbnd4d04v
RjZHK1lzeDEyb2Y0TG9HZVVQcTExUkNvWGlLdHUxcWxmTWZqYzJvc1hiNkcKQUpmQjM2RU5tbUo5
ckZYWGhST1VOSWVBRjZIeEdTMlk1KytoY1Q3R3pmQ1diVzBWcWlGUVpiZ1BiVkRxL3N5QUR5ZzNH
UGNGNzNzbQpRTEpsRkNITlZMYlI1UzJCaEpPdFNiUEN1YzJsOUM3TmIybWZvZHlHMW9kQnB4S3Ft
b0tNWkJNMDMwbUtwQWE2di9NNENwZHZLQmVECndDek10VHdyNmdIVWhOUVNCWWVxcG1VL0NPcGVL
cDJQNlhDWmNzRnBkOTRETDE3aXFlVnpXcHBTTk1aQmpSdlJnbWF5Q2FOMWx6QnYKMDJlS2IreWd0
QmI5dHdvRHNnZjBUV1V0eGt3NURXZ2xiRW0weGNPWFhOcFUyU0tRdHZhYklGZFpjMnlHWlNxbW1V
dmczMkhnWDVUSApNYWlhUGMwZHdWbHFyR2lJVnNxWG5EWThuQmM4alhlMTdQTzUrQUdHM2JDYlV2
bVJEamRNeGRLTUNMazk3TWg5RngwNjBINExtdmRUCjd2N0VHNXZLbjJEbzJuMnlwMGV5UXMxQ2hn
aXd0WTI1R2JBUVdwNy9WQmtTaUpab0FzWURyUmhQSVNSRFNSMi9EdGdOZHVpZDhxMXQKdTBrR1hD
MlRCZ3dEc3RITW5PNUZQRGhHRW1lYjgxNUJlelBTa080bXdUbDdKczRaZ2UrbXNIbi9NcVJuSjJo
RExualo2Vy9VOTZlTwpYNVI4czVOMUVmUWRKTlYxb2Ezb29scmZvVDFFODBud0VLL0Y0QzF1MkpC
dWJWMlVSVWQ2dmhWc1I2R1o1b3ljaDNnYWIyU1FMSUU5CkViMjVtNnltRTlqUGhTYVo0YlJGZXlO
NExUaEo4eHo4SWdFeDYwaTdLRlZkOS9aSW4rcytaWGc2dUF4anJoRjNKWFJyZTlzUHFWSEsKVTk5
L0ZVOTVBWnNhR2lYcnZkSEdxQVh5OUdUbCtETzgvZFkyMU1nZTRpRmU0dW1nSzJSVFE3bzBBWE91
VkltVFc5V1J3VDQzRDNnNgp1QXkreS9DQkhVNmFsSDc3dWpYRmh5Ry9SRnZlaFFEdlVoQXlZTlNL
RG5TNXlWWEZWN1plb3pmcTZzTFdnZXdtbzZEZ2dBN0dhVk5kCk1ZZGNQdkFjYlRsZ2NweDhEbFNH
Q0tJNUdUekU2emdIc29JQmNadld3ZmdzMkY1eHB2akFBdmYwUnFFcCtWNWh5TUVyS1RJeHJwSmwK
SGdIdDd1TEc3OHA1eDQ0Nng1Qlkvck84eE1jbW52Vi82WWQ4ZHFlWjhiTkw5emNvTHNCdmp2ZGhl
SzFJUTVJdFRtYUZLa0taUTA0MQpUVkJlVTJWSUlGcWlDUmdQc1JkUGdXU0lBOGZEa1NQbXVXVkNG
ZlBrY01qTnM3TnJoWUcwWGh3MFZ1ZU8vS0Q3a0JMdE0vQlRXS1FOCnBRRFNnNHVJT3VTalBHQ0Fi
dnp6RERpR1MzQUIzQ3B0K2RWeTh1V3dhL24ySXB5MEw1dVo0ajNCK0QraC9XWFF2bTI4aktkRnMw
NDMKQk5JTWRQdHVNQmdnYmlvS2c4eTlsSkFlQnZrTUZRYkpWeEs0S1hxOTkxbHA4dzE2eUlDWGZE
SVJCcFZFdEFzUGdVZXh0WGNSQXVtVAppSXZSREFYMUtXNVNvS2c0cXJBOVh6aFFGTTMrUUJFa0VM
eDZKaVk5OVlDV1RtdXBqb2lvV2JET0ZuR3lJM0s1eW5mdENKMVR5OVNWCk9KREcvb21pbTF1NFpR
cTcxa0xwcTB4TXUwa1JCallUbXZFb1E3eTJpc0MyYithSGZOMTFlRzJmYkZpRStDMitQeS9aOEJI
ZjM0ZWgKbHVVdXhzdHUybnV5d2NiSFEzYWcrMFlCcEdZTTRVakgyQlh6dkhTTTllWXE0Z1MyUXkv
U01iNmI5cHlPTVdyeGNHMTVxQ1FQUU1zQQpINHI4OEl6YldleFljQWZQSWw4Wk1CZWxKNnk4cnlj
bmRwZXdHckJrSVV2ZnE4cU12STRRaWhwMERBd0dGM2lDUHBOMCtKZCtzaFZoCmQ0YXRGclZ6LzVI
MzZObjJnM2k5N0pLdG1WNWVXWTV4MEpJWmprZWJZOVFDU3h0dXdMN2NWYjB5M3piSDJOekt0VTFW
dFRiSDZMYXoKL2RPdFRINVVtMlBjWGt1OVg5b2NZNjgydHF1M09jYnROTlBFdTZQUjVoaWJlcW5i
Ylk2eDFzVmVhbTJPc2RaV20yT3NkVEc0MWpWMAptMlBzMTA2YlkrelhTWTFwYzR5MUxyeFdoZUp0
ampIT0ZFdlBLWS9VKzJlVU5zZElpbmZnSDVyYUhHUC9uK0w4ZDY4bFF2NVhtbVBVClh6Tkc5N2ZC
L3dGWmJnMDVFRU51TndBQUFBQkpSVTVFcmtKZ2dnPT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394919</attachid>
            <date>2020-03-30 08:25:40 -0700</date>
            <delta_ts>2020-03-30 11:51:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200330182537.patch</filename>
            <type>text/plain</type>
            <size>140033</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDExMiBAQAorMjAyMC0wMy0yMyAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BhaW50LXRpbWluZy8jZmlyc3QtY29udGVudGZ1bC1wYWludC4KKyAgICAgICAgQ3VycmVu
dGx5IG11dHVhbGx5IGV4Y2x1c2l2ZSB0byB2aXN1YWxseS1ub24tZW1wdHkgaGV1cmlzdGljcy4K
KworICAgICAgICBXaGVuIHRoZSBmcmFtZSBwYWludHMgb3IgZmx1c2hlcyB0aGUgY29tcG9zaXRp
bmcgc3RhdGUsIGl0IG1hcmtzIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgYXMgYSBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IHBlcmZvcm1hbmNlIGVudHJ5LgorCisgICAgICAgIFRlc3RzOiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
dmlzaWJpbGl0eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10ZXh0LWlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdpdGgtcnRsLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9maXJz
dC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5j
ZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sCisgICAgICAgICAg
ICAgICBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAorICAgICAgICAgICAg
ICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBT
b3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRU
aW1pbmcuaDogCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDoKKyAg
ICAgICAgICAgICAgICBBZGQgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNlLgor
CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFibGVk
IGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgUGFpbnRUaW1pbmdFbmFibGVkIHJ1bnRpbWUg
ZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJp
bmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNQYWludCBjb25zdCk6CisgICAgICAgICAgICAgICAgQWRk
IGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIHBhaW50IGVudHJpZXMuCisKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6CisgICAgICAgICAgICAgICAgQWRk
ICJwYWludCIgdG8gc3VwcG9ydGVkRW50cnlUeXBlcyB3aGVuIGluIGVsaWdpYmxlIGJyb3dzaW5n
IGNvbnRleHQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aXNDb250ZW50ZnVsIGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRWxlbWVudDo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVySFRNTENhbnZhczo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6Omhhc093blBhaW50YWJs
ZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck9iamVjdDo6Y29udGFpbnNQYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVmlkZW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlkZW86Omhh
c093blBhaW50YWJsZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJW
aWRlby5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSBjb25zdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aGFz
UGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R01vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR01vZGVsT2JqZWN0
OjpoYXNPd25QYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR01vZGVsT2JqZWN0Lmg6CisgICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciBj
b21wdXRpbmcgd2hldGhlciBlbGVtZW50cyBhcmUgY29udGVudGZ1bCAmIHBhaW50YWJsZS4KKwor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CitgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JU
aGlzRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzdXBwb3J0c1BhaW50VGlt
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bWFya1BhaW50VGltaW5nSWZOZWVk
ZWQpOgorICAgICAgICAgICAgICAgIE1hcmsgZmlyc3QtY29udGVudGZ1bC1wYWludCBvbmNlIHdo
ZW4gY29tcG9zaXRpbmcvcGFpbnRpbmcuCisKIDIwMjAtMDMtMzAgIEFudG9pbmUgUXVpbnQgIDxn
cmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBNYXJrIFBvaW50ZXIgRXZlbnRzIGFuZCBXZWIg
QW5pbWF0aW9ucyBmZWF0dXJlcyBhcyBjb21wbGV0ZWQgaW4gaHR0cHM6Ly93ZWJraXQub3JnL3N0
YXR1cy8KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOTM2LDYgKzkzNiw3
IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyQ2FsbGJhY2suaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbAorICAgIHBhZ2UvUGVyZm9y
bWFuY2VQYWludFRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZv
cm1hbmNlVGltaW5nLmlkbApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZp
c2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3Jr
aW5nIGNvcHkpCkBAIC05MjYsNiArOTI2LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQo
V2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCBcCisgICAgJChXZWJDb3JlKS9wYWdl
L1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5j
ZVNlcnZlclRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVRpbWlu
Zy5pZGwgXApJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMTk4LDYgKzMxOTgsNyBAQCBK
U1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKIEpT
UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmNwcAogSlNQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0LmNwcAorSlNQZXJmb3JtYW5jZVBhaW50VGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5jcHAKIEpTUGVyZm9y
bWFuY2VUaW1pbmcuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEz
ODAzLDYgKzEzODAzLDggQEAKIAkJQ0EwOTFEODYyM0NGOTA3ODAwQUQ0MzQ2IC8qIFN0eWxlSW1h
Z2VTZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVJbWFnZVNldC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBMDkxRDg5MjNDRjkwODgwMEFENDM0NiAvKiBTdHlsZUlt
YWdlU2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxlSW1hZ2VTZXQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0ExNjM1REMyMDcyRTc2OTAwRTdEMkNFIC8qIFJlZmVycmVyUG9saWN5
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZmVycmVyUG9saWN5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEy
NDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNEODI0
MDdFRENGMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBM0JGNjdCMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxBbmltYXRvci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1
MyAvKiBTY3JvbGxBbmltYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
Y3JvbGxBbmltYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTUyQkFFNTIz
RDBBRjE2MDBERTBCODQgLyogU3R5bGVDdXJzb3JJbWFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTdHlsZUN1cnNvckltYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIw
OTQ5LDYgKzIwOTUxLDggQEAKIAkJCQlBNUE5OTMzQTFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgKi8sCiAJCQkJQTVBOTkzM0IxRTM3RkFGRDAwNUI1
RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCAqLywKIAkJCQlBNUE5OTMzQzFF
MzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwgKi8sCisJ
CQkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCAq
LywKKwkJCQlDQTE5MzNEODI0MDdFRENGMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWlu
Zy5pZGwgKi8sCiAJCQkJODY1MTJFREIxNTRBMkFFRTAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuY3BwICovLAogCQkJCTg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8sCiAJCQkJODY1MTJFREQxNTRBMkFFRjAwQTkwNDI2
IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsICovLApJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3Bw
CShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZv
cm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSwxMSBAQAog
I2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgi
CiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1h
bmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1l
YXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcg
bmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+
JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkK
KyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNiArMTc5LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3VyZSkgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWluZykgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVNlcnZl
clRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXApJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw2ICs3MSw3IEBACiAjaW5jbHVkZSAi
T3ZlcmZsb3dFdmVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlT3Zlcmxh
eUNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgogI2luY2x1ZGUgIlByb2dy
ZXNzVHJhY2tlci5oIgogI2luY2x1ZGUgIlJlbmRlckVtYmVkZGVkT2JqZWN0LmgiCiAjaW5jbHVk
ZSAiUmVuZGVyRnVsbFNjcmVlbi5oIgpAQCAtOTgxLDYgKzk4Miw3IEBAIGJvb2wgRnJhbWVWaWV3
OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3IKICNlbmRpZgogCiAgICAgcmVuZGVyVmlldy0+Y29t
cG9zaXRvcigpLmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygmcm9vdEZyYW1lRm9yRmx1c2ggPT0g
bV9mcmFtZS5wdHIoKSk7CisgICAgbWFya1BhaW50VGltaW5nSWZOZWVkZWQoKTsKIAogICAgIHJl
dHVybiB0cnVlOwogfQpAQCAtNDE5MSw2ICs0MTkzLDM4IEBAIHZvaWQgRnJhbWVWaWV3Ojp3aWxs
UGFpbnRDb250ZW50cyhHcmFwaGkKICAgICBtX2lzUGFpbnRpbmcgPSB0cnVlOwogfQogCitib29s
IEZyYW1lVmlldzo6c3VwcG9ydHNQYWludFRpbWluZygpIGNvbnN0Cit7CisgICAgaWYgKCFSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnBhaW50VGltaW5nRW5hYmxlZCgp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gZnJhbWUoKS5pc01haW5GcmFt
ZSgpIAorICAgIHx8IGZyYW1lKCkuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS5jYW5BY2Nl
c3MoZnJhbWUoKS5tYWluRnJhbWUoKS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKTsKK30K
Kwordm9pZCBGcmFtZVZpZXc6Om1hcmtQYWludFRpbWluZ0lmTmVlZGVkKCkKK3sKKyAgICBpZiAo
bV9kaWRNYXJrRmlyc3RDb250ZW50ZnVsUGFpbnQpCisgICAgICAgIHJldHVybjsKKworICAgIGlm
IChtX2ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dE1pbGVzdG9uZUlzUGVuZGluZykKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaWYgKCFzdXBwb3J0c1BhaW50VGltaW5nKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGNvbnN0IGF1dG8qIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpOwor
ICAgIGNvbnN0IGF1dG8qIHdpbmRvdyA9IGRvY3VtZW50LT5kb21XaW5kb3coKTsKKyAgICBpZiAo
IXdpbmRvdykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFyZW5kZXJWaWV3KCktPmNvbnRh
aW5zUGFpbnRhYmxlQ29udGVudCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2RpZE1hcmtG
aXJzdENvbnRlbnRmdWxQYWludCA9IHRydWU7CisgICAgd2luZG93LT5wZXJmb3JtYW5jZSgpLnJl
cG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7Cit9CisKIHZvaWQgRnJhbWVWaWV3OjpkaWRQYWlu
dENvbnRlbnRzKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgSW50UmVjdCYgZGlydHlS
ZWN0LCBQYWludGluZ1N0YXRlJiBwYWludGluZ1N0YXRlKQogewogICAgIG1faXNQYWludGluZyA9
IGZhbHNlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCShyZXZpc2lvbiAyNTkxOTQpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC02NjAs
NiArNjYwLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBpblVwZGF0ZUVtYmVkZGVkT2JqZWN0cygp
IGNvbnN0IHsgcmV0dXJuIG1faW5VcGRhdGVFbWJlZGRlZE9iamVjdHM7IH0KIAorICAgIGJvb2wg
c3VwcG9ydHNQYWludFRpbWluZygpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzY3Jv
bGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRS
ZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KSBmaW5hbDsKICAgICB2
b2lkIHNjcm9sbENvbnRlbnRzU2xvd1BhdGgoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCkgZmlu
YWw7CkBAIC04MjIsNiArODI0LDkgQEAgcHJpdmF0ZToKICAgICB9OwogICAgIHZvaWQgb3ZlcnJp
ZGVWaWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKE92ZXJyaWRlVmlld3BvcnRTaXplKTsK
IAorICAgIHZvaWQgbWFya1BhaW50VGltaW5nSWZOZWVkZWQoKTsKKyAgICBib29sIG1fZGlkTWFy
a0ZpcnN0Q29udGVudGZ1bFBhaW50IHsgZmFsc2UgfTsKKwogICAgIHN0YXRpYyBNb25vdG9uaWNU
aW1lIHNDdXJyZW50UGFpbnRUaW1lU3RhbXA7IC8vIHVzZWQgZm9yIGRldGVjdGluZyBkZWNvZGVk
IHJlc291cmNlIHRocmFzaCBpbiB0aGUgY2FjaGUKIAogICAgIGNvbnN0IFJlZjxGcmFtZT4gbV9m
cmFtZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCShyZXZpc2lvbiAyNTkx
OTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKICNpbmNs
dWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2Vy
dmVyLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgogI2luY2x1ZGUgIlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVRpbWluZy5o
IgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVXNlclRpbWluZy5oIgpAQCAtMTI0LDYgKzEyNSw5IEBA
IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICAgICAgZW50cmll
cy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNZWFzdXJlcygpKTsKICAgICB9CiAKKyAg
ICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCkKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9m
aXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBzdGQ6OnNvcnQoZW50cmllcy5iZWdpbigpLCBl
bnRyaWVzLmVuZCgpLCBQZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRpbWVDb21wYXJlTGVzc1RoYW4p
OwogICAgIHJldHVybiBlbnRyaWVzOwogfQpAQCAtMTM1LDYgKzEzOSw5IEBAIFZlY3RvcjxSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicmVzb3VyY2UiKSkKICAgICAgICAgZW50cmllcy5hcHBl
bmRWZWN0b3IobV9yZXNvdXJjZVRpbWluZ0J1ZmZlcik7CiAKKyAgICBpZiAobV9maXJzdENvbnRl
bnRmdWxQYWludCAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJw
YWludCIpKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsK
KwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBw
ZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MoKSk7CkBAIC0xNTcsNiArMTY0LDkgQEAg
VmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybQogICAgICAgICB9CiAgICAg
fQogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYgKGVudHJ5VHlwZS5pc051bGwo
KSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJwYWludCIpKSAm
JiBuYW1lID09ICJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikKKyAgICAgICAgZW50cmllcy5hcHBl
bmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAg
ICAgICAgIGlmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoZW50cnlUeXBlLCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0
b3IobV91c2VyVGltaW5nLT5nZXRNYXJrcyhuYW1lKSk7CkBAIC0xODAsNiArMTkwLDEzIEBAIHZv
aWQgUGVyZm9ybWFuY2U6OnNldFJlc291cmNlVGltaW5nQnVmZmUKICAgICBtX3Jlc291cmNlVGlt
aW5nQnVmZmVyRnVsbEZsYWcgPSBmYWxzZTsKIH0KIAordm9pZCBQZXJmb3JtYW5jZTo6cmVwb3J0
Rmlyc3RDb250ZW50ZnVsUGFpbnQoKQoreworICAgIEFTU0VSVCghbV9maXJzdENvbnRlbnRmdWxQ
YWludCk7CisgICAgbV9maXJzdENvbnRlbnRmdWxQYWludCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1p
bmc6OmNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KG5vdygpKTsKKyAgICBxdWV1ZUVudHJ5KCpt
X2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKK30KKwogdm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3Vy
Y2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRpbWluZykKIHsKICAgICBBU1NFUlQo
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
LmgJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBjbGFzcyBMb2FkVGltaW5nOwogY2xh
c3MgUGVyZm9ybWFuY2VFbnRyeTsKIGNsYXNzIFBlcmZvcm1hbmNlTmF2aWdhdGlvbjsKIGNsYXNz
IFBlcmZvcm1hbmNlT2JzZXJ2ZXI7CitjbGFzcyBQZXJmb3JtYW5jZVBhaW50VGltaW5nOwogY2xh
c3MgUGVyZm9ybWFuY2VUaW1pbmc7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVz
b3VyY2VUaW1pbmc7CkBAIC03Nyw2ICs3OCw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkUmVz
b3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJik7CiAKKyAgICB2b2lkIHJlcG9ydEZpcnN0Q29u
dGVudGZ1bFBhaW50KCk7CisKICAgICB2b2lkIHJlbW92ZUFsbE9ic2VydmVycygpOwogICAgIHZv
aWQgcmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKICAg
ICB2b2lkIHVucmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXIm
KTsKQEAgLTEyMSw2ICsxMjQsNyBAQCBwcml2YXRlOgogCiAgICAgTW9ub3RvbmljVGltZSBtX3Rp
bWVPcmlnaW47CiAKKyAgICBSZWZQdHI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4gbV9maXJzdENv
bnRlbnRmdWxQYWludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXNlclRpbWluZz4gbV91c2VyVGlt
aW5nOwogCiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3Bl
cmZvcm1hbmNlVGltZWxpbmVUYXNrUXVldWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlRW50cnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VFbnRyeS5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDExIEBA
IE9wdGlvbmFsPFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IFBlcmZvcm0KICAgICAgICAgICAgIHJl
dHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpSZXNvdXJjZSk7CiAgICAgfQogCisgICAgaWYgKFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucGFpbnRUaW1pbmdFbmFibGVk
KCkpIHsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9PSAicGFpbnQiKQorICAgICAgICAgICAgcmV0
dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6OlBhaW50KTsKKyAgICB9CisKICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
aAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgICAgICBN
YXJrID0gMSA8PCAxLAogICAgICAgICBNZWFzdXJlID0gMSA8PCAyLAogICAgICAgICBSZXNvdXJj
ZSA9IDEgPDwgMywKKyAgICAgICAgUGFpbnQgPSAxIDw8IDQKICAgICB9OwogCiAgICAgdmlydHVh
bCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC02Miw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICBi
b29sIGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UmVzb3VyY2U7
IH0KICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYXJr
OyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6
TWVhc3VyZTsgfQorICAgIGJvb2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBU
eXBlOjpQYWludDsgfQogCiAgICAgc3RhdGljIGJvb2wgc3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFu
KGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYSwgY29uc3QgUmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+JiBiKQogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDE1ICsxMTMs
MzAgQEAgdm9pZCBQZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVyKCkKICAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZEZpcmVPYnNlcnZlckNhbGxiYWNrKCpjb250ZXh0KTsKIH0KIAot
VmVjdG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcygp
CitzdGF0aWMgYm9vbCBzdXBwb3J0c1BhaW50VGltaW5nKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIHsKKyAgICBpZiAoIWlzPERvY3VtZW50Pihjb250ZXh0
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byogdmlldyA9IGRvd25jYXN0PERv
Y3VtZW50Pihjb250ZXh0KS52aWV3KCk7CisgICAgcmV0dXJuIHZpZXcgJiYgdmlldy0+c3VwcG9y
dHNQYWludFRpbWluZygpOworfQorCitWZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5jZU9ic2VydmVy
OjpzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCit7
CisgICAgVmVjdG9yPFN0cmluZz4gZW50cnlUeXBlcyA9IHsKICAgICAgICAgLy8gRklYTUU6IDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xODQzNjM+IEFkZCBzdXBwb3J0IGZvciBOYXZpZ2F0aW9uIFRp
bWluZyBMZXZlbCAyCiAgICAgICAgIC8vICJuYXZpZ2F0aW9uIl9zLAogICAgICAgICAibWFyayJf
cywKLSAgICAgICAgIm1lYXN1cmUiX3MsCi0gICAgICAgICJyZXNvdXJjZSJfcworICAgICAgICAi
bWVhc3VyZSJfcwogICAgIH07CisKKyAgICBpZiAoc3VwcG9ydHNQYWludFRpbWluZyhjb250ZXh0
KSkKKyAgICAgICAgZW50cnlUeXBlcy5hcHBlbmQoInBhaW50Il9zKTsKKworICAgIGVudHJ5VHlw
ZXMuYXBwZW5kKCJyZXNvdXJjZSJfcyk7CisKKyAgICByZXR1cm4gZW50cnlUeXBlczsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmgJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihj
b250ZXh0LCBXVEZNb3ZlKGNhbGxiYWNrKSkpOwogICAgIH0KIAotICAgIHN0YXRpYyBWZWN0b3I8
U3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzKCk7CisgICAgc3RhdGljIFZlY3RvcjxTdHJpbmc+
IHN1cHBvcnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogCiAgICAgdm9p
ZCBkaXNhc3NvY2lhdGUoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlT2JzZXJ2ZXIuaWRsCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBA
CiBdIGludGVyZmFjZSBQZXJmb3JtYW5jZU9ic2VydmVyIHsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHZvaWQgb2JzZXJ2ZShQZXJmb3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKICAgICB2
b2lkIGRpc2Nvbm5lY3QoKTsKLSAgICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFy
cmF5PERPTVN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlczsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0
RXhlY3V0aW9uQ29udGV4dF0gc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxE
T01TdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXM7CiB9OwogCiBkaWN0aW9uYXJ5IFBlcmZvcm1h
bmNlT2JzZXJ2ZXJJbml0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQ
YWludFRpbWluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VQYWludFRpbWluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMg
UmVzZXJ2ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVyZm9y
bWFuY2VQYWludFRpbWluZyBmaW5hbCA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IGNyZWF0ZUZpcnN0Q29u
dGVudGZ1bFBhaW50KGRvdWJsZSB0aW1lU3RhbXApCisgICAgeworICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50
Il9zLCB0aW1lU3RhbXApKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgUGVyZm9ybWFuY2VQYWlu
dFRpbWluZyhjb25zdCBTdHJpbmcmIG5hbWUsIGRvdWJsZSB0aW1lU3RhbXApCisgICAgICAgIDog
UGVyZm9ybWFuY2VFbnRyeShuYW1lLCB0aW1lU3RhbXAsIHRpbWVTdGFtcCkKKyAgICB7CisgICAg
fQorCisgICAgQVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJw
YWludCJfczsgfQorICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFR5cGU6OlBh
aW50OyB9CisKKyAgICB+UGVyZm9ybWFuY2VQYWludFRpbWluZygpID0gZGVmYXVsdDsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihX
ZWJDb3JlOjpQZXJmb3JtYW5jZVBhaW50VGltaW5nKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShj
b25zdCBXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnkuaXNQ
YWludCgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwJKG5vbmV4aXN0ZW50KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lN
ZWRpYSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L3BhaW50LXRpbWluZy8KKwordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKwor
WworICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGFpbnRUaW1pbmcsCisgICAgRXhwb3NlZD0oV2luZG93
KSwKK10gaW50ZXJmYWNlIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgOiBQZXJmb3JtYW5jZUVudHJ5
IHsKK307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDkgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0VXNlclRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1VzZXJU
aW1pbmdFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCB1c2VyVGltaW5nRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNVc2VyVGltaW5nRW5hYmxlZDsgfQogCisgICAgdm9pZCBzZXRQ
YWludFRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1BhaW50VGltaW5nRW5hYmxl
ZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgcGFpbnRUaW1pbmdFbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc1BhaW50VGltaW5nRW5hYmxlZDsgfQorCiAgICAgYm9vbCBwZXJmb3JtYW5jZVRp
bWVsaW5lRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIHJlc291cmNlVGltaW5nRW5hYmxlZCgpIHx8
IHVzZXJUaW1pbmdFbmFibGVkKCk7IH0KIAogICAgIHZvaWQgc2V0U2hhZG93RE9NRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX2lzU2hhZG93RE9NRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQpAQCAt
NDI0LDYgKzQyNyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzTGlua1ByZWxvYWRFbmFibGVk
IHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pc0xpbmtQcmVmZXRjaEVuYWJsZWQgeyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9pc01lZGlhUHJlbG9hZGluZ0VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wg
bV9pc1BhaW50VGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzUmVzb3VyY2VU
aW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNVc2VyVGltaW5nRW5hYmxlZCB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQg
eyBmYWxzZSB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50
LmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjksNiArMzI5LDUwIEBAIFN0eWxlRGlm
ZmVyZW5jZSBSZW5kZXJFbGVtZW50OjphZGp1c3RTdHkKICAgICByZXR1cm4gZGlmZjsKIH0KIAor
Ym9vbCBSZW5kZXJFbGVtZW50Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQoKSBjb25zdAorewor
ICAgIGlmICghb3BhY2l0eSgpIHx8IGlzU1ZHSGlkZGVuQ29udGFpbmVyKCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGF1dG8gaGFzUG90ZW50aWFsbHlWaXNpYmxlUmVnaW9ucyA9IFsm
XSgpIHsKKyAgICAgICAgaWYgKHN0eWxlKCkudmlzaWJpbGl0eSgpICE9IFZpc2liaWxpdHk6OlZp
c2libGUpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgYXV0byBkb2N1bWVu
dFJlY3QgPSB2aWV3KCkuZG9jdW1lbnRSZWN0KCk7CisKKyAgICAgICAgaWYgKGF1dG8qIGN1cnJl
bnQgPSBlbGVtZW50KCkpCisgICAgICAgICAgICByZXR1cm4gY3VycmVudC0+Ym91bmRpbmdDbGll
bnRSZWN0KCkuaW50ZXJzZWN0cyhkb2N1bWVudFJlY3QpOworCisgICAgICAgIHJldHVybiBpc1Zp
c2libGVJbkRvY3VtZW50UmVjdChkb2N1bWVudFJlY3QpOworICAgIH07CisKKyAgICBpZiAoaXND
b250ZW50ZnVsKCkgJiYgaGFzUG90ZW50aWFsbHlWaXNpYmxlUmVnaW9ucygpKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgIGZvciAoY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJPYmplY3Qg
PSBmaXJzdENoaWxkKCk7IHJlbmRlck9iamVjdDsgcmVuZGVyT2JqZWN0ID0gcmVuZGVyT2JqZWN0
LT5uZXh0U2libGluZygpKSB7CisgICAgICAgIGlmIChyZW5kZXJPYmplY3QtPmNvbnRhaW5zUGFp
bnRhYmxlQ29udGVudCgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAg
cmV0dXJuIGZhbHNlOworfQorCitib29sIFJlbmRlckVsZW1lbnQ6OmlzQ29udGVudGZ1bCgpIGNv
bnN0Cit7CisgICAgaWYgKGhhc093blBhaW50YWJsZUNvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICBpZiAoc3R5bGUoKS5oYXNQYWludGFibGVDYWNoZWRCYWNrZ3JvdW5kSW1h
Z2UoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDogY2hp
bGRyZW5PZlR5cGU8UmVuZGVyT2JqZWN0PigqdGhpcykpIHsKKyAgICAgICAgaWYgKGlzPFJlbmRl
clRleHQ+KGNoaWxkKSAmJiAhZG93bmNhc3Q8UmVuZGVyVGV4dD4oY2hpbGQpLmNvbnRhaW5zT25s
eUhUTUxXaGl0ZXNwYWNlKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKIGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6Omhhc0ltbWVk
aWF0ZU5vbldoaXRlc3BhY2VUZXh0Q2hpbGRPckJvcmRlck9yT3V0bGluZSgpIGNvbnN0CiB7CiAg
ICAgZm9yIChhdXRvJiBjaGlsZCA6IGNoaWxkcmVuT2ZUeXBlPFJlbmRlck9iamVjdD4oKnRoaXMp
KSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJKHJldmlz
aW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEwMCw2ICsxMDAsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IHZvaWQgZGlydHlMaW5lc0Zyb21DaGFuZ2VkQ2hpbGQoUmVuZGVyT2JqZWN0JikgeyB9CiAKKyAg
ICB2aXJ0dWFsIGJvb2wgaGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CisKICAgICBib29sIGFuY2VzdG9yTGluZUJveERpcnR5KCkgY29uc3QgeyByZXR1cm4g
bV9hbmNlc3RvckxpbmVCb3hEaXJ0eTsgfQogICAgIHZvaWQgc2V0QW5jZXN0b3JMaW5lQm94RGly
dHkoYm9vbCBmID0gdHJ1ZSk7CiAKQEAgLTEzOSw2ICsxNDEsOCBAQCBwdWJsaWM6CiAgICAgYm9v
bCBpc1RyYW5zcGFyZW50KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5vcGFjaXR5KCkgPCAxLjBm
OyB9CiAgICAgZmxvYXQgb3BhY2l0eSgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkub3BhY2l0eSgp
OyB9CiAKKyAgICBib29sIGNvbnRhaW5zUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IGZpbmFsOwor
CiAgICAgYm9vbCB2aXNpYmxlVG9IaXRUZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS52
aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6VmlzaWJsZSAmJiBzdHlsZSgpLnBvaW50ZXJFdmVu
dHMoKSAhPSBQb2ludGVyRXZlbnRzOjpOb25lOyB9CiAKICAgICBib29sIGhhc0JhY2tncm91bmQo
KSBjb25zdCB7IHJldHVybiBzdHlsZSgpLmhhc0JhY2tncm91bmQoKTsgfQpAQCAtMzE2LDYgKzMy
MCw4IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBjb21wdXRl
Rmlyc3RMaW5lU3R5bGUoKSBjb25zdDsKICAgICB2b2lkIGludmFsaWRhdGVDYWNoZWRGaXJzdExp
bmVTdHlsZSgpOwogCisgICAgYm9vbCBpc0NvbnRlbnRmdWwoKSBjb25zdDsKKwogICAgIGJvb2wg
Y2FuRGVzdHJveURlY29kZWREYXRhKCkgZmluYWwgeyByZXR1cm4gIWlzVmlzaWJsZUluVmlld3Bv
cnQoKTsgfQogICAgIFZpc2libGVJblZpZXdwb3J0U3RhdGUgaW1hZ2VGcmFtZUF2YWlsYWJsZShD
YWNoZWRJbWFnZSYsIEltYWdlQW5pbWF0aW5nU3RhdGUsIGNvbnN0IEludFJlY3QqIGNoYW5nZVJl
Y3QpIGZpbmFsOwogICAgIHZvaWQgZGlkUmVtb3ZlQ2FjaGVkSW1hZ2VDbGllbnQoQ2FjaGVkSW1h
Z2UmKSBmaW5hbDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2Fu
dmFzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRN
TENhbnZhcy5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJIVE1MQ2FudmFzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsMTEgQEAg
UmVuZGVySFRNTENhbnZhczo6UmVuZGVySFRNTENhbnZhcyhIVE1MQwogewogfQogCitib29sIFJl
bmRlckhUTUxDYW52YXM6Omhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIHJl
dHVybiAhIWNhbnZhc0VsZW1lbnQoKS5yZW5kZXJpbmdDb250ZXh0KCk7Cit9CisKIEhUTUxDYW52
YXNFbGVtZW50JiBSZW5kZXJIVE1MQ2FudmFzOjpjYW52YXNFbGVtZW50KCkgY29uc3QKIHsKICAg
ICByZXR1cm4gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KG5vZGVGb3JOb25Bbm9ueW1vdXMo
KSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmgJ
KHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1M
Q2FudmFzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGVsZW1lbnQoKSBjb25zdCA9IGRlbGV0ZTsKICAgICBib29sIHJlcXVpcmVzTGF5ZXIoKSBj
b25zdCBvdmVycmlkZTsKICAgICBib29sIGlzQ2FudmFzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gdHJ1ZTsgfQorICAgIGJvb2wgaGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IG92ZXJy
aWRlOwogICAgIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biAiUmVuZGVySFRNTENhbnZhcyI7IH0KICAgICB2b2lkIHBhaW50UmVwbGFjZWQoUGFpbnRJbmZv
JiwgY29uc3QgTGF5b3V0UG9pbnQmKSBvdmVycmlkZTsKICAgICB2b2lkIGludHJpbnNpY1NpemVD
aGFuZ2VkKCkgb3ZlcnJpZGUgeyBjYW52YXNTaXplQ2hhbmdlZCgpOyB9CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMzOSw2ICszMzksMTEgQEAgdm9pZCBSZW5kZXJJbWFnZTo6dXBkYXRlSW50cmluc2ljU2l6ZUlm
TgogICAgIHNldEludHJpbnNpY1NpemUobmV3U2l6ZSk7CiB9CiAKK2Jvb2wgUmVuZGVySW1hZ2U6
Omhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiBtX2ltYWdlUmVz
b3VyY2UtPmNhY2hlZEltYWdlKCkgJiYgIW1faW1hZ2VSZXNvdXJjZS0+aW1hZ2VTaXplKDEpLmlz
RW1wdHkoKTsKK30KKwogdm9pZCBSZW5kZXJJbWFnZTo6dXBkYXRlSW5uZXJDb250ZW50UmVjdCgp
CiB7CiAgICAgLy8gUHJvcGFnYXRlIGNvbnRhaW5lciBzaXplIHRvIGltYWdlIHJlc291cmNlLgpJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgJKHJldmlzaW9uIDI1OTE5
NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC03Niw2ICs3Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRE
aXNwbGF5QnJva2VuSW1hZ2VJY29uKCkgY29uc3Q7CiAKKyAgICBib29sIGhhc093blBhaW50YWJs
ZUNvbnRlbnQoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGhhc05vbkJpdG1hcEltYWdlKCkg
Y29uc3Q7CiAKICAgICBib29sIGlzRWRpdGFibGVJbWFnZSgpIGNvbnN0OwpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
NzgsNiArMjc4LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzUmVuZGVyU2Nyb2xs
YmFyUGFydCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgY29u
dGFpbnNQYWludGFibGVDb250ZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwogICAgIGJv
b2wgaXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIGRvY3VtZW50KCku
ZG9jdW1lbnRFbGVtZW50KCkgPT0gJm1fbm9kZTsgfQogICAgIGJvb2wgaXNCb2R5KCkgY29uc3Qg
eyByZXR1cm4gbm9kZSgpICYmIG5vZGUoKS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmJvZHlUYWcp
OyB9CiAgICAgYm9vbCBpc0hSKCkgY29uc3QgeyByZXR1cm4gbm9kZSgpICYmIG5vZGUoKS0+aGFz
VGFnTmFtZShIVE1MTmFtZXM6OmhyVGFnKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dC5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNyArMTc5LDcgQEAgcHVibGlj
OgogICAgIExheW91dFVuaXQgdG9wT2ZGaXJzdFRleHQoKSBjb25zdDsKICAgICAKICAgICBib29s
IGNvbnRhaW5zT25seUhUTUxXaGl0ZXNwYWNlKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0
aCkgY29uc3Q7Ci0gICAgCisgICAgYm9vbCBjb250YWluc09ubHlIVE1MV2hpdGVzcGFjZSgpIGNv
bnN0IHsgcmV0dXJuIGNvbnRhaW5zT25seUhUTUxXaGl0ZXNwYWNlKDAsIHRleHQoKS5sZW5ndGgo
KSk7IH0gCiAgICAgYm9vbCBjYW5Vc2VTaW1wbGlmaWVkVGV4dE1lYXN1cmluZygpIGNvbnN0IHsg
cmV0dXJuIG1fY2FuVXNlU2ltcGxpZmllZFRleHRNZWFzdXJpbmc7IH0KIAogICAgIFZlY3Rvcjxz
dGQ6OnBhaXI8dW5zaWduZWQsIHVuc2lnbmVkPj4gZHJhZ2dlZENvbnRlbnRSYW5nZXNCZXR3ZWVu
T2Zmc2V0cyh1bnNpZ25lZCBzdGFydE9mZnNldCwgdW5zaWduZWQgZW5kT2Zmc2V0KSBjb25zdDsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkocmV2aXNpb24g
MjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtOTIsNiArOTIsMTQgQEAgdm9pZCBSZW5kZXJWaWRlbzo6aW50cmluc2lj
U2l6ZUNoYW5nZWQoKQogICAgIHVwZGF0ZUludHJpbnNpY1NpemUoKTsgCiB9CiAKK2Jvb2wgUmVu
ZGVyVmlkZW86Omhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIGlmICh2aWRl
b0VsZW1lbnQoKS5zaG91bGREaXNwbGF5UG9zdGVySW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIFJl
bmRlckltYWdlOjpoYXNPd25QYWludGFibGVDb250ZW50KCk7CisKKyAgICByZXR1cm4gdmlkZW9F
bGVtZW50KCkucmVhZHlTdGF0ZSgpID4gSFRNTE1lZGlhRWxlbWVudEVudW1zOjpIQVZFX01FVEFE
QVRBOworfQorCiBib29sIFJlbmRlclZpZGVvOjp1cGRhdGVJbnRyaW5zaWNTaXplKCkKIHsKICAg
ICBMYXlvdXRTaXplIHNpemUgPSBjYWxjdWxhdGVJbnRyaW5zaWNTaXplKCk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3
LDYgKzY3LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIGlzVmlkZW8oKSBjb25zdCBmaW5hbCB7IHJl
dHVybiB0cnVlOyB9CisgICAgYm9vbCBoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3Qgb3Zl
cnJpZGU7CiAKICAgICB2b2lkIHBhaW50UmVwbGFjZWQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0
UG9pbnQmKSBmaW5hbDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Zp
bGxMYXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L0ZpbGxMYXllci5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDAsNiArMzQwLDE1
IEBAIGJvb2wgRmlsbExheWVyOjpjb250YWluc0ltYWdlKFN0eWxlSW1hZ2UKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKK2Jvb2wgRmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSgpIGNvbnN0
Cit7CisgICAgZm9yIChhdXRvKiBsYXllciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5t
X25leHQuZ2V0KCkpIHsKKyAgICAgICAgaWYgKGxheWVyLT5tX2ltYWdlICYmIGxheWVyLT5tX2lt
YWdlLT5pc0xvYWRlZCgpICYmIGxheWVyLT5tX2ltYWdlLT5oYXNDYWNoZWRJbWFnZSgpKQorICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9v
bCBGaWxsTGF5ZXI6OmltYWdlc0FyZUxvYWRlZCgpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvKiBs
YXllciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5tX25leHQuZ2V0KCkpIHsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgJKHJldmlzaW9uIDI1
OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtMTQ1LDYgKzE0NSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgY29udGFp
bnNJbWFnZShTdHlsZUltYWdlJikgY29uc3Q7CiAgICAgYm9vbCBpbWFnZXNBcmVMb2FkZWQoKSBj
b25zdDsKKyAgICBib29sIGhhc0xvYWRlZENhY2hlZEltYWdlKCkgY29uc3Q7CiAgICAgYm9vbCBo
YXNJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmV4dCA/IGhhc0ltYWdlSW5BbnlMYXllcigpIDog
bV9pbWFnZTsgfQogICAgIGJvb2wgaGFzRml4ZWRJbWFnZSgpIGNvbnN0OwogICAgIGJvb2wgaGFz
T3BhcXVlSW1hZ2UoY29uc3QgUmVuZGVyRWxlbWVudCYpIGNvbnN0OwpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiAyNTkx
OTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NDQsNiArNDQ0LDIxIEBAIGJvb2wgUmVuZGVyU3R5bGU6OmRlc2Nl
bmRhbnRBZmZlY3RpbmdOb24KICAgICAgICAgJiYgbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+anVz
dGlmeUl0ZW1zID09IG90aGVyLm1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmp1c3RpZnlJdGVtczsK
IH0KIAorYm9vbCBSZW5kZXJTdHlsZTo6aGFzUGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdl
KCkgY29uc3QKK3sKKyAgICBpZiAoIWhhc0JhY2tncm91bmRJbWFnZSgpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBjb25zdCBGaWxsTGF5ZXImIGJhY2tncm91bmQgPSBiYWNrZ3JvdW5k
TGF5ZXJzKCk7CisgICAgaWYgKCFiYWNrZ3JvdW5kLmhhc0xvYWRlZENhY2hlZEltYWdlKCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChiYWNrZ3JvdW5kU2l6ZUxlbmd0aCgpLmlz
RW1wdHkoKSAmJiBiYWNrZ3JvdW5kU2l6ZVR5cGUoKSA9PSBGaWxsU2l6ZVR5cGU6OlNpemUpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOworfQorCiAjaWYgRU5BQkxF
KFRFWFRfQVVUT1NJWklORykKIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBjb21wdXRlRm9udEhh
c2goY29uc3QgRm9udENhc2NhZGUmIGZvbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQx
NSw2ICs0MTUsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgTGVuZ3RoU2l6ZSYgYmFja2dyb3VuZFNp
emVMZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2JhY2tncm91bmREYXRhLT5iYWNrZ3JvdW5kLnNp
emVMZW5ndGgoKTsgfQogICAgIEZpbGxMYXllciYgZW5zdXJlQmFja2dyb3VuZExheWVycygpIHsg
cmV0dXJuIG1fYmFja2dyb3VuZERhdGEuYWNjZXNzKCkuYmFja2dyb3VuZDsgfQogICAgIGNvbnN0
IEZpbGxMYXllciYgYmFja2dyb3VuZExheWVycygpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2dyb3Vu
ZERhdGEtPmJhY2tncm91bmQ7IH0KKyAgICBib29sIGhhc1BhaW50YWJsZUNhY2hlZEJhY2tncm91
bmRJbWFnZSgpIGNvbnN0OwogCiAgICAgU3R5bGVJbWFnZSogbWFza0ltYWdlKCkgY29uc3QgeyBy
ZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bWFzay5pbWFnZSgpOyB9CiAgICAgRmlsbFJl
cGVhdCBtYXNrUmVwZWF0WCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEZpbGxSZXBlYXQ+
KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPm1hc2sucmVwZWF0WCgpKTsgfQpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5j
cHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHTW9kZWxPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTgsNiArMTU4LDExIEBA
IHN0YXRpYyBib29sIGlzR3JhcGhpY3NFbGVtZW50KGNvbnN0IFJlbmQKICAgICByZXR1cm4gcmVu
ZGVyZXIuaXNTVkdTaGFwZSgpIHx8IHJlbmRlcmVyLmlzU1ZHVGV4dCgpIHx8IHJlbmRlcmVyLmlz
U1ZHSW1hZ2UoKSB8fCByZW5kZXJlci5lbGVtZW50KCktPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnVz
ZVRhZyk7CiB9CiAKK2Jvb2wgUmVuZGVyU1ZHTW9kZWxPYmplY3Q6Omhhc093blBhaW50YWJsZUNv
bnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiBpc0dyYXBoaWNzRWxlbWVudCgqdGhpcyk7Cit9
CisKIC8vIFRoZSBTVkcgYWRkRm9jdXNSaW5nUmVjdHMoKSBtZXRob2QgYWRkcyByZWN0cyBpbiBs
b2NhbCBjb29yZGluYXRlcyBzbyB0aGUgZGVmYXVsdCBhYnNvbHV0ZUZvY3VzUmluZ1F1YWRzCiAv
LyByZXR1cm5zIGluY29ycmVjdCB2YWx1ZXMgZm9yIFNWRyBvYmplY3RzLiBPdmVycmlkaW5nIHRo
aXMgbWV0aG9kIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgYWJzb2x1dGUgYm91bmRzLgogdm9pZCBS
ZW5kZXJTVkdNb2RlbE9iamVjdDo6YWJzb2x1dGVGb2N1c1JpbmdRdWFkcyhWZWN0b3I8RmxvYXRR
dWFkPiYgcXVhZHMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R01vZGVsT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTY5LDYgKzY5LDcgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIGJvb2wgaXNSZW5k
ZXJTVkdNb2RlbE9iamVjdCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKyAgICBib29s
IGhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdCBmaW5hbDsKIAogICAgIC8vIFRoaXMgbWV0
aG9kIHNob3VsZCBuZXZlciBiZSBjYWxsZWQsIFNWRyB1c2VzIGEgZGlmZmVyZW50IG5vZGVBdFBv
aW50IG1ldGhvZAogICAgIGJvb2wgbm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBI
aXRUZXN0UmVzdWx0JiwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVy
LCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRlc3RBY3Rpb24pIG92
ZXJyaWRlOwpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDMtMjMgIE5v
YW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1Ag
KGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSBydW50aW1lIGZsYWcgZm9yIHBhaW50LXRpbWluZyAocGFp
bnRUaW1pbmdFbmFibGVkKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAg
KFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJl
bmNlc0dldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGF0ZVByZWZlcmVuY2VzU3RvcmUpOgorCiAyMDIw
LTAzLTI5ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW0F1
dG9TaXppbmddIEJyaW5nIGJhY2sgdGhlIG9sZCBhdXRvLXNpemluZyBjb2RlIGFzIGEgZGVwcmVj
YXRlZCBjb2RlcGF0aCBmb3IgY29tcGF0aWJpbGl0eSByZWFzb25zCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTgz
OSw2ICs4MzksMTMgQEAgVXNlclRpbWluZ0VuYWJsZWQ6CiAgIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIkVuYWJsZSBVc2VyVGltaW5nIEFQSSIKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMKIAorUGFpbnRUaW1pbmdFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRl
ZmF1bHRWYWx1ZTogdHJ1ZQorICBodW1hblJlYWRhYmxlTmFtZTogIlBhaW50IFRpbWluZyIKKyAg
aHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFBhaW50IFRpbWluZyBBUEkiCisgIHdl
YmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisKIEJlYWNvbkFQSUVuYWJsZWQ6
CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gMjU5MTk0
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE4MTksNiArMTgxOSwxNiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRV
c2VyVGltaW5nRW5hYmxlZChXCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnVz
ZXJUaW1pbmdFbmFibGVkKCk7CiB9CiAKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5n
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCit7Cisg
ICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0UGFpbnRUaW1pbmdFbmFibGVkKGZsYWcpOwor
fQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVm
KS0+cGFpbnRUaW1pbmdFbmFibGVkKCk7Cit9CisKIHZvaWQgV0tQcmVmZXJlbmNlc1NldFJlc291
cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZs
YWcpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0UmVzb3VyY2VUaW1pbmdFbmFi
bGVkKGZsYWcpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlc1JlZlByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MDAsNiArNTAwLDEwIEBAIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5j
ZXNTZXRVc2VyVGltaW4KIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRVc2VyVGltaW5n
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIAogLy8gRGVmYXVsdHMgdG8gZmFsc2UKK1dLX0VY
UE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiwgYm9vbCBmbGFnKTsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRQYWludFRp
bWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CisKKy8vIERlZmF1bHRzIHRvIGZhbHNlCiBX
S19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0
UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMiw2ICsxMjIsNyBAQCB2b2lkIFdlYlNXQ29udGV4dE1h
bmFnZXJDb25uZWN0aW9uOjp1cGRhCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRDYWNoZUFQSUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdl
YlByZWZlcmVuY2VzS2V5OjpjYWNoZUFQSUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElFbmFibGVkKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6ZmV0Y2hBUElFbmFibGVkS2V5KCkp
KTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFVzZXJU
aW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6
dXNlclRpbWluZ0VuYWJsZWRLZXkoKSkpOworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZv
cktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFpbnRUaW1pbmdFbmFibGVkS2V5KCkpKTsKICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFJlc291cmNlVGltaW5n
RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlc291
cmNlVGltaW5nRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpmZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWRLZXko
KSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVz
dHJpY3RlZEhUVFBSZXNwb25zZUFjY2VzcyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OnJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3NLZXkoKSkpOwpJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAg
IEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBwcmVmZXJlbmNlIGtleSBmb3Ig
cGFpbnQgdGltaW5nLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tX
ZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHBh
aW50VGltaW5nRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRQYWludFRp
bWluZ0VuYWJsZWQ6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUu
aDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisKIDIwMjAtMDMtMjkgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgVGV4dEl0ZXJhdG9yOjpyYW5n
ZUZyb21Mb2NhdGlvbkFuZExlbmd0aCBvZmYgb2YgbGl2ZSByYW5nZXMKSW5kZXg6IFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjYw
LDYgKzI2MCw3IEBACiAjZGVmaW5lIFdlYktpdEF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZFByZWZl
cmVuY2VLZXkgQCJXZWJLaXRBdHRhY2htZW50RWxlbWVudEVuYWJsZWQiCiAjZGVmaW5lIFdlYktp
dEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRJbnRlcnNl
Y3Rpb25PYnNlcnZlckVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdE1lbnVJdGVtRWxlbWVudEVuYWJs
ZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVudUl0ZW1FbGVtZW50RW5hYmxlZCIKKyNkZWZpbmUg
V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFBhaW50VGltaW5n
RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0VXNlclRpbWluZ0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFJlc291cmNlVGltaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQiCiAjZGVmaW5l
IFdlYktpdE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0UHJlZmVyZW5j
ZUtleSBAIldlYktpdE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0IgpJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02ODMsNiArNjgzLDcgQEAg
KyAodm9pZClpbml0aWFsaXplCiAjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKICAg
ICAgICAgQE5PLCBXZWJLaXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5
LAogI2VuZGlmCisgICAgICAgIEBOTywgV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5j
ZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXks
CiAgICAgICAgIEBOTywgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwK
ICAgICAgICAgQE5PLCBXZWJLaXRNZWRpYVVzZXJHZXN0dXJlSW5oZXJpdHNGcm9tRG9jdW1lbnQs
CkBAIC0zMzA4LDYgKzMzMDksMTYgQEAgLSAodm9pZClzZXRVc2VyVGltaW5nRW5hYmxlZDooQk9P
TClmbGFnCiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRVc2VyVGlt
aW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKXBhaW50VGltaW5nRW5hYmxl
ZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFBhaW50VGltaW5n
RW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldFBhaW50VGltaW5nRW5hYmxl
ZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJL
aXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogLSAoQk9PTClyZXNvdXJj
ZVRpbWluZ0VuYWJsZWQKIHsKICAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJL
aXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUu
aAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjYxLDYgKzY2MSw3IEBA
IEBpbnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGUpCiBAcHJvcGVydHkgKG5vbmF0
b21pYykgQk9PTCBrZXlnZW5FbGVtZW50RW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBC
T09MIHVzZXJUaW1pbmdFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcmVzb3Vy
Y2VUaW1pbmdFbmFibGVkOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcGFpbnRUaW1pbmdF
bmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbGlua1ByZWxvYWRFbmFibGVkOwog
QHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbWVkaWFVc2VyR2VzdHVyZUluaGVyaXRzRnJvbURv
Y3VtZW50OwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgaXNTZWN1cmVDb250ZXh0QXR0cmli
dXRlRW5hYmxlZDsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0JKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzE5Niw2ICszMTk2LDcgQEAgLSAodm9p
ZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbgogCiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZChwcmVmZXJlbmNl
cy51c2VyVGltaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMucmVzb3VyY2VU
aW1pbmdFbmFibGVkKTsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldFBhaW50VGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5wYWludFRpbWluZ0VuYWJsZWQp
OwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1By
ZWxvYWRFbmFibGVkKHByZWZlcmVuY2VzLmxpbmtQcmVsb2FkRW5hYmxlZCk7CiAgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZWRpYVByZWxvYWRpbmdFbmFi
bGVkKHByZWZlcmVuY2VzLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0SXNTZWN1cmVDb250ZXh0QXR0cmlidXRl
RW5hYmxlZChwcmVmZXJlbmNlcy5pc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIz
IEBACisyMDIwLTAzLTIzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHByZWZlcmVuY2Uga2V5IGZv
ciBwYWludC10aW1pbmcuCisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAg
ICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuY3BwOgorICAg
ICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXND
aGFuZ2VkKToKKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzLmlkbDoKKyAg
ICAgICAgKiBJbnRlcmZhY2VzL1dlYktpdC5pZGw6CisgICAgICAgICAgICAgICAgVG91Y2hlZCB0
byB0cmlnZ2VyIGJ1aWxkLgorCiAyMDIwLTAzLTI5ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxl
LmNvbT4KIAogICAgICAgICBNb3ZlIFRleHRJdGVyYXRvcjo6cmFuZ2VGcm9tTG9jYXRpb25BbmRM
ZW5ndGggb2ZmIG9mIGxpdmUgcmFuZ2VzCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24gMjU5MTk0KQorKysg
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTE5Nyw2ICsxOTcsOCBAQAogCiAjZGVmaW5lIFdlYktpdFVzZXJUaW1pbmdF
bmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0VXNlclRpbWluZ0VuYWJsZWQiCiAKKyNkZWZpbmUg
V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0UGFpbnRUaW1pbmdF
bmFibGVkIgorCiAjZGVmaW5lIFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXkgIldlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZCIKIAogI2RlZmluZSBXZWJLaXRMaW5rUHJl
bG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWQiCkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAy
NTkxOTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMyNiw2ICszMjYsOCBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjppbml0
aWFsaXplRGVmYXVsdFNlCiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZT
VFIoV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5G
YWxzZSk7CiAKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0
UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CisKICAg
ICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0TGlua1ByZWxvYWRF
bmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKICAgICBDRkRpY3Rpb25h
cnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZFBy
ZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwpAQCAtNjQ3LDYgKzY0OSw4IEBAIEhSRVNV
TFQgV2ViUHJlZmVyZW5jZXM6OlF1ZXJ5SW50ZXJmYWNlKF8KICAgICAgICAgKnBwdk9iamVjdCA9
IHN0YXRpY19jYXN0PElXZWJQcmVmZXJlbmNlc1ByaXZhdGU3Kj4odGhpcyk7CiAgICAgZWxzZSBp
ZiAoSXNFcXVhbEdVSUQocmlpZCwgSUlEX0lXZWJQcmVmZXJlbmNlc1ByaXZhdGU4KSkKICAgICAg
ICAgKnBwdk9iamVjdCA9IHN0YXRpY19jYXN0PElXZWJQcmVmZXJlbmNlc1ByaXZhdGU4Kj4odGhp
cyk7CisgICAgZWxzZSBpZiAoSXNFcXVhbEdVSUQocmlpZCwgSUlEX0lXZWJQcmVmZXJlbmNlc1By
aXZhdGU5KSkKKyAgICAgICAgKnBwdk9iamVjdCA9IHN0YXRpY19jYXN0PElXZWJQcmVmZXJlbmNl
c1ByaXZhdGU5Kj4odGhpcyk7CiAgICAgZWxzZSBpZiAoSXNFcXVhbEdVSUQocmlpZCwgQ0xTSURf
V2ViUHJlZmVyZW5jZXMpKQogICAgICAgICAqcHB2T2JqZWN0ID0gdGhpczsKICAgICBlbHNlCkBA
IC0yNDE0LDYgKzI0MTgsMjAgQEAgSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6cmVzb3VyY2VUaW1p
bmdFbgogICAgIHJldHVybiBTX09LOwogfQogCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRQ
YWludFRpbWluZ0VuYWJsZWQoQk9PTCBlbmFibGVkKQoreworICAgIHNldEJvb2xWYWx1ZShXZWJL
aXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LCBlbmFibGVkKTsKKyAgICByZXR1cm4g
U19PSzsKK30KKworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6cGFpbnRUaW1pbmdFbmFibGVkKF9P
dXRfIEJPT0wqIGVuYWJsZWQpCit7CisgICAgaWYgKCFlbmFibGVkKQorICAgICAgICByZXR1cm4g
RV9QT0lOVEVSOworICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KFdlYktpdFBhaW50VGlt
aW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpOworICAgIHJldHVybiBTX09LOworfQorCiBIUkVTVUxU
IFdlYlByZWZlcmVuY2VzOjpzZXJ2ZXJUaW1pbmdFbmFibGVkKF9PdXRfIEJPT0wqIGVuYWJsZWQp
CiB7CiAgICAgaWYgKCFlbmFibGVkKQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
UHJlZmVyZW5jZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQ
cmVmZXJlbmNlcy5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJQcmVmZXJlbmNlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9CU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCi1j
bGFzcyBXZWJQcmVmZXJlbmNlcyBmaW5hbCA6IHB1YmxpYyBJV2ViUHJlZmVyZW5jZXMsIHB1Ymxp
YyBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOCB7CitjbGFzcyBXZWJQcmVmZXJlbmNlcyBmaW5hbCA6
IHB1YmxpYyBJV2ViUHJlZmVyZW5jZXMsIHB1YmxpYyBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOSB7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYlByZWZlcmVuY2VzKiBjcmVhdGVJbnN0YW5jZSgpOwog
cHJvdGVjdGVkOgpAQCAtMzA4LDYgKzMwOCwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIGFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoX091dF8g
Qk9PTCopOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRBbGxvd1Rv
cE5hdmlnYXRpb25Ub0RhdGFVUkxzKEJPT0wpOwogCisgICAgLy8gSVdlYlByZWZlcmVuY2VzUHJp
dmF0ZTkKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcGFpbnRUaW1pbmdF
bmFibGVkKF9PdXRfIEJPT0wqKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgc2V0UGFpbnRUaW1pbmdFbmFibGVkKEJPT0wpOworCiAgICAgLy8gV2ViUHJlZmVyZW5jZXMK
IAogICAgIC8vIFRoaXMgbWV0aG9kIGFjY2Vzc2VzIGEgZGlmZmVyZW50IHByZWZlcmVuY2Uga2V5
IHRoYW4gZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZC4KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YlZpZXcuY3BwCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTE4MSw3ICs1MTgxLDcgQEAgSFJFU1VMVCBX
ZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQogICAgIHNldHRpbmdzLnNldFNob3VsZERp
c3BsYXlUZXh0RGVzY3JpcHRpb25zKGVuYWJsZWQpOwogI2VuZGlmCiAKLSAgICBDT01QdHI8SVdl
YlByZWZlcmVuY2VzUHJpdmF0ZTg+IHByZWZzUHJpdmF0ZSB7IFF1ZXJ5LCBwcmVmZXJlbmNlcyB9
OworICAgIENPTVB0cjxJV2ViUHJlZmVyZW5jZXNQcml2YXRlOT4gcHJlZnNQcml2YXRlIHsgUXVl
cnksIHByZWZlcmVuY2VzIH07CiAgICAgaWYgKHByZWZzUHJpdmF0ZSkgewogICAgICAgICBociA9
IHByZWZzUHJpdmF0ZS0+bG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRoKCZzdHIpOwogICAgICAgICBp
ZiAoRkFJTEVEKGhyKSkKQEAgLTUyODMsNiArNTI4MywxMSBAQCBIUkVTVUxUIFdlYlZpZXc6Om5v
dGlmeVByZWZlcmVuY2VzQ2hhbmdlCiAgICAgICAgIHJldHVybiBocjsKICAgICBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFVzZXJUaW1pbmdFbmFibGVkKCEhZW5h
YmxlZCk7CiAKKyAgICBociA9IHByZWZzUHJpdmF0ZS0+cGFpbnRUaW1pbmdFbmFibGVkKCZlbmFi
bGVkKTsKKyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJuIGhyOworICAgIFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1pbmdFbmFibGVk
KCEhZW5hYmxlZCk7CisKICAgICBociA9IHByZWZzUHJpdmF0ZS0+cmVzb3VyY2VUaW1pbmdFbmFi
bGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhyOwpJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXMu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdl
YlByZWZlcmVuY2VzLmlkbAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiAKICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZh
Y2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0yNjYsMyArMjY2LDEwIEBAIGludGVyZmFjZSBJV2ViUHJlZmVy
ZW5jZXNQcml2YXRlOCA6IElXZWIKICAgICBIUkVTVUxUIGFsbG93VG9wTmF2aWdhdGlvblRvRGF0
YVVSTHMoW291dCwgcmV0dmFsXSBCT09MKiBlbmFibGVkKTsKICAgICBIUkVTVUxUIHNldEFsbG93
VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoW2luXSBCT09MIGVuYWJsZWQpOwogfQorCitbdXVpZChF
NTI0ODVCQy1DMDM1LTQ0MDktQUUyQS05RjZGMEMzQURFNzgpXQoraW50ZXJmYWNlIElXZWJQcmVm
ZXJlbmNlc1ByaXZhdGU5IDogSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTgKK3sKKyAgICBIUkVTVUxU
IHBhaW50VGltaW5nRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKKyAgICBIUkVTVUxUIHNl
dFBhaW50VGltaW5nRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7Cit9CkluZGV4OiBTb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL1dlYktpdC5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsCShyZXZpc2lvbiAyNTkx
OTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL1dlYktpdC5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBjcHBfcXVvdGUoIi8qIikKLWNw
cF9xdW90ZSgiICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAy
MDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4iKQorY3BwX3F1b3RlKCIgKiBDb3B5
cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTUsIDIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiIpCiBjcHBfcXVvdGUoIiAqIikKIGNwcF9xdW90ZSgi
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0IikKIGNwcF9xdW90ZSgiICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIikKSW5kZXg6IFRvb2xzL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE5NCkK
KysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDIw
LTAzLTIzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBs
ZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHByZWZlcmVuY2Uga2V5IGZvciBwYWludC10
aW1pbmcuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06
CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAocmVz
ZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVy
OjpyZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKwogMjAyMC0wMy0yOCAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JF
U1NJT04ocjI1Nzk2MykgVUkgcHJvY2VzcyBjcmFzaGVzIHdoZW4gc2V0dGluZyBuYXZpZ2F0aW9u
IGRlbGVnYXRlIGluc2lkZSBuYXZpZ2F0aW9uIGRlbGVnYXRlIGNhbGxiYWNrcwpJbmRleDogVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMjU5MTk0
KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDA0LDYgKzEwMDQsNyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVu
Y2VzVG9Db25zaXN0CiAgICAgW3ByZWZlcmVuY2VzIHNldE1vZGVybk1lZGlhQ29udHJvbHNFbmFi
bGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFJlc291cmNlVGltaW5nRW5hYmxlZDpZRVNd
OwogICAgIFtwcmVmZXJlbmNlcyBzZXRVc2VyVGltaW5nRW5hYmxlZDpZRVNdOworICAgIFtwcmVm
ZXJlbmNlcyBzZXRQYWludFRpbWluZ0VuYWJsZWQ6WUVTXTsKIAogICAgIFtwcmVmZXJlbmNlcyBz
ZXRDYWNoZUFQSUVuYWJsZWQ6Tk9dOwogICAgIHByZWZlcmVuY2VzLm1lZGlhQ2FwYWJpbGl0aWVz
RW5hYmxlZCA9IFlFUzsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVy
VHJlZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5k
ZXJUcmVlLmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvd2lu
L0R1bXBSZW5kZXJUcmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODEzLDcgKzgxMyw3IEBAIHN0
YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3QKIAogICAgIHByZWZlcmVuY2Vz
LT5zZXRBdXRvc2F2ZXMoRkFMU0UpOwogCi0gICAgQ09NUHRyPElXZWJQcmVmZXJlbmNlc1ByaXZh
dGU4PiBwcmVmc1ByaXZhdGUoUXVlcnksIHByZWZlcmVuY2VzKTsKKyAgICBDT01QdHI8SVdlYlBy
ZWZlcmVuY2VzUHJpdmF0ZTk+IHByZWZzUHJpdmF0ZShRdWVyeSwgcHJlZmVyZW5jZXMpOwogICAg
IEFTU0VSVChwcmVmc1ByaXZhdGUpOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0RnVsbFNjcmVlbkVu
YWJsZWQoVFJVRSk7CiAKQEAgLTkwNyw3ICs5MDcsNyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlBy
ZWZlcmVuY2VzVG9Db25zaXN0CiAKIHN0YXRpYyB2b2lkIHNldFdlYlByZWZlcmVuY2VzRm9yVGVz
dE9wdGlvbnMoSVdlYlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcywgY29uc3QgVGVzdE9wdGlvbnMm
IG9wdGlvbnMpCiB7Ci0gICAgQ09NUHRyPElXZWJQcmVmZXJlbmNlc1ByaXZhdGU4PiBwcmVmc1By
aXZhdGUgeyBRdWVyeSwgcHJlZmVyZW5jZXMgfTsKKyAgICBDT01QdHI8SVdlYlByZWZlcmVuY2Vz
UHJpdmF0ZTk+IHByZWZzUHJpdmF0ZSB7IFF1ZXJ5LCBwcmVmZXJlbmNlcyB9OwogCiAgICAgcHJl
ZnNQcml2YXRlLT5zZXRXZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb25FbmFibGVkKG9wdGlvbnMu
ZW5hYmxlV2ViQW5pbWF0aW9uc0NTU0ludGVncmF0aW9uKTsKICAgICBwcmVmc1ByaXZhdGUtPnNl
dE1lbnVJdGVtRWxlbWVudEVuYWJsZWQob3B0aW9ucy5lbmFibGVNZW51SXRlbUVsZW1lbnQpOwpA
QCAtOTIxLDYgKzkyMSw3IEBAIHN0YXRpYyB2b2lkIHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9w
dGkKICAgICBwcmVmc1ByaXZhdGUtPnNldEFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMob3B0
aW9ucy5hbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKTsKICAgICBwcmVmZXJlbmNlcy0+c2V0
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChvcHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24pOwogICAg
IHByZWZlcmVuY2VzLT5zZXRVc2VzUGFnZUNhY2hlKG9wdGlvbnMuZW5hYmxlQmFja0ZvcndhcmRD
YWNoZSk7CisgICAgcHJlZnNQcml2YXRlLT5zZXRQYWludFRpbWluZ0VuYWJsZWQoVFJVRSk7CiB9
CiAKIHN0YXRpYyBTdHJpbmcgYXBwbGljYXRpb25JZCgpCkluZGV4OiBUb29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzMSw2
ICs5MzEsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2VzVG9DCiAgICAg
V0tQcmVmZXJlbmNlc1NldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1
ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChwcmVmZXJlbmNl
cywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbmdFbmFibGVkKHByZWZlcmVu
Y2VzLCB0cnVlKTsKKyAgICBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKHByZWZl
cmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxl
ZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldE1lZGlhUGxheWJhY2tB
bGxvd3NJbmxpbmUocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRJbmxp
bmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZShwcmVmZXJlbmNlcywg
ZmFsc2UpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5MTk0KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMjAtMDMtMjMgIE5vYW0gUm9z
ZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGRlZCB0ZXN0cyBmb3Igc29tZSBmaXJzdC1jb250ZW50ZnVsLXBhaW50IChG
Q1ApIHVzZS1jYXNlcy4KKworICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmct
YXBpcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wYWlu
dC10aW1pbmctYXBpcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVz
b3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanM6IEFkZGVkLgorICAgICAgICAgICAgICAgIFRlc3Qg
ZXhpc3RlbmNlIG9mIHBhaW50IHRpbWluZyBBUEkgb24gdGhlIHdpbmRvdyBvYmplY3QuCisKKyAg
ICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVu
dGZ1bC1wYWludC1mcmFtZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBp
L2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtd2l0aC13b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdv
cmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2Zj
cC1zdWJmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3Vy
Y2VzL3dvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgICAgICAgICBUZXN0IHRoYXQgRkNQIGlz
IG5vdCBhdmFpbGFibGUgZm9yIGNyb3NzLW9yaWdpbiBmcmFtZXMgYW5kIHdvcmtlcnMuCisKKyAg
ICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVu
dGZ1bC1wYWludC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFw
aS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpz
OiBBZGRlZC4KKyAgICAgICAgKGFzeW5jIHdhaXRGb3JGQ1ApOgorICAgICAgICAgICAgICAgIFRl
c3QgdGhhdCBwZXJmb3JtYW5jZSBvYnNlcnZlcnMgYXJlIGNhbGxlZCBmb3IgRkNQLgorCiAyMDIw
LTAzLTMwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRh
dGUgY3NzL3NlbGVjdG9ycyBXUFQgdGVzdHMKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwkocmV2aXNpb24gMjU5MTk0KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDc4IEBACisyMDIwLTAzLTIzICBOb2FtIFJv
c2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJz
dCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW1wb3J0ZWQgdGVzdC1zdWl0ZSBmcm9tIHczYyB0byBjb3ZlciBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IGNhc2VzLgorICAgICAgICBUaGUgZmNwLW9ubHkgY2FzZXMgYXJlIGlt
cG9ydGVkLCB3aGlsZSB0aGUgb3RoZXIgb25lcyBhcmUgbm90IHNpbmNlIFdlYktpdCBkb2VzIG5v
dCBzdXBwb3J0IGZpcnN0LXBhaW50LgorCisgICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBl
Y3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3Jv
dW5kLXNpemUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmct
aW1hZ2Utc2V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNj
ZW5kYW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtM2Qtcm90YXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0
eS1kZXNjZW5kYW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFj
aXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2Yt
Ym91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNs
YXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
ZGlzcGxheS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC1pbWFnZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC10ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtdmlzaWJpbGl0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBo
aWMtcHNldWRvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atdmlk
ZW8tZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atdmlk
ZW8tcG9zdGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0
ZXNwYWNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2ZzogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmc6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2Vz
L3N1YmZyYW1lLXBhaW50aW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJj
ZXMvdXRpbHMuanM6IEFkZGVkLgorICAgICAgICAod2FpdFRpbWUpOgorICAgICAgICAoYXN5bmMg
YXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCk6CisgICAgICAgIChhc3luYyBhc3NlcnRGaXJz
dENvbnRlbnRmdWxQYWludCk6CisgICAgICAgICh0ZXN0X2ZjcCk6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2c6IEFkZGVk
LgorCiAyMDIwLTAzLTMwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBVcGRhdGUgY3NzL3NlbGVjdG9ycyBXUFQgdGVzdHMKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9u
cy5qc29uCShyZXZpc2lvbiAyNTkxOTQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVz
b3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgkod29ya2luZyBjb3B5KQpAQCAtMTMsNiAr
MTMsOCBAQAogICAgICJjc3MvZ2VvbWV0cnkiOiAiaW1wb3J0IiwgCiAgICAgImNzcy9zdXBwb3J0
IjogImltcG9ydCIsIAogICAgICJjdXN0b20tZWxlbWVudHMiOiAiaW1wb3J0IiwgCisgICAgInBh
aW50LXRpbWluZy8iOiAiaW1wb3J0IiwgCisgICAgInBhaW50LXRpbWluZy9mY3Atb25seSI6ICJp
bXBvcnQiLCAKICAgICAic2hhZG93LWRvbSI6ICJpbXBvcnQiLCAKICAgICAidG9vbHMiOiAiaW1w
b3J0IiwgCiAgICAgIndlYi1hbmltYXRpb25zIjogImltcG9ydCIsIApAQCAtMzE5LDcgKzMyMSw4
IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9vcmllbnRhdGlvbi1ldmVudCI6ICJza2lwIiwg
CiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9vcmllbnRhdGlvbi1zZW5zb3IiOiAic2tpcCIsIAog
ICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGFnZS12aXNpYmlsaXR5IjogInNraXAiLCAKLSAgICAi
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZyI6ICJza2lwIiwgCisgICAgIndlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkiOiAiaW1wb3J0IiwgCisgICAgIndlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzIjogImltcG9ydCIsIAogICAgICJ3
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1oYW5kbGVyIjogInNraXAiLCAKICAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtbWV0aG9kLWJhc2ljLWNhcmQiOiAic2tpcCIsIAogICAgICJ3
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1tZXRob2QtaWQiOiAic2tpcCIsIApJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gYmFja2dyb3VuZCBzaXplLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6
ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBiYWNrZ3JvdW5kIHNp
emU8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAg
ICAgICBiYWNrZ3JvdW5kLXNpemU6IDAgMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNs
YXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRm
dWwgeworICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsKKyAgICB9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBzaXplLiIpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldC4g
CisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWJnLWltYWdlLXNldC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRl
c3Q6IEZDUCBkdWUgdG8gYmFja2dyb3VuZCBpbWFnZSBpbiBpbWFnZS1zZXQ8L3RpdGxlPgorPHN0
eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0
ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIGJhY2tn
cm91bmQtaW1hZ2U6IC13ZWJraXQtaW1hZ2Utc2V0KHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5w
bmcpIDF4KTsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2Utc2V0KHVybCguLi9yZXNv
dXJjZXMvY2lyY2xlcy5wbmcpIDF4KTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4i
PjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyBkdWUgdG8gYmFja2dyb3VuZCBpbWFnZSBpbiBpbWFnZS1zZXQuIik7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3Rl
cHMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10
d28tc3RlcHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQ
QVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZm9yIGJhY2tncm91bmQgaW1hZ2Ugb25s
eSB3aGVuIHZpc2libGUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBz
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIGZpcmUgZm9y
IGJhY2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGU8L3RpdGxlPgorPHN0eWxlPgorICAg
ICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgYW5kIHByZUZDUCBjbGFzc2VzIGFyZSBkZWZpbmVk
IGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5wcmVGQ1AgeworICAgICAgICB2aXNp
YmlsaXR5OiBoaWRkZW47CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCwgICNtYWluLnBy
ZUZDUCB7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xl
cy5wbmcpOworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB2aXNpYmls
aXR5OiB2aXNpYmxlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8
c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGZvciBi
YWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxlLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+
CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENhbnZhcyBzaG91bGQg
Y291bnQgYXMgY29udGVudGZ1bCB3aGVuIGNvbnRleHQgaXMgY3JlYXRlZCAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWNhbnZhcy1jb250ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZh
cy1jb250ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IHdoZW4gY2FudmFzIGNvbnRleHQgaXMgY3JlYXRlZDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGNhbnZhcyBpZD0iY2Fu
dmFzIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvY2FudmFzPgorPHNjcmlwdD4KKyAgcHJvbWlz
ZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAg
IGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBy
KSk7CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIGNvbnN0
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYW52YXMnKTsKKyAgICBjb25zdCBj
b250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CisgICAgY29udGV4dC5maWxsUmVjdCgw
LCAwLCAxMDAsIDEwMCk7CisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsK
KyAgfSwgJ0NhbnZhcyBzaG91bGQgY291bnQgYXMgY29udGVudGZ1bCB3aGVuIGNvbnRleHQgaXMg
Y3JlYXRlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdy
YWRpZW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGll
bnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEdy
YWRpZW50cyBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwgCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1ncmFkaWVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+
UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgbm90IGZpcmUgd2l0aCBn
cmFkaWVudC1vbmx5IGJhY2tncm91bmRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7Cisg
ICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFj
a2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgb3JhbmdlLCBibHVlKTsK
KyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0
aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cu
UGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7
CisgICAgICBjb25zdCBtYWluID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW4nKTsKKyAg
ICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQn
LCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0s
ICAnR3JhZGllbnRzIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bCcpOworPC9zY3JpcHQ+
Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90
YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1p
bnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4dAorCitQQVNTIEZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHJvdGF0aW5n
IGludG8gdmlldy4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRl
c2NlbmRhbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJv
dGF0ZS1kZXNjZW5kYW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQg
VGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gM2QgcmV2ZWFsaW5nIG9mIGRlc2NlbmRhbnRzPC90aXRs
ZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVs
YXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDQ1ZGVn
KTsKKyAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKKyAgICB9CisKKyAgICAv
KgorICAgICAgIFRoaXMgdGVzdHMgdGhhdCBnaXZlbiBtdWx0aXBsaWNhdGlvbiBlZmZlY3Qgb2Yg
M2QgdHJhbnNmb3JtcyBvbiBib3VuZGluZyByZWN0LAorICAgICAgIEFuIGVsZW1lbnQgY291bnRz
IGFzIGNvbnRlbnRmdWwvcGFpbnRhYmxlIG9ubHkgd2hlbiBpdHMgYm91bmRpbmcgcmVjdCBpcyB0
cnVseSBub24tZW1wdHkgKi8KKyAgICAjY2hpbGQgeworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0
ZVgoNDVkZWcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBp
biB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRy
YW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxk
aXYgaWQ9ImNoaWxkIj5UZXh0PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3Ao
IkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5n
IHJvdGF0aW5nIGludG8gdmlldy4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gM2Qgcm90YXRpb24gaW50byB2aWV3LiAKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQ
YWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXc8L3RpdGxl
PgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogcm90
YXRlWSg5MGRlZyk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAw
OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2Zj
cCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTog
bm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRleHQ8L2Rpdj4KKzxzY3Jp
cHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIDNk
IHJvdGF0aW9uIGludG8gdmlldy4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IGR1ZSB0byBzY2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1p
bnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNTIEZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcgdHJhbnNpdGlvbi4g
CisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlv
bi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBpbiB0cmFu
c2l0aW9uPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBw
eDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICB0
cmFuc2Zvcm06IHNjYWxlKDApOworICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTBzOwor
ICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICB9CisKKyAg
ICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLwor
ICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOworICAg
IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMu
anMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+VEVYVDwvZGl2PgorPHNjcmlwdD4KKyAgICB0
ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIHJldmVhbGVkIGR1cmlu
ZyB0cmFuc2l0aW9uLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS1zY2FsZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtc2NhbGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBG
Q1AgZHVlIHRvIHNjYWxlIGNoYW5nZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAg
ICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6
IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKKyAgICAgICAgcG9zaXRpb246IHJl
bGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgu
Li9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xh
c3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1
bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9
Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBw
YWludCBmaXJlcyBkdWUgdG8gc2NhbGUgYmVjb21pbmcgcG9zaXRpdmUuIikKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitJTlZJU0lCTEUKKworUEFT
UyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNv
bWluZyB2aXNpYmxlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBzdGlsbCBmaXJlIGZvciBpbnZpc2li
bGUgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjog
cmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOworICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAw
LCAwKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB2aXNpYmls
aXR5OiB2aXNpYmxlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgSU5W
SVNJQkxFCis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIikKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVz
Y2VuZGFudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkt
ZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9w
YWNpdHktZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRz
IGFuY2VzdG9yIGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4gCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS1kZXNjZW5kYW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNp
dHktZGVzY2VuZGFudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6
IEZDUCBkdWUgdG8gYW5jZXN0b3Igb3BhY2l0eTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
IGxlZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7
CisgICAgfQorCisgICAgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAg
ICAvKiBjb250ZW50ZnVsIGFuZCBpbnRlcm1lZGlhdGUgY2xhc3NlcyBhcmUgZGVmaW5lZCBpbiB0
ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCAjY2hpbGQgeworICAgICAg
ICBvcGFjaXR5OiAxOworICAgIH0KKworICAgICNtYWluLmludGVybWVkaWF0ZSAjY2hpbGQgewor
ICAgICAgICBvcGFjaXR5OiAxOworICAgIH0KKworICAgICNtYWluLmludGVybWVkaWF0ZSB7Cisg
ICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAg
ICAgIG9wYWNpdHk6IDAuNTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAg
IDxkaXYgaWQ9ImNoaWxkIj5UZXh0PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0
aW5nIHBvc2l0aXZlIG9wYWNpdHkuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAor
CitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIG9wYWNpdHktcmV2ZWFs
ZWQgZWxlbWVudC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3BhY2l0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6
IEZDUCBkdWUgdG8gb3BhY2l0eTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAg
ICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBw
eDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAg
IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgICAg
ICBvcGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5l
ZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAg
IG9wYWNpdHk6IDAuMTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2Pgor
PHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gb3BhY2l0eS1yZXZlYWxlZCBlbGVtZW50LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4gCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBk
b2N1bWVudC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0
ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8g
dHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50PC90aXRsZT4KKzxzdHls
ZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgt
MTAwMHB4KTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7Cisg
ICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOwor
ICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBz
Y3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9u
ZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAg
ICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gdHJhbnNmb3Jt
LWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiIpCis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQg
VGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQ8L3RpdGxl
PgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAtMTAwMHB4OworICAgICAgICBwb3NpdGlvbjog
cmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJs
KC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBj
bGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50
ZnVsIHsKKyAgICAgICAgbGVmdDogMHB4OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFp
biI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4iKQorPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxh
eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LWRpc3BsYXktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8t
ZWxlbWVudCB0ZXh0LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3Bs
YXkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxh
eS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0
byBwc2V1ZG8tZWxlbWVudCB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAg
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVu
dDogIlRFWFQiOworICAgICAgICBkaXNwbGF5OiBub25lOworICAgIH0KKworICAgIC8qIGNvbnRl
bnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4u
Y29udGVudGZ1bDphZnRlciB7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2Ny
aXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZp
cnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIikK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNl
dWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8g
cHNldWRvLWVsZW1lbnQgaW1hZ2UuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtaW1hZ2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
aW1hZ2UuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
aW1hZ2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVl
IHRvIHBzZXVkby1lbGVtZW50IGltYWdlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7Cisg
ICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVm
aW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7
CisgICAgICAgIGNvbnRlbnQ6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGlt
YWdlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWlu
dCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiAK
KwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVu
dCBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsK
KyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBj
b250ZW50OiAiVEVYVCI7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29u
dGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFp
bi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgb3BhY2l0eTogMC41OworICAgIH0KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2Ny
aXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZp
cnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcg
cG9zaXRpdmUgb3BhY2l0eS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiAKKwpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAg
ICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEw
MHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwg
Y2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVu
dGZ1bDphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIgorICAgIH0KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0Pgor
PGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIikKKzwvc2Ny
aXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBz
ZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Q
ZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBi
ZWNvbWluZyB2aXNpYmxlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBv
c2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRF
WFQiOworICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgfQorCisgICAgLyogY29udGVu
dGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5j
b250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKKyAgICB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNw
KCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNv
bWluZyB2aXNpYmxlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmct
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgZmlyZXMgd2hlbiBTVkcgYmVjb21lcyBjb250ZW50ZnVsLiAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXN2Zy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw0MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5j
ZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHdpdGggU1ZHPC90aXRsZT4KKzxzdHlsZT4KKyAgICAj
bWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgfQorCisg
ICAgI2NpcmNsZSB7CisgICAgICBkaXNwbGF5OiBub25lOworICAgIH0KKworICAgIC8qIGNvbnRl
bnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4u
Y29udGVudGZ1bCAjY2lyY2xlIHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgPHN2ZyB2aWV3Qm94PSIwIDAgMTAgMTAiIHhtbG5z
PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKKyAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93
d3cudzMub3JnLzE5OTkveGxpbmsiPgorICAgIDxkZWZzPgorICAgICAgPGNpcmNsZSBpZD0ibXlD
aXJjbGUiIGN4PSI1IiBjeT0iNSIgcj0iNCIgc3Ryb2tlPSJibHVlIi8+CisgICAgPC9kZWZzPgor
ICAgIDx1c2UgaWQ9ImNpcmNsZSIgaHJlZj0iI215Q2lyY2xlIiBmaWxsPSJncmVlbiIgLz4KKyAg
PC9zdmc+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgd2hlbiBTVkcgYmVjb21lcyBjb250ZW50ZnVsLiIpCis8L3NjcmlwdD4KKzwv
Ym9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBUZXh0IGlucHV0IHNob3VsZCBi
ZWNvbWUgY29udGVudGZ1bCB3aGVuIGl0cyB2YWx1ZSBpcyBub24tZW1wdHkgCisKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRl
eHQtaW5wdXQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhl
YWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgZm9yIG5v
bi1lbXB0eSB0ZXh0IGlucHV0PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8aW5wdXQgaWQ9ImlucHV0IiB0eXBlPSJ0ZXh0
IiAvPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0
X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWlu
ZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJz
dENvbnRlbnRmdWxQYWludCgpOworICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnaW5wdXQnKTsKKyAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgndmFsdWUnLCAnICAn
KTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICAgIGlu
cHV0LnNldEF0dHJpYnV0ZSgndmFsdWUnLCAndmFsdWUnKTsKKyAgICAgIGF3YWl0IGFzc2VydEZp
cnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdUZXh0IGlucHV0IHNob3VsZCBiZWNvbWUgY29u
dGVudGZ1bCB3aGVuIGl0cyB2YWx1ZSBpcyBub24tZW1wdHknKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVk
by1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitBCisKK1BBU1Mg
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBvbmx5IHdoZW4gc29tZSBvZiB0aGUgdGV4dCBp
cyB2aXNpYmxlLCBjb25zaWRlcmluZyA6OmZpcnN0LWxldHRlci4gCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
dHlwb2dyYXBoaWMtcHNldWRvLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5
cG9ncmFwaGljLXBzZXVkby5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRl
c3Q6IEZDUCBzaG91bGQgbm90IGZpcmUgd2hlbiBhbGwgdGV4dCBpcyBoaWRkZW4gZHVlIHRvIHR5
cG9ncmFwaGljIHBzZXVkby1lbGVtZW50czwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4gewor
ICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbiAqOjpmaXJzdC1sZXR0ZXIgewor
ICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMg
ZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCAqOjpm
aXJzdC1sZXR0ZXIgeworICAgICAgICBvcGFjaXR5OiAxOworICAgIH0KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0ibWFpbiI+CisgICAgPGRpdj5BPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVz
dF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgb25seSB3aGVuIHNvbWUgb2YgdGhl
IHRleHQgaXMgdmlzaWJsZSwgY29uc2lkZXJpbmcgOjpmaXJzdC1sZXR0ZXIuIikKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBWaWRlbyBzaG91bGQg
YmVjb21lIGNvbnRlbnRmdWwgd2hlbiBmaXJzdCBmcmFtZSBpcyBsb2FkZWQgCisKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12
aWRlby1mcmFtZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFt
ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8g
bG9hZGVkIHZpZGVvIGZyYW1lPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8dmlkZW8gaWQ9InZpZGVvIiBhdXRvcGxheT48
L3ZpZGVvPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNz
ZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRp
bWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9G
aXJzdENvbnRlbnRmdWxQYWludCgpOworICAgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgndmlkZW8nKTsKKyAgICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgnc3JjJywgJy9t
ZWRpYS90ZXN0Lm1wNCcpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Cisg
ICAgICAgIHZpZGVvLm9uY2FucGxheSA9IHJlc29sdmU7CisgICAgICB9KTsKKyAgICAgIGF3YWl0
IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdWaWRlbyBzaG91bGQgYmVjb21l
IGNvbnRlbnRmdWwgd2hlbiBmaXJzdCBmcmFtZSBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBWaWRlbyBzaG91bGQgYmVj
b21lIGNvbnRlbnRmdWwgd2hlbiBwb3N0ZXIgaXMgbG9hZGVkIAorCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdmlkZW8tcG9zdGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBv
c3Rlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRl
ZCB2aWRlbyBwb3N0ZXI8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIHdpZHRoPSI1MCIgaGVp
Z2h0PSI1MCI+PC92aWRlbz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsK
KyAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAi
UGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShy
ID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFzc2Vy
dE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd2aWRlbycpOworICAgIGNvbnN0IHNyYyA9ICcuLi9yZXNvdXJjZXMvY2ly
Y2xlcy5wbmcnOworICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7CisgICAgaW1hZ2Uuc3Jj
ID0gc3JjOworICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgncG9zdGVyJywgc3JjKTsKKyAgICBhd2Fp
dCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgaW1hZ2Uub25sb2FkID0gYXN5bmMg
KCkgPT4gcmVzb2x2ZSgpOworICAgIH0pCisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVs
UGFpbnQoKTsKKyAgfSwgJ1ZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIHBvc3Rl
ciBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
d2hpdGVzcGFjZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitU
RVhUCisKK1BBU1MgV2hpdGVzcGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwuIAor
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdo
aXRlc3BhY2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBXaGl0
ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bDwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAx
MDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTog
dXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTog
MCAwOworICAgIH0KKworICAgICN0ZXh0IHsKKyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9
CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0
LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI3RleHR7CisgICAgICAgIGRpc3BsYXk6IGJsb2Nr
OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
dXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0id2hpdGVz
cGFjZSI+ICAgPC9kaXY+CisgICAgPGRpdiBpZD0idGV4dCI+VEVYVDwvZGl2PgorPC9kaXY+Cis8
c2NyaXB0PgorICAgIHRlc3RfZmNwKCJXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29u
dGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRo
LXJ0bC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRs
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RFWFQKKworUEFT
UyBGQ1Agc2hvdWxkIGZpcmUgd2hlbiBjb29yZGluYXRlcyBhcmUgbmVnYXRpdmUsIGlmIHdpdGhp
biBkb2N1bWVudCBzY3JvbGxhYmxlIGFyZWEgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0
bC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gZGlyZWN0aW9uIGNoYW5nZTwvdGl0bGU+Cis8
c3R5bGU+CisgICN0ZXh0IHsKKyAgICByaWdodDogLTEwMHB4OworICAgIHBvc2l0aW9uOiBhYnNv
bHV0ZTsKKyAgfQorCisgIGJvZHkgeworICAgIGRpcmVjdGlvbjogcnRsOworICB9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHkgZGlyZWN0aW9uPSJSVEwiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8c2NyaXB0Pgor
ICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdp
bmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRl
ZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50
KCk7CisgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmRpcmVjdGlvbiA9ICdsdHInCisgICAgICBh
d2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAnRkNQIHNob3VsZCBmaXJl
IHdoZW4gY29vcmRpbmF0ZXMgYXJlIG5lZ2F0aXZlLCBpZiB3aXRoaW4gZG9jdW1lbnQgc2Nyb2xs
YWJsZSBhcmVhJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L3czYy1pbXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNDMgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVk
IGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJl
Y3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQ
VCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKwor
VGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8g
cmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1By
b3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFn
ZS10d28tc3RlcHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0
ZS1kZXNjZW5kYW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNp
dGlvbi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vcGFjaXR5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3ZlcmZs
b3cuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1vcGFjaXR5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNp
YmlsaXR5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1zdmcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXZpZGVvLXBvc3Rlci5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbApJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2Vz
L2NpcmNsZS5zdmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
IEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4x
Ij4KKyAgIDxjaXJjbGUgY3g9IjEwMCIgY3k9IjUwIiByPSI0MCIgc3Ryb2tlPSJibGFjayIgc3Ry
b2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiAvPgorPC9zdmc+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3Vi
ZnJhbWUtcGFpbnRpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFp
bnRpbmcuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxi
b2R5PgorPGRpdiBpZD0iaW1hZ2UiPjwvZGl2PgorPHNjcmlwdD4KKyAgY29uc3QgaW1nID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnSU1HJyk7CisgIGltZy5zcmMgPSAnY2lyY2xlcy5wbmcnOwor
ICBpbWcub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgZnVuY3Rpb24gc2VuZFBhaW50RW50cmll
cygpIHsKKyAgICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNC
eVR5cGUoJ3BhaW50Jyk7CisgICAgICBpZiAocGFpbnRFbnRyaWVzLmxlbmd0aCA8IDIpIHsKKyAg
ICAgICAgc2V0VGltZW91dChzZW5kUGFpbnRFbnRyaWVzLCAyMCk7CisgICAgICAgIHJldHVybjsK
KyAgICAgIH0KKyAgICAgIGxldCBlbnRyeUNvbnRlbnRzID0gcGFpbnRFbnRyaWVzLmxlbmd0aCAr
ICcnOworICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBpKysp
IHsKKyAgICAgICAgY29uc3QgZW50cnkgPSBwYWludEVudHJpZXNbaV07CisgICAgICAgIGVudHJ5
Q29udGVudHMgKz0gJyAnICsgZW50cnkuZW50cnlUeXBlICsgJyAnICArIGVudHJ5Lm5hbWU7Cisg
ICAgICB9CisgICAgICBwYXJlbnQucG9zdE1lc3NhZ2UoZW50cnlDb250ZW50cywgJyonKTsKKyAg
ICB9OworICAgIHNlbmRQYWludEVudHJpZXMoKTsKKyAgfTsKKyAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2ltYWdlJykuYXBwZW5kQ2hpbGQoaW1nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0PgorICBzZWxmLmFk
ZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbihlKSB7CisgICAgLy8gU2VuZCBwYWlu
dC10aW1pbmcgZW50cmllcyB1cG9uIHJlY2VpdmluZyBhIG1lc3NhZ2UuCisgICAgY29uc3QgcGFp
bnRFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncGFpbnQnKTsKKyAgICBs
ZXQgZW50cnlDb250ZW50cyA9IHBhaW50RW50cmllcy5sZW5ndGggKyAnJzsKKyAgICBmb3IgKGxl
dCBpID0gMDsgaSA8IHBhaW50RW50cmllcy5sZW5ndGg7IGkrKykgeworICAgICAgY29uc3QgZW50
cnkgPSBwYWludEVudHJpZXNbaV07CisgICAgICBlbnRyeUNvbnRlbnRzICs9ICcgJyArIGVudHJ5
LmVudHJ5VHlwZSArICcgJyAgKyBlbnRyeS5uYW1lOworICAgIH0KKyAgICBwYXJlbnQucG9zdE1l
c3NhZ2UoZW50cnlDb250ZW50cywgJyonKTsKKyAgfSk7Cis8L3NjcmlwdD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291
cmNlcy91dGlscy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYg
QEAKKy8vIE51bWJlciBtaWxsaXNlY29uZHMgdG8gd2FpdCBmb3IgQ1NTIHJlc291cmNlcyB0byBs
b2FkLgorY29uc3QgbnVtTWlsbGlzZWNvbmRzV2FpdCA9IDUwOworCisvLyBXZSB1c2UgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lKCkgY2FsbHMgdG8gZm9yY2UgdGhlIHVzZXIgYWdlbnQgdG8gcGFpbnQg
YW5kIGdpdmUgZW5vdWdoCisvLyB0aW1lIGZvciBGQ1AgdG8gc2hvdyB1cCBpbiB0aGUgcGVyZm9y
bWFuY2UgdGltZWxpbmUuIEhlbmNlLCBzZXQgfG51bUZyYW1lc1dhaXRpbmd8IHRvCisvLyAzIGFu
ZCB1c2UgdGhhdCBjb25zdGFudCB3aGVuZXZlciB0aGUgdGVzdCBuZWVkcyB0byB3YWl0IGZvciB0
aGUgbmV4dCBwYWludCB0byBvY2N1ci4KK2NvbnN0IG51bUZyYW1lc1dhaXRpbmcgPSAzOworCitm
dW5jdGlvbiB3YWl0VGltZSh0KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHQu
c3RlcF90aW1lb3V0KHJlc29sdmUsIG51bU1pbGxpc2Vjb25kc1dhaXQpKTsKK30KKworZnVuY3Rp
b24gd2FpdEZvckFuaW1hdGlvbkZyYW1lcyhjb3VudCkgeworICByZXR1cm4gbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB7CisgICAgaWYgKGNvdW50LS0gPD0gMCkgeworICAgICAgcmVzb2x2ZSgpOwor
ICAgIH0gZWxzZSB7CisgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAg
ICB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKGNvdW50KS50aGVuKHJlc29sdmUpOworICAgICAgfSk7
CisgICAgfQorICB9KTsKK30KKworLy8gQXNzZXJ0cyB0aGF0IHRoZXJlIGlzIGN1cnJlbnRseSBu
byBGQ1AgcmVwb3J0ZWQsIGV2ZW4gYWZ0ZXIgc29tZSB3YWl0LgorYXN5bmMgZnVuY3Rpb24gYXNz
ZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KSB7CisgIGlmICh0KQorICAgIGF3YWl0IHdhaXRU
aW1lKHQpOworCisgIGF3YWl0IHdhaXRGb3JBbmltYXRpb25GcmFtZXMobnVtRnJhbWVzV2FpdGlu
Zyk7CisgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3Qt
Y29udGVudGZ1bC1wYWludCcpLmxlbmd0aCwgMCwgJ0ZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgbWFy
a2VkIHRvbyBlYXJseS4gJyk7Cit9CisKKy8vIEFzc2VydHMgdGhhdCBGQ1AgaXMgcmVwb3J0ZWQs
IHBvc3NpYmx5IGFmdGVyIHNvbWUgd2FpdC4gVGhlIHdhaXQgaXMgbmVlZGVkCisvLyBiZWNhdXNl
IHNvbWV0aW1lcyB0aGUgRkNQIHJlbGllcyBvbiBzb21lIENTUyByZXNvdXJjZXMgdG8gZmluaXNo
IGxvYWRpbmcuCithc3luYyBmdW5jdGlvbiBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KSB7
CisgIGlmICh0KQorICAgIGF3YWl0IHdhaXRUaW1lKHQpOworICBhd2FpdCB3YWl0Rm9yQW5pbWF0
aW9uRnJhbWVzKG51bUZyYW1lc1dhaXRpbmcpOworICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNl
LmdldEVudHJpZXNCeU5hbWUoJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5ndGgsIDEsICdF
eHBlY3RlZCBmaXJzdCBjb250ZW50ZnVsIHBhaW50IG5vdCBmb3VuZC4gJyk7Cit9CisKK2Z1bmN0
aW9uIHRlc3RfZmNwKGxhYmVsKSB7CisgIGNvbnN0IHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnc3R5bGUnKTsKKyAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7CisgIHJl
dHVybiBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3
aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0
ZWQuIik7CisgICAgY29uc3QgbWFpbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluJyk7
CisgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9h
ZCcsIHIpKTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAg
bWFpbi5jbGFzc05hbWUgPSAncHJlRkNQJzsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVu
dGZ1bFBhaW50KCk7CisgICAgbWFpbi5jbGFzc05hbWUgPSAnY29udGVudGZ1bCc7CisgICAgYXdh
aXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgbGFiZWwpOworfQpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1w
b3J0LmxvZwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyMSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdl
cmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNl
IHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRl
c3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGlu
IFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUu
CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25l
CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2ZworL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZy
YW1lLXNlbmRpbmctcGFpbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10
aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlz
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACitCYXNpYyBJbnRl
cmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitQZXJmb3JtYW5jZVBhaW50VGltaW5nCitQQVNTIFBlcmZvcm1hbmNlUGFpbnRU
aW1pbmcgaXMgZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUu
dG9KU09OIGlzIGRlZmluZWQuCitQQVNTIG5ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2
YWx1YXRpbmcgJ25ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCknKS4KK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9wYWludC10aW1p
bmctYXBpLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Bh
aW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MjAgQEAKK1BhaW50IEFQSSBzaG91bGQgYmUgYXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBmcmFt
ZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4vc2FuZGJveGVkIGZyYW1lcy4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgcmVjZWl2ZWRFdmVudC5zb3VyY2UgaXMgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNhbmRib3hlZCcpLmNvbnRlbnRXaW5kb3cKK1BBU1MgcmVj
ZWl2ZWRFbnRyeS5uYW1lIGlzICdmaXJzdC1jb250ZW50ZnVsLXBhaW50JworUEFTUyBkaWRSZWNl
aXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUgaXMgZmFsc2UKK1BBU1MgQXJyYXkuaXNBcnJh
eShub25TYW5kYm94U3VwcG9ydGVkVHlwZXMpIGlzIHRydWUKK1BBU1MgQXJyYXkuaXNBcnJheShz
YW5kYm94U3VwcG9ydGVkVHlwZXMpIGlzIHRydWUKK1BBU1MgZGlkUmVjZWl2ZU1lc3NhZ2UgaXMg
dHJ1ZQorUEFTUyBub25TYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMg
dHJ1ZQorUEFTUyBzYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgZmFs
c2UKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxi
YWNrIHdhcyBmaXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3Jp
Z2luIGZyYW1lCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKworCitURVhUCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGlt
aW5nLWZyYW1lcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFw
aS9wYWludC10aW1pbmctZnJhbWVzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDY3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorICAgIDxpZnJhbWUgd2lkdGg9IjEwMCIg
aGVpZ2h0PSIxMDAiIGlkPSJub25TYW5kYm94ZWQiIHNyYz0iLi9yZXNvdXJjZXMvZmNwLXN1YmZy
YW1lLmh0bWwiPjwvaWZyYW1lPgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKzxpZnJhbWUg
aWQ9InNhbmRib3hlZCIgc3JjPSIuL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbCIgc2FuZGJv
eD0iYWxsb3ctc2NyaXB0cyI+PC9pZnJhbWU+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2Pgor
CisgICAgVEVYVAorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50IEFQSSBzaG91bGQgYmUg
YXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4v
c2FuZGJveGVkIGZyYW1lcy4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRv
dy5kaWRSZWNlaXZlTWVzc2FnZSA9IGZhbHNlOworCit3aW5kb3cub25sb2FkID0gYXN5bmMgKCkg
PT4geworICAgIGNvbnN0IHNhbmRib3hlZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYW5k
Ym94ZWQnKTsKKyAgICBjb25zdCBub25TYW5kYm94ZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnbm9uU2FuZGJveGVkJyk7CisgICAgY29uc3QgZmNwTWVzc2FnZVByb21pc2UgPSBuZXcgUHJv
bWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsK
KyAgICAgICAgICAgIHdpbmRvdy5yZWNlaXZlZEV2ZW50ID0gZXZlbnQ7CisgICAgICAgICAgICBj
b25zdCBpc0Zyb21TYW5kYm94ZWQgPSBldmVudC5zb3VyY2UgPT09IHNhbmRib3hlZC5jb250ZW50
V2luZG93OworICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0
YSk7CisgICAgICAgICAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkgeworICAgICAgICAgICAgICAg
IGNhc2UgJ3N1cHBvcnRlZCc6CisgICAgICAgICAgICAgICAgICAgIGlmIChpc0Zyb21TYW5kYm94
ZWQpCisgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2FuZGJveFN1cHBvcnRlZFR5cGVz
ID0gbWVzc2FnZS5zdXBwb3J0ZWQ7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHdpbmRvdy5ub25TYW5kYm94U3VwcG9ydGVkVHlwZXMgPSBtZXNzYWdl
LnN1cHBvcnRlZDsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAg
Y2FzZSAncmVjZWl2ZWQnOgorICAgICAgICAgICAgICAgICAgICB3aW5kb3cuZGlkUmVjZWl2ZU1l
c3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1lID0gaXNGcm9tU2FuZGJveGVkOworICAgICAgICAgICAg
ICAgICAgICB3aW5kb3cucmVjZWl2ZWRFbnRyeSA9IG1lc3NhZ2UuZW50cnk7CisgICAgICAgICAg
ICAgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoJ3JlY2VpdmVkRXZlbnQuc291cmNlJywgImRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdub25TYW5kYm94ZWQnKS5jb250ZW50V2luZG93Iik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCdyZWNlaXZlZEVudHJ5Lm5hbWUnLCAiJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnIik7
CisgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAgfSk7CisKKyAgICBzYW5kYm94ZWQu
Y29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgicGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRG
b3JGQ1AoKTsKKyAgICBub25TYW5kYm94ZWQuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgicGFp
bnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBhd2FpdCBmY3BNZXNzYWdl
UHJvbWlzZTsKKyAgICBzaG91bGRCZUZhbHNlKCdkaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94
ZWRJZnJhbWUnKTsKKyAgICBzaG91bGRCZVRydWUoJ0FycmF5LmlzQXJyYXkobm9uU2FuZGJveFN1
cHBvcnRlZFR5cGVzKScpOworICAgIHNob3VsZEJlVHJ1ZSgnQXJyYXkuaXNBcnJheShzYW5kYm94
U3VwcG9ydGVkVHlwZXMpJyk7CisgICAgc2hvdWxkQmVUcnVlKCdkaWRSZWNlaXZlTWVzc2FnZScp
OworICAgIHNob3VsZEJlVHJ1ZSgnbm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJw
YWludCIpJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnc2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1
ZGVzKCJwYWludCIpJyk7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJz
dC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBmaXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJh
bWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lIik7CisgICAgZmluaXNoSlNUZXN0KCk7
Cit9OworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdv
cmtlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxMyBAQAorUGFpbnQgQVBJIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlIGlu
IHdvcmtlciBjb250ZXh0cy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
UGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIp
IGlzIHRydWUKK1BBU1Mgd29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQi
KSBpcyBmYWxzZQorUEFTUyB3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJtYXJr
IikgaXMgdHJ1ZQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMg
ZGlkIG5vdCBpbmNsdWRlICdwYWludCcgZm9yIHdvcmtlcnMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmct
d2l0aC13b3JrZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZ
UEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGkt
dXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oIlBhaW50IEFQSSBzaG91bGQgbm90IGJlIGF2YWlsYWJsZSBpbiB3b3JrZXIgY29udGV4dHMu
Iik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Citjb25zdCB3b3JrZXIgPSBuZXcgV29y
a2VyKCIuL3Jlc291cmNlcy93b3JrZXIuaHRtbCIpOword29ya2VyLm9ubWVzc2FnZSA9IGV2ZW50
ID0+IHsKKyAgICB3aW5kb3cud29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcyA9IEpTT04ucGFyc2Uo
ZXZlbnQuZGF0YSk7CisgICAgc2hvdWxkQmVUcnVlKCdQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBv
cnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCd3
b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxk
QmVUcnVlKCd3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJtYXJrIiknKTsKKyAg
ICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlk
IG5vdCBpbmNsdWRlICdwYWludCcgZm9yIHdvcmtlcnMiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K307CisKK3dvcmtlci5wb3N0TWVzc2FnZSgic3RhcnQiKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2Jz
ZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNv
bnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBh
aW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitQQVNTIGRp
ZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdl
dEVudHJpZXMoKS5sZW5ndGggaXMgMQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1l
KCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIsICJwYWludCIpLmxlbmd0
aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3Ro
IGlzIDEKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNh
bGxiYWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorVEVYVDIKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2Vy
dmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1
bC1wYWludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBI
VE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFwaS11dGls
cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigi
RW5zdXJlIFBlcmZvcm1hbmNlT2JzZXJ2ZXJzIGFyZSBub3RpZmllZCBvbmNlIGZvciBmaXJzdC1j
b250ZW50ZnVsLXBhaW50LiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworIAorKGFz
eW5jICgpID0+IHsKKyAgICB3aW5kb3cuZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0g
ZmFsc2U7CisgICAgd2luZG93LnN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIGF3
YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAg
ICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihlbnRyeUxpc3Qg
PT4geworICAgICAgICAgICAgd2luZG93LmVudHJ5TGlzdCA9IGVudHJ5TGlzdDsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCcsICIxIik7CisgICAg
ICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0LmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAxKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxp
c3QuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgICAgICAgICAg
d2luZG93LmZjcEVudHJ5ID0gZW50cnlMaXN0LmdldEVudHJpZXMoKVswXTsKKyAgICAgICAgICAg
IHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCcpOworICAgICAg
ICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5Lm5hbWUnLCAnImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQi
Jyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50cnkuZW50cnlUeXBlJywgJyJwYWludCIn
KTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgnZmNwRW50cnkuc3RhcnRUaW1lID4gd2luZG93
LnN0YXJ0VGltZScpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdmY3BFbnRyeS5zdGFydFRp
bWUgPCBwZXJmb3JtYW5jZS5ub3coKScpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5
LmR1cmF0aW9uJywgIjAiKTsKKyAgICAgICAgICAgIGRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQ
YWludCA9IHRydWU7CisgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0pOworCisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsncGFpbnQnXX0pOworICAgICAgICBk
b2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICdURVhUJzsKKyAgICB9KQorICAgIGRvY3VtZW50LmJv
ZHkuaW5uZXJUZXh0ID0gJ1RFWFQyJzsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgc2hv
dWxkQmVUcnVlKCdkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQnKTsKKyAgICBzaG91bGRC
ZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUo
J3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5s
ZW5ndGgnLCAiMSIpOworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1l
KCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IiwgInBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICBz
aG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAi
MSIpOworICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1
bC1wYWludCBjYWxsYmFjayB3YXNuJ3QgZmlyZWQgYWdhaW4gIik7CisgICAgZmluaXNoSlNUZXN0
KCk7Cit9KSgpOworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJj
ZXMvZmNwLXN1YmZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorPCFE
T0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBjb25zdCBvYnNlcnZl
ciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAgICBsaXN0LmdldEVu
dHJpZXMoKS5mb3JFYWNoKGVudHJ5ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5wYXJlbnQucG9z
dE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3R5cGU6ICdyZWNlaXZlZCcsIGVudHJ5fSksICcqJyk7
CisgICAgICAgIH0pOworICAgIH0pOworCisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBl
czogWyJwYWludCJdfSk7CisgICAgd2luZG93Lm9ubWVzc2FnZSA9IGUgPT4geworICAgICAgICB3
aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHtzdXBwb3J0ZWQ6IFBlcmZv
cm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcywgdHlwZTogJ3N1cHBvcnRlZCd9KSwg
JyonKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAiVEVYVCI7CisgICAgfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBp
LXV0aWxzLmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9y
ZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNSBA
QAorYXN5bmMgZnVuY3Rpb24gd2FpdEZvckZDUCgpCit7CisgICAgYXdhaXQgbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gcmVzb2x2ZSgpKSk7CisgICAg
cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1jb250ZW50
ZnVsLXBhaW50JykubGVuZ3RoID09IDE7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJ
bmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmct
YXBpLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJj
ZXMvcGFpbnQtdGltaW5nLWFwaS5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanMJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxMyBAQAoraWYgKHNlbGYuaW1wb3J0U2NyaXB0cykKKyAgICBpbXBvcnRTY3Jp
cHRzKCIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiKTsKKworaWYgKHNlbGYud2luZG93
KQorICAgIGRlc2NyaXB0aW9uKCJCYXNpYyBJbnRlcmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5n
IEFQSXMuIik7CisKK2RlYnVnKCJQZXJmb3JtYW5jZVBhaW50VGltaW5nIik7CitzaG91bGRCZURl
ZmluZWQoIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmciKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9y
bWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUudG9KU09OYCk7CitzaG91bGRUaHJvdyhgbmV3IFBl
cmZvcm1hbmNlUGFpbnRUaW1pbmcoKWApOworCitpZiAoc2VsZi5pbXBvcnRTY3JpcHRzKQorICAg
IGZpbmlzaEpTVGVzdCgpOwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291
cmNlcy93b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcmVzb3VyY2VzL3dvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwzIEBACitzZWxmLm9ubWVzc2FnZSA9ICgpID0+IHsKKyAgICBzZWxmLnBvc3RNZXNzYWdl
KEpTT04uc3RyaW5naWZ5KFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcykp
OworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVz
LnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0
eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNv
dXJjZXMvY2lyY2xlcy5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCww
ICsxICMjCitpbWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQoKaVZCT1J3
MEtHZ29BQUFBTlNVaEVVZ0FBQUNRQUFBQklDQVlBQUFDZU5sZTVBQUFDN21sRFExQkpRME1nVUhK
dlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6
Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hWcEZLTjZyS0dL
aEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtpRVdsc2ZFSnEKL0ln
QWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVh
MlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZFQTFMYzUv
VGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3ek82cllxR2NUdllP
a0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNHRFgwK0dBVnR4cXAK
K0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xxSEJYMG0x
eE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVDR1BCb3hO
TEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhsRU8xQ0pMOFFmNHFy
OGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVkcE5YUjVhc2VY
cTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6
czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1BpS1RFbWRv
cm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQMXQ0dlVaL0RQ
VlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1icHRVM0h2RUtG
bHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMw
NVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBw
bGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFBCkNYQklXWE1BQUFz
VEFBQUxFd0VBbXB3WUFBQUdaMGxFUVZSb0JlMmFVVzlWUlJESGQ2OHRFVkpMVzJLQ3hDWStpZ1FE
b1lrS2ZnSjgKOU1rbkV2RWR2b0Nta1MrQTcycENRc0tUai9JSkJDU0IxTlNvUEpxVTFDYWtnTmlB
YWVOZGYvK1pPVDIzNTk3U0Z1N2w2VXl5NSt6TwoyWjJablozZG5abDdjNXJQSmUwS1NzcHBocDc3
VTBtUHFEL2RIRlVSeUp1WVJKOEQ5SmtHODR6NlE5NjlYM3M2TnFwampYYWpLU0xkCkVHUWY5UldJ
TyttU3pzTDFCSzFaeWlHS2hGamx1VVNIWHhoem5mWlRFeU9udytEWFE3Q085ZVF4RUo0amtGaVBR
VkRFbG0xd0taL3kKUHBkS09jM2JoYkFQelFkRFRiaDhrL2VWbFBNUDFpT25JN1FmVU4rZ0ROWlk3
bDh5MTBwS2t3d1paeUN6TG1jUjRtdmFwNHh3U2I5Qwo3eWJ0aFZUeUg3ei9EdnpCbE10Um1KNWt6
R253eHdOL0Y2RytZc3gxMm9mNExvR2VVUHExMVJDb1hpS3R1MXFsZk1mamMyb3NYYjZHCkFKZkIz
NkVObW1KOXJGWFhoUk9VTkllQUY2SHhHUzJZNSsraGNUN0d6ZkNXYlcwVnFpRlFaYmdQYlZEcS9z
eUFEeWczR1BjRjczc20KUUxKbEZDSE5WTGJSNVMyQmhKT3RTYlBDdWMybDlDN05iMm1mb2R5RzFv
ZEJweEtxbW9LTVpCTTAzMG1LcEFhNnYvTTRDcGR2S0JlRAp3Q3pNdFR3cjZnSFVoTlFTQlllcXBt
VS9DT3BlS3AyUDZYQ1pjc0ZwZDk0REwxN2lxZVZ6V3BwU05NWkJqUnZSZ21heUNhTjFsekJ2CjAy
ZUtiK3lndEJiOXR3b0RzZ2YwVFdVdHhrdzVEV2dsYkVtMHhjT1hYTnBVMlNLUXR2YWJJRmRaYzJ5
R1pTcW1tVXZnMzJIZ1g1VEgKTWFpYVBjMGR3VmxxckdpSVZzcVhuRFk4bkJjOGpYZTE3UE81K0FH
RzNiQ2JVdm1SRGpkTXhkS01DTGs5N01oOUZ4MDYwSDRMbXZkVAo3djdFRzV2S24yRG8ybjJ5cDBl
eVFzMUNoZ2l3dFkyNUdiQVFXcDcvVkJrU2lKWm9Bc1lEclJoUElTUkRTUjIvRHRnTmR1aWQ4cTF0
CnUwa0dYQzJUQmd3RHN0SE1uTzVGUERoR0VtZWI4MTVCZXpQU2tPNG13VGw3SnM0WmdlK21zSG4v
TXFSbkoyaERMbmpaNlcvVTk2ZU8KWDVSOHM1TjFFZlFkSk5WMW9hM29vbHJmb1QxRTgwbndFSy9G
NEMxdTJKQnViVjJVUlVkNnZoVnNSNkdaNW95Y2gzZ2FiMlNRTElFOQpFYjI1bTZ5bUU5alBoU2Fa
NGJSRmV5TjRMVGhKOHh6OElnRXg2MGk3S0ZWZDkvWkluK3MrWlhnNnVBeGpyaEYzSlhScmU5c1Bx
VkhLClU5OS9GVTk1QVpzYUdpWHJ2ZEhHcUFYeTlHVGwrRE84L2RZMjFNZ2U0aUZlNHVtZ0syUlRR
N28wQVhPdVZJbVRXOVdSd1Q0M0QzZzYKdUF5K3kvQ0JIVTZhbEg3N3VqWEZoeUcvUkZ2ZWhRRHZV
aEF5WU5TS0RuUzV5VlhGVjdaZW96ZnE2c0xXZ2V3bW82RGdnQTdHYVZOZApNWWRjUHZBY2JUbGdj
cHg4RGxTR0NLSTVHVHpFNnpnSHNvSUJjWnZXd2ZnczJGNXhwdmpBQXZmMFJxRXArVjVoeU1FcktU
SXhycEpsCkhnSHQ3dUxHNzhwNXg0NDZ4NUJZL3JPOHhNY21udlYvNllkOGRxZVo4Yk5MOXpjb0xz
QnZqdmRoZUsxSVE1SXRUbWFGS2tLWlEwNDEKVFZCZVUyVklJRnFpQ1JnUHNSZFBnV1NJQThmRGtT
UG11V1ZDRmZQa2NNak5zN05yaFlHMFhodzBWdWVPL0tEN2tCTHRNL0JUV0tRTgpwUURTZzR1SU91
U2pQR0NBYnZ6ekREaUdTM0FCM0NwdCtkVnk4dVd3YS9uMklweTBMNXVaNGozQitEK2gvV1hRdm0y
OGpLZEZzMDQzCkJOSU1kUHR1TUJnZ2Jpb0tnOHk5bEpBZUJ2a01GUWJKVnhLNEtYcTk5MWxwOHcx
NnlJQ1hmRElSQnBWRXRBc1BnVWV4dFhjUkF1bVQKaUl2UkRBWDFLVzVTb0tnNHFyQTlYemhRRk0z
K1FCRWtFTHg2SmlZOTlZQ1dUbXVwam9pb1diRE9Gbkd5STNLNXluZnRDSjFUeTlTVgpPSkRHL29t
aW0xdTRaUXE3MWtMcHEweE11MGtSQmpZVG12RW9RN3kyaXNDMmIrYUhmTjExZUcyZmJGaUUrQzIr
UHkvWjhCSGYzNGVoCmx1VXV4c3R1Mm51eXdjYkhRM2FnKzBZQnBHWU00VWpIMkJYenZIU005ZVlx
NGdTMlF5L1NNYjZiOXB5T01XcnhjRzE1cUNRUFFNc0EKSDRyODhJemJXZXhZY0FmUElsOFpNQmVs
SjZ5OHJ5Y25kcGV3R3JCa0lVdmZxOHFNdkk0UWlocDBEQXdHRjNpQ1BwTjArSmQrc2hWaApkNGF0
RnJWei81SDM2Tm4yZzNpOTdKS3RtVjVlV1k1eDBKSVpqa2ViWTlRQ1N4dHV3TDdjVmIweTN6Ykgy
TnpLdFUxVnRUYkg2TGF6Ci9kT3RUSDVVbTJQY1hrdTlYOW9jWTY4MnRxdTNPY2J0Tk5QRXU2UFI1
aGliZXFuYmJZNngxc1ZlYW0yT3NkWldtMk9zZFRHNDFqVjAKbTJQczEwNmJZK3pYU1kxcGM0eTFM
cnhXaGVKdGpqSE9GRXZQS1kvVSsyZVVOc2RJaW5mZ0g1cmFIR1AvbitMOGQ2OGxRdjVYbW1QVQpY
ek5HOTdmQi93RlpiZzA1RUVOdU53QUFBQUJKUlU1RXJrSmdnZz09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394942</attachid>
            <date>2020-03-30 11:51:10 -0700</date>
            <delta_ts>2020-04-03 00:19:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200330215107.patch</filename>
            <type>text/plain</type>
            <size>137827</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDExMiBAQAorMjAyMC0wMy0yMyAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BhaW50LXRpbWluZy8jZmlyc3QtY29udGVudGZ1bC1wYWludC4KKyAgICAgICAgQ3VycmVu
dGx5IG11dHVhbGx5IGV4Y2x1c2l2ZSB0byB2aXN1YWxseS1ub24tZW1wdHkgaGV1cmlzdGljcy4K
KworICAgICAgICBXaGVuIHRoZSBmcmFtZSBwYWludHMgb3IgZmx1c2hlcyB0aGUgY29tcG9zaXRp
bmcgc3RhdGUsIGl0IG1hcmtzIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgYXMgYSBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IHBlcmZvcm1hbmNlIGVudHJ5LgorCisgICAgICAgIFRlc3RzOiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
dmlzaWJpbGl0eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10ZXh0LWlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdpdGgtcnRsLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9maXJz
dC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5j
ZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sCisgICAgICAgICAg
ICAgICBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAorICAgICAgICAgICAg
ICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBT
b3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRU
aW1pbmcuaDogCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDoKKyAg
ICAgICAgICAgICAgICBBZGQgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNlLgor
CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFibGVk
IGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgUGFpbnRUaW1pbmdFbmFibGVkIHJ1bnRpbWUg
ZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJp
bmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNQYWludCBjb25zdCk6CisgICAgICAgICAgICAgICAgQWRk
IGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIHBhaW50IGVudHJpZXMuCisKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6CisgICAgICAgICAgICAgICAgQWRk
ICJwYWludCIgdG8gc3VwcG9ydGVkRW50cnlUeXBlcyB3aGVuIGluIGVsaWdpYmxlIGJyb3dzaW5n
IGNvbnRleHQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aXNDb250ZW50ZnVsIGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRWxlbWVudDo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVySFRNTENhbnZhczo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6Omhhc093blBhaW50YWJs
ZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck9iamVjdDo6Y29udGFpbnNQYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVmlkZW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlkZW86Omhh
c093blBhaW50YWJsZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJW
aWRlby5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSBjb25zdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aGFz
UGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R01vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR01vZGVsT2JqZWN0
OjpoYXNPd25QYWludGFibGVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR01vZGVsT2JqZWN0Lmg6CisgICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciBj
b21wdXRpbmcgd2hldGhlciBlbGVtZW50cyBhcmUgY29udGVudGZ1bCAmIHBhaW50YWJsZS4KKwor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CitgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JU
aGlzRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzdXBwb3J0c1BhaW50VGlt
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bWFya1BhaW50VGltaW5nSWZOZWVk
ZWQpOgorICAgICAgICAgICAgICAgIE1hcmsgZmlyc3QtY29udGVudGZ1bC1wYWludCBvbmNlIHdo
ZW4gY29tcG9zaXRpbmcvcGFpbnRpbmcuCisKIDIwMjAtMDMtMzAgIEFudG9pbmUgUXVpbnQgIDxn
cmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBNYXJrIFBvaW50ZXIgRXZlbnRzIGFuZCBXZWIg
QW5pbWF0aW9ucyBmZWF0dXJlcyBhcyBjb21wbGV0ZWQgaW4gaHR0cHM6Ly93ZWJraXQub3JnL3N0
YXR1cy8KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOTM2LDYgKzkzNiw3
IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyQ2FsbGJhY2suaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbAorICAgIHBhZ2UvUGVyZm9y
bWFuY2VQYWludFRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZv
cm1hbmNlVGltaW5nLmlkbApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZp
c2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3Jr
aW5nIGNvcHkpCkBAIC05MjYsNiArOTI2LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQo
V2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCBcCisgICAgJChXZWJDb3JlKS9wYWdl
L1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5j
ZVNlcnZlclRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVRpbWlu
Zy5pZGwgXApJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMTk4LDYgKzMxOTgsNyBAQCBK
U1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKIEpT
UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmNwcAogSlNQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0LmNwcAorSlNQZXJmb3JtYW5jZVBhaW50VGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5jcHAKIEpTUGVyZm9y
bWFuY2VUaW1pbmcuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEz
ODAzLDYgKzEzODAzLDggQEAKIAkJQ0EwOTFEODYyM0NGOTA3ODAwQUQ0MzQ2IC8qIFN0eWxlSW1h
Z2VTZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVJbWFnZVNldC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBMDkxRDg5MjNDRjkwODgwMEFENDM0NiAvKiBTdHlsZUlt
YWdlU2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxlSW1hZ2VTZXQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0ExNjM1REMyMDcyRTc2OTAwRTdEMkNFIC8qIFJlZmVycmVyUG9saWN5
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZmVycmVyUG9saWN5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEy
NDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNEODI0
MDdFRENGMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBM0JGNjdCMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxBbmltYXRvci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1
MyAvKiBTY3JvbGxBbmltYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
Y3JvbGxBbmltYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTUyQkFFNTIz
RDBBRjE2MDBERTBCODQgLyogU3R5bGVDdXJzb3JJbWFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTdHlsZUN1cnNvckltYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIw
OTQ5LDYgKzIwOTUxLDggQEAKIAkJCQlBNUE5OTMzQTFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgKi8sCiAJCQkJQTVBOTkzM0IxRTM3RkFGRDAwNUI1
RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCAqLywKIAkJCQlBNUE5OTMzQzFF
MzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwgKi8sCisJ
CQkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCAq
LywKKwkJCQlDQTE5MzNEODI0MDdFRENGMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWlu
Zy5pZGwgKi8sCiAJCQkJODY1MTJFREIxNTRBMkFFRTAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuY3BwICovLAogCQkJCTg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8sCiAJCQkJODY1MTJFREQxNTRBMkFFRjAwQTkwNDI2
IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsICovLApJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3Bw
CShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZv
cm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSwxMSBAQAog
I2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgi
CiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1h
bmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1l
YXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcg
bmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+
JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkK
KyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNiArMTc5LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3VyZSkgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWluZykgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVNlcnZl
clRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXApJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw2ICs3MSw3IEBACiAjaW5jbHVkZSAi
T3ZlcmZsb3dFdmVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlT3Zlcmxh
eUNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgogI2luY2x1ZGUgIlByb2dy
ZXNzVHJhY2tlci5oIgogI2luY2x1ZGUgIlJlbmRlckVtYmVkZGVkT2JqZWN0LmgiCiAjaW5jbHVk
ZSAiUmVuZGVyRnVsbFNjcmVlbi5oIgpAQCAtOTgxLDYgKzk4Miw3IEBAIGJvb2wgRnJhbWVWaWV3
OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3IKICNlbmRpZgogCiAgICAgcmVuZGVyVmlldy0+Y29t
cG9zaXRvcigpLmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygmcm9vdEZyYW1lRm9yRmx1c2ggPT0g
bV9mcmFtZS5wdHIoKSk7CisgICAgbWFya1BhaW50VGltaW5nSWZOZWVkZWQoKTsKIAogICAgIHJl
dHVybiB0cnVlOwogfQpAQCAtNDE5MSw2ICs0MTkzLDM4IEBAIHZvaWQgRnJhbWVWaWV3Ojp3aWxs
UGFpbnRDb250ZW50cyhHcmFwaGkKICAgICBtX2lzUGFpbnRpbmcgPSB0cnVlOwogfQogCitib29s
IEZyYW1lVmlldzo6c3VwcG9ydHNQYWludFRpbWluZygpIGNvbnN0Cit7CisgICAgaWYgKCFSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnBhaW50VGltaW5nRW5hYmxlZCgp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gZnJhbWUoKS5pc01haW5GcmFt
ZSgpIAorICAgIHx8IGZyYW1lKCkuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS5jYW5BY2Nl
c3MoZnJhbWUoKS5tYWluRnJhbWUoKS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKTsKK30K
Kwordm9pZCBGcmFtZVZpZXc6Om1hcmtQYWludFRpbWluZ0lmTmVlZGVkKCkKK3sKKyAgICBpZiAo
bV9kaWRNYXJrRmlyc3RDb250ZW50ZnVsUGFpbnQpCisgICAgICAgIHJldHVybjsKKworICAgIGlm
IChtX2ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dE1pbGVzdG9uZUlzUGVuZGluZykKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaWYgKCFzdXBwb3J0c1BhaW50VGltaW5nKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGNvbnN0IGF1dG8qIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpOwor
ICAgIGNvbnN0IGF1dG8qIHdpbmRvdyA9IGRvY3VtZW50LT5kb21XaW5kb3coKTsKKyAgICBpZiAo
IXdpbmRvdykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFyZW5kZXJWaWV3KCktPmNvbnRh
aW5zUGFpbnRhYmxlQ29udGVudCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2RpZE1hcmtG
aXJzdENvbnRlbnRmdWxQYWludCA9IHRydWU7CisgICAgd2luZG93LT5wZXJmb3JtYW5jZSgpLnJl
cG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7Cit9CisKIHZvaWQgRnJhbWVWaWV3OjpkaWRQYWlu
dENvbnRlbnRzKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgSW50UmVjdCYgZGlydHlS
ZWN0LCBQYWludGluZ1N0YXRlJiBwYWludGluZ1N0YXRlKQogewogICAgIG1faXNQYWludGluZyA9
IGZhbHNlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCShyZXZpc2lvbiAyNTkxOTQpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC02NjAs
NiArNjYwLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBpblVwZGF0ZUVtYmVkZGVkT2JqZWN0cygp
IGNvbnN0IHsgcmV0dXJuIG1faW5VcGRhdGVFbWJlZGRlZE9iamVjdHM7IH0KIAorICAgIGJvb2wg
c3VwcG9ydHNQYWludFRpbWluZygpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzY3Jv
bGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRS
ZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KSBmaW5hbDsKICAgICB2
b2lkIHNjcm9sbENvbnRlbnRzU2xvd1BhdGgoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCkgZmlu
YWw7CkBAIC04MjIsNiArODI0LDkgQEAgcHJpdmF0ZToKICAgICB9OwogICAgIHZvaWQgb3ZlcnJp
ZGVWaWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKE92ZXJyaWRlVmlld3BvcnRTaXplKTsK
IAorICAgIHZvaWQgbWFya1BhaW50VGltaW5nSWZOZWVkZWQoKTsKKyAgICBib29sIG1fZGlkTWFy
a0ZpcnN0Q29udGVudGZ1bFBhaW50IHsgZmFsc2UgfTsKKwogICAgIHN0YXRpYyBNb25vdG9uaWNU
aW1lIHNDdXJyZW50UGFpbnRUaW1lU3RhbXA7IC8vIHVzZWQgZm9yIGRldGVjdGluZyBkZWNvZGVk
IHJlc291cmNlIHRocmFzaCBpbiB0aGUgY2FjaGUKIAogICAgIGNvbnN0IFJlZjxGcmFtZT4gbV9m
cmFtZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCShyZXZpc2lvbiAyNTkx
OTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKICNpbmNs
dWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2Vy
dmVyLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgogI2luY2x1ZGUgIlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVRpbWluZy5o
IgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVXNlclRpbWluZy5oIgpAQCAtMTI0LDYgKzEyNSw5IEBA
IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICAgICAgZW50cmll
cy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNZWFzdXJlcygpKTsKICAgICB9CiAKKyAg
ICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCkKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9m
aXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBzdGQ6OnNvcnQoZW50cmllcy5iZWdpbigpLCBl
bnRyaWVzLmVuZCgpLCBQZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRpbWVDb21wYXJlTGVzc1RoYW4p
OwogICAgIHJldHVybiBlbnRyaWVzOwogfQpAQCAtMTM1LDYgKzEzOSw5IEBAIFZlY3RvcjxSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicmVzb3VyY2UiKSkKICAgICAgICAgZW50cmllcy5hcHBl
bmRWZWN0b3IobV9yZXNvdXJjZVRpbWluZ0J1ZmZlcik7CiAKKyAgICBpZiAobV9maXJzdENvbnRl
bnRmdWxQYWludCAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJw
YWludCIpKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsK
KwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBw
ZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MoKSk7CkBAIC0xNTcsNiArMTY0LDkgQEAg
VmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybQogICAgICAgICB9CiAgICAg
fQogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYgKGVudHJ5VHlwZS5pc051bGwo
KSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJwYWludCIpKSAm
JiBuYW1lID09ICJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikKKyAgICAgICAgZW50cmllcy5hcHBl
bmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAg
ICAgICAgIGlmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoZW50cnlUeXBlLCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0
b3IobV91c2VyVGltaW5nLT5nZXRNYXJrcyhuYW1lKSk7CkBAIC0xODAsNiArMTkwLDEzIEBAIHZv
aWQgUGVyZm9ybWFuY2U6OnNldFJlc291cmNlVGltaW5nQnVmZmUKICAgICBtX3Jlc291cmNlVGlt
aW5nQnVmZmVyRnVsbEZsYWcgPSBmYWxzZTsKIH0KIAordm9pZCBQZXJmb3JtYW5jZTo6cmVwb3J0
Rmlyc3RDb250ZW50ZnVsUGFpbnQoKQoreworICAgIEFTU0VSVCghbV9maXJzdENvbnRlbnRmdWxQ
YWludCk7CisgICAgbV9maXJzdENvbnRlbnRmdWxQYWludCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1p
bmc6OmNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KG5vdygpKTsKKyAgICBxdWV1ZUVudHJ5KCpt
X2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKK30KKwogdm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3Vy
Y2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRpbWluZykKIHsKICAgICBBU1NFUlQo
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
LmgJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBjbGFzcyBMb2FkVGltaW5nOwogY2xh
c3MgUGVyZm9ybWFuY2VFbnRyeTsKIGNsYXNzIFBlcmZvcm1hbmNlTmF2aWdhdGlvbjsKIGNsYXNz
IFBlcmZvcm1hbmNlT2JzZXJ2ZXI7CitjbGFzcyBQZXJmb3JtYW5jZVBhaW50VGltaW5nOwogY2xh
c3MgUGVyZm9ybWFuY2VUaW1pbmc7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVz
b3VyY2VUaW1pbmc7CkBAIC03Nyw2ICs3OCw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkUmVz
b3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJik7CiAKKyAgICB2b2lkIHJlcG9ydEZpcnN0Q29u
dGVudGZ1bFBhaW50KCk7CisKICAgICB2b2lkIHJlbW92ZUFsbE9ic2VydmVycygpOwogICAgIHZv
aWQgcmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKICAg
ICB2b2lkIHVucmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXIm
KTsKQEAgLTEyMSw2ICsxMjQsNyBAQCBwcml2YXRlOgogCiAgICAgTW9ub3RvbmljVGltZSBtX3Rp
bWVPcmlnaW47CiAKKyAgICBSZWZQdHI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4gbV9maXJzdENv
bnRlbnRmdWxQYWludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXNlclRpbWluZz4gbV91c2VyVGlt
aW5nOwogCiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3Bl
cmZvcm1hbmNlVGltZWxpbmVUYXNrUXVldWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlRW50cnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VFbnRyeS5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDExIEBA
IE9wdGlvbmFsPFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IFBlcmZvcm0KICAgICAgICAgICAgIHJl
dHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpSZXNvdXJjZSk7CiAgICAgfQogCisgICAgaWYgKFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucGFpbnRUaW1pbmdFbmFibGVk
KCkpIHsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9PSAicGFpbnQiKQorICAgICAgICAgICAgcmV0
dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6OlBhaW50KTsKKyAgICB9CisKICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
aAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgICAgICBN
YXJrID0gMSA8PCAxLAogICAgICAgICBNZWFzdXJlID0gMSA8PCAyLAogICAgICAgICBSZXNvdXJj
ZSA9IDEgPDwgMywKKyAgICAgICAgUGFpbnQgPSAxIDw8IDQKICAgICB9OwogCiAgICAgdmlydHVh
bCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC02Miw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICBi
b29sIGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UmVzb3VyY2U7
IH0KICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYXJr
OyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6
TWVhc3VyZTsgfQorICAgIGJvb2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBU
eXBlOjpQYWludDsgfQogCiAgICAgc3RhdGljIGJvb2wgc3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFu
KGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYSwgY29uc3QgUmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+JiBiKQogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDE1ICsxMTMs
MzAgQEAgdm9pZCBQZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVyKCkKICAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZEZpcmVPYnNlcnZlckNhbGxiYWNrKCpjb250ZXh0KTsKIH0KIAot
VmVjdG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcygp
CitzdGF0aWMgYm9vbCBzdXBwb3J0c1BhaW50VGltaW5nKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIHsKKyAgICBpZiAoIWlzPERvY3VtZW50Pihjb250ZXh0
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byogdmlldyA9IGRvd25jYXN0PERv
Y3VtZW50Pihjb250ZXh0KS52aWV3KCk7CisgICAgcmV0dXJuIHZpZXcgJiYgdmlldy0+c3VwcG9y
dHNQYWludFRpbWluZygpOworfQorCitWZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5jZU9ic2VydmVy
OjpzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCit7
CisgICAgVmVjdG9yPFN0cmluZz4gZW50cnlUeXBlcyA9IHsKICAgICAgICAgLy8gRklYTUU6IDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xODQzNjM+IEFkZCBzdXBwb3J0IGZvciBOYXZpZ2F0aW9uIFRp
bWluZyBMZXZlbCAyCiAgICAgICAgIC8vICJuYXZpZ2F0aW9uIl9zLAogICAgICAgICAibWFyayJf
cywKLSAgICAgICAgIm1lYXN1cmUiX3MsCi0gICAgICAgICJyZXNvdXJjZSJfcworICAgICAgICAi
bWVhc3VyZSJfcwogICAgIH07CisKKyAgICBpZiAoc3VwcG9ydHNQYWludFRpbWluZyhjb250ZXh0
KSkKKyAgICAgICAgZW50cnlUeXBlcy5hcHBlbmQoInBhaW50Il9zKTsKKworICAgIGVudHJ5VHlw
ZXMuYXBwZW5kKCJyZXNvdXJjZSJfcyk7CisKKyAgICByZXR1cm4gZW50cnlUeXBlczsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmgJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihj
b250ZXh0LCBXVEZNb3ZlKGNhbGxiYWNrKSkpOwogICAgIH0KIAotICAgIHN0YXRpYyBWZWN0b3I8
U3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzKCk7CisgICAgc3RhdGljIFZlY3RvcjxTdHJpbmc+
IHN1cHBvcnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogCiAgICAgdm9p
ZCBkaXNhc3NvY2lhdGUoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlT2JzZXJ2ZXIuaWRsCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBA
CiBdIGludGVyZmFjZSBQZXJmb3JtYW5jZU9ic2VydmVyIHsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHZvaWQgb2JzZXJ2ZShQZXJmb3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKICAgICB2
b2lkIGRpc2Nvbm5lY3QoKTsKLSAgICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFy
cmF5PERPTVN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlczsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0
RXhlY3V0aW9uQ29udGV4dF0gc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxE
T01TdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXM7CiB9OwogCiBkaWN0aW9uYXJ5IFBlcmZvcm1h
bmNlT2JzZXJ2ZXJJbml0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQ
YWludFRpbWluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VQYWludFRpbWluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMg
UmVzZXJ2ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVyZm9y
bWFuY2VQYWludFRpbWluZyBmaW5hbCA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IGNyZWF0ZUZpcnN0Q29u
dGVudGZ1bFBhaW50KGRvdWJsZSB0aW1lU3RhbXApCisgICAgeworICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50
Il9zLCB0aW1lU3RhbXApKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgUGVyZm9ybWFuY2VQYWlu
dFRpbWluZyhjb25zdCBTdHJpbmcmIG5hbWUsIGRvdWJsZSB0aW1lU3RhbXApCisgICAgICAgIDog
UGVyZm9ybWFuY2VFbnRyeShuYW1lLCB0aW1lU3RhbXAsIHRpbWVTdGFtcCkKKyAgICB7CisgICAg
fQorCisgICAgQVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJw
YWludCJfczsgfQorICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFR5cGU6OlBh
aW50OyB9CisKKyAgICB+UGVyZm9ybWFuY2VQYWludFRpbWluZygpID0gZGVmYXVsdDsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihX
ZWJDb3JlOjpQZXJmb3JtYW5jZVBhaW50VGltaW5nKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShj
b25zdCBXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnkuaXNQ
YWludCgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwJKG5vbmV4aXN0ZW50KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lN
ZWRpYSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L3BhaW50LXRpbWluZy8KKwordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKwor
WworICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGFpbnRUaW1pbmcsCisgICAgRXhwb3NlZD0oV2luZG93
KSwKK10gaW50ZXJmYWNlIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgOiBQZXJmb3JtYW5jZUVudHJ5
IHsKK307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDkgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0VXNlclRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1VzZXJU
aW1pbmdFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCB1c2VyVGltaW5nRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNVc2VyVGltaW5nRW5hYmxlZDsgfQogCisgICAgdm9pZCBzZXRQ
YWludFRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1BhaW50VGltaW5nRW5hYmxl
ZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgcGFpbnRUaW1pbmdFbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc1BhaW50VGltaW5nRW5hYmxlZDsgfQorCiAgICAgYm9vbCBwZXJmb3JtYW5jZVRp
bWVsaW5lRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIHJlc291cmNlVGltaW5nRW5hYmxlZCgpIHx8
IHVzZXJUaW1pbmdFbmFibGVkKCk7IH0KIAogICAgIHZvaWQgc2V0U2hhZG93RE9NRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX2lzU2hhZG93RE9NRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQpAQCAt
NDI0LDYgKzQyNyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzTGlua1ByZWxvYWRFbmFibGVk
IHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pc0xpbmtQcmVmZXRjaEVuYWJsZWQgeyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9pc01lZGlhUHJlbG9hZGluZ0VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wg
bV9pc1BhaW50VGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzUmVzb3VyY2VU
aW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNVc2VyVGltaW5nRW5hYmxlZCB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQg
eyBmYWxzZSB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50
LmNwcAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjksNiArMzI5LDUwIEBAIFN0eWxlRGlm
ZmVyZW5jZSBSZW5kZXJFbGVtZW50OjphZGp1c3RTdHkKICAgICByZXR1cm4gZGlmZjsKIH0KIAor
Ym9vbCBSZW5kZXJFbGVtZW50Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQoKSBjb25zdAorewor
ICAgIGlmICghb3BhY2l0eSgpIHx8IGlzU1ZHSGlkZGVuQ29udGFpbmVyKCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGF1dG8gaGFzUG90ZW50aWFsbHlWaXNpYmxlUmVnaW9ucyA9IFsm
XSgpIHsKKyAgICAgICAgaWYgKHN0eWxlKCkudmlzaWJpbGl0eSgpICE9IFZpc2liaWxpdHk6OlZp
c2libGUpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgYXV0byBkb2N1bWVu
dFJlY3QgPSB2aWV3KCkuZG9jdW1lbnRSZWN0KCk7CisKKyAgICAgICAgaWYgKGF1dG8qIGN1cnJl
bnQgPSBlbGVtZW50KCkpCisgICAgICAgICAgICByZXR1cm4gY3VycmVudC0+Ym91bmRpbmdDbGll
bnRSZWN0KCkuaW50ZXJzZWN0cyhkb2N1bWVudFJlY3QpOworCisgICAgICAgIHJldHVybiBpc1Zp
c2libGVJbkRvY3VtZW50UmVjdChkb2N1bWVudFJlY3QpOworICAgIH07CisKKyAgICBpZiAoaXND
b250ZW50ZnVsKCkgJiYgaGFzUG90ZW50aWFsbHlWaXNpYmxlUmVnaW9ucygpKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgIGZvciAoY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJPYmplY3Qg
PSBmaXJzdENoaWxkKCk7IHJlbmRlck9iamVjdDsgcmVuZGVyT2JqZWN0ID0gcmVuZGVyT2JqZWN0
LT5uZXh0U2libGluZygpKSB7CisgICAgICAgIGlmIChyZW5kZXJPYmplY3QtPmNvbnRhaW5zUGFp
bnRhYmxlQ29udGVudCgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAg
cmV0dXJuIGZhbHNlOworfQorCitib29sIFJlbmRlckVsZW1lbnQ6OmlzQ29udGVudGZ1bCgpIGNv
bnN0Cit7CisgICAgaWYgKGhhc093blBhaW50YWJsZUNvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICBpZiAoc3R5bGUoKS5oYXNQYWludGFibGVDYWNoZWRCYWNrZ3JvdW5kSW1h
Z2UoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDogY2hp
bGRyZW5PZlR5cGU8UmVuZGVyT2JqZWN0PigqdGhpcykpIHsKKyAgICAgICAgaWYgKGlzPFJlbmRl
clRleHQ+KGNoaWxkKSAmJiAhZG93bmNhc3Q8UmVuZGVyVGV4dD4oY2hpbGQpLmNvbnRhaW5zT25s
eUhUTUxXaGl0ZXNwYWNlKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKIGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6Omhhc0ltbWVk
aWF0ZU5vbldoaXRlc3BhY2VUZXh0Q2hpbGRPckJvcmRlck9yT3V0bGluZSgpIGNvbnN0CiB7CiAg
ICAgZm9yIChhdXRvJiBjaGlsZCA6IGNoaWxkcmVuT2ZUeXBlPFJlbmRlck9iamVjdD4oKnRoaXMp
KSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJKHJldmlz
aW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEwMCw2ICsxMDAsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IHZvaWQgZGlydHlMaW5lc0Zyb21DaGFuZ2VkQ2hpbGQoUmVuZGVyT2JqZWN0JikgeyB9CiAKKyAg
ICB2aXJ0dWFsIGJvb2wgaGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CisKICAgICBib29sIGFuY2VzdG9yTGluZUJveERpcnR5KCkgY29uc3QgeyByZXR1cm4g
bV9hbmNlc3RvckxpbmVCb3hEaXJ0eTsgfQogICAgIHZvaWQgc2V0QW5jZXN0b3JMaW5lQm94RGly
dHkoYm9vbCBmID0gdHJ1ZSk7CiAKQEAgLTEzOSw2ICsxNDEsOCBAQCBwdWJsaWM6CiAgICAgYm9v
bCBpc1RyYW5zcGFyZW50KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5vcGFjaXR5KCkgPCAxLjBm
OyB9CiAgICAgZmxvYXQgb3BhY2l0eSgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkub3BhY2l0eSgp
OyB9CiAKKyAgICBib29sIGNvbnRhaW5zUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IGZpbmFsOwor
CiAgICAgYm9vbCB2aXNpYmxlVG9IaXRUZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS52
aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6VmlzaWJsZSAmJiBzdHlsZSgpLnBvaW50ZXJFdmVu
dHMoKSAhPSBQb2ludGVyRXZlbnRzOjpOb25lOyB9CiAKICAgICBib29sIGhhc0JhY2tncm91bmQo
KSBjb25zdCB7IHJldHVybiBzdHlsZSgpLmhhc0JhY2tncm91bmQoKTsgfQpAQCAtMzE2LDYgKzMy
MCw4IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBjb21wdXRl
Rmlyc3RMaW5lU3R5bGUoKSBjb25zdDsKICAgICB2b2lkIGludmFsaWRhdGVDYWNoZWRGaXJzdExp
bmVTdHlsZSgpOwogCisgICAgYm9vbCBpc0NvbnRlbnRmdWwoKSBjb25zdDsKKwogICAgIGJvb2wg
Y2FuRGVzdHJveURlY29kZWREYXRhKCkgZmluYWwgeyByZXR1cm4gIWlzVmlzaWJsZUluVmlld3Bv
cnQoKTsgfQogICAgIFZpc2libGVJblZpZXdwb3J0U3RhdGUgaW1hZ2VGcmFtZUF2YWlsYWJsZShD
YWNoZWRJbWFnZSYsIEltYWdlQW5pbWF0aW5nU3RhdGUsIGNvbnN0IEludFJlY3QqIGNoYW5nZVJl
Y3QpIGZpbmFsOwogICAgIHZvaWQgZGlkUmVtb3ZlQ2FjaGVkSW1hZ2VDbGllbnQoQ2FjaGVkSW1h
Z2UmKSBmaW5hbDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2Fu
dmFzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRN
TENhbnZhcy5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJIVE1MQ2FudmFzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsMTEgQEAg
UmVuZGVySFRNTENhbnZhczo6UmVuZGVySFRNTENhbnZhcyhIVE1MQwogewogfQogCitib29sIFJl
bmRlckhUTUxDYW52YXM6Omhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIHJl
dHVybiAhIWNhbnZhc0VsZW1lbnQoKS5yZW5kZXJpbmdDb250ZXh0KCk7Cit9CisKIEhUTUxDYW52
YXNFbGVtZW50JiBSZW5kZXJIVE1MQ2FudmFzOjpjYW52YXNFbGVtZW50KCkgY29uc3QKIHsKICAg
ICByZXR1cm4gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KG5vZGVGb3JOb25Bbm9ueW1vdXMo
KSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmgJ
KHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1M
Q2FudmFzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGVsZW1lbnQoKSBjb25zdCA9IGRlbGV0ZTsKICAgICBib29sIHJlcXVpcmVzTGF5ZXIoKSBj
b25zdCBvdmVycmlkZTsKICAgICBib29sIGlzQ2FudmFzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gdHJ1ZTsgfQorICAgIGJvb2wgaGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IG92ZXJy
aWRlOwogICAgIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biAiUmVuZGVySFRNTENhbnZhcyI7IH0KICAgICB2b2lkIHBhaW50UmVwbGFjZWQoUGFpbnRJbmZv
JiwgY29uc3QgTGF5b3V0UG9pbnQmKSBvdmVycmlkZTsKICAgICB2b2lkIGludHJpbnNpY1NpemVD
aGFuZ2VkKCkgb3ZlcnJpZGUgeyBjYW52YXNTaXplQ2hhbmdlZCgpOyB9CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMzOSw2ICszMzksMTEgQEAgdm9pZCBSZW5kZXJJbWFnZTo6dXBkYXRlSW50cmluc2ljU2l6ZUlm
TgogICAgIHNldEludHJpbnNpY1NpemUobmV3U2l6ZSk7CiB9CiAKK2Jvb2wgUmVuZGVySW1hZ2U6
Omhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiBtX2ltYWdlUmVz
b3VyY2UtPmNhY2hlZEltYWdlKCkgJiYgIW1faW1hZ2VSZXNvdXJjZS0+aW1hZ2VTaXplKDEpLmlz
RW1wdHkoKTsKK30KKwogdm9pZCBSZW5kZXJJbWFnZTo6dXBkYXRlSW5uZXJDb250ZW50UmVjdCgp
CiB7CiAgICAgLy8gUHJvcGFnYXRlIGNvbnRhaW5lciBzaXplIHRvIGltYWdlIHJlc291cmNlLgpJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgJKHJldmlzaW9uIDI1OTE5
NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC03Niw2ICs3Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRE
aXNwbGF5QnJva2VuSW1hZ2VJY29uKCkgY29uc3Q7CiAKKyAgICBib29sIGhhc093blBhaW50YWJs
ZUNvbnRlbnQoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGhhc05vbkJpdG1hcEltYWdlKCkg
Y29uc3Q7CiAKICAgICBib29sIGlzRWRpdGFibGVJbWFnZSgpIGNvbnN0OwpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
NzgsNiArMjc4LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzUmVuZGVyU2Nyb2xs
YmFyUGFydCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgY29u
dGFpbnNQYWludGFibGVDb250ZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwogICAgIGJv
b2wgaXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIGRvY3VtZW50KCku
ZG9jdW1lbnRFbGVtZW50KCkgPT0gJm1fbm9kZTsgfQogICAgIGJvb2wgaXNCb2R5KCkgY29uc3Qg
eyByZXR1cm4gbm9kZSgpICYmIG5vZGUoKS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmJvZHlUYWcp
OyB9CiAgICAgYm9vbCBpc0hSKCkgY29uc3QgeyByZXR1cm4gbm9kZSgpICYmIG5vZGUoKS0+aGFz
VGFnTmFtZShIVE1MTmFtZXM6OmhyVGFnKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dC5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNyArMTc5LDcgQEAgcHVibGlj
OgogICAgIExheW91dFVuaXQgdG9wT2ZGaXJzdFRleHQoKSBjb25zdDsKICAgICAKICAgICBib29s
IGNvbnRhaW5zT25seUhUTUxXaGl0ZXNwYWNlKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0
aCkgY29uc3Q7Ci0gICAgCisgICAgYm9vbCBjb250YWluc09ubHlIVE1MV2hpdGVzcGFjZSgpIGNv
bnN0IHsgcmV0dXJuIGNvbnRhaW5zT25seUhUTUxXaGl0ZXNwYWNlKDAsIHRleHQoKS5sZW5ndGgo
KSk7IH0gCiAgICAgYm9vbCBjYW5Vc2VTaW1wbGlmaWVkVGV4dE1lYXN1cmluZygpIGNvbnN0IHsg
cmV0dXJuIG1fY2FuVXNlU2ltcGxpZmllZFRleHRNZWFzdXJpbmc7IH0KIAogICAgIFZlY3Rvcjxz
dGQ6OnBhaXI8dW5zaWduZWQsIHVuc2lnbmVkPj4gZHJhZ2dlZENvbnRlbnRSYW5nZXNCZXR3ZWVu
T2Zmc2V0cyh1bnNpZ25lZCBzdGFydE9mZnNldCwgdW5zaWduZWQgZW5kT2Zmc2V0KSBjb25zdDsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkocmV2aXNpb24g
MjU5MTk0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtOTIsNiArOTIsMTQgQEAgdm9pZCBSZW5kZXJWaWRlbzo6aW50cmluc2lj
U2l6ZUNoYW5nZWQoKQogICAgIHVwZGF0ZUludHJpbnNpY1NpemUoKTsgCiB9CiAKK2Jvb2wgUmVu
ZGVyVmlkZW86Omhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIGlmICh2aWRl
b0VsZW1lbnQoKS5zaG91bGREaXNwbGF5UG9zdGVySW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIFJl
bmRlckltYWdlOjpoYXNPd25QYWludGFibGVDb250ZW50KCk7CisKKyAgICByZXR1cm4gdmlkZW9F
bGVtZW50KCkucmVhZHlTdGF0ZSgpID4gSFRNTE1lZGlhRWxlbWVudEVudW1zOjpIQVZFX01FVEFE
QVRBOworfQorCiBib29sIFJlbmRlclZpZGVvOjp1cGRhdGVJbnRyaW5zaWNTaXplKCkKIHsKICAg
ICBMYXlvdXRTaXplIHNpemUgPSBjYWxjdWxhdGVJbnRyaW5zaWNTaXplKCk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3
LDYgKzY3LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIGlzVmlkZW8oKSBjb25zdCBmaW5hbCB7IHJl
dHVybiB0cnVlOyB9CisgICAgYm9vbCBoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3Qgb3Zl
cnJpZGU7CiAKICAgICB2b2lkIHBhaW50UmVwbGFjZWQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0
UG9pbnQmKSBmaW5hbDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Zp
bGxMYXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L0ZpbGxMYXllci5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDAsNiArMzQwLDE1
IEBAIGJvb2wgRmlsbExheWVyOjpjb250YWluc0ltYWdlKFN0eWxlSW1hZ2UKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKK2Jvb2wgRmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSgpIGNvbnN0
Cit7CisgICAgZm9yIChhdXRvKiBsYXllciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5t
X25leHQuZ2V0KCkpIHsKKyAgICAgICAgaWYgKGxheWVyLT5tX2ltYWdlICYmIGxheWVyLT5tX2lt
YWdlLT5pc0xvYWRlZCgpICYmIGxheWVyLT5tX2ltYWdlLT5oYXNDYWNoZWRJbWFnZSgpKQorICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9v
bCBGaWxsTGF5ZXI6OmltYWdlc0FyZUxvYWRlZCgpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvKiBs
YXllciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5tX25leHQuZ2V0KCkpIHsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgJKHJldmlzaW9uIDI1
OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtMTQ1LDYgKzE0NSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgY29udGFp
bnNJbWFnZShTdHlsZUltYWdlJikgY29uc3Q7CiAgICAgYm9vbCBpbWFnZXNBcmVMb2FkZWQoKSBj
b25zdDsKKyAgICBib29sIGhhc0xvYWRlZENhY2hlZEltYWdlKCkgY29uc3Q7CiAgICAgYm9vbCBo
YXNJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmV4dCA/IGhhc0ltYWdlSW5BbnlMYXllcigpIDog
bV9pbWFnZTsgfQogICAgIGJvb2wgaGFzRml4ZWRJbWFnZSgpIGNvbnN0OwogICAgIGJvb2wgaGFz
T3BhcXVlSW1hZ2UoY29uc3QgUmVuZGVyRWxlbWVudCYpIGNvbnN0OwpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiAyNTkx
OTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NDQsNiArNDQ0LDIxIEBAIGJvb2wgUmVuZGVyU3R5bGU6OmRlc2Nl
bmRhbnRBZmZlY3RpbmdOb24KICAgICAgICAgJiYgbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+anVz
dGlmeUl0ZW1zID09IG90aGVyLm1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmp1c3RpZnlJdGVtczsK
IH0KIAorYm9vbCBSZW5kZXJTdHlsZTo6aGFzUGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdl
KCkgY29uc3QKK3sKKyAgICBpZiAoIWhhc0JhY2tncm91bmRJbWFnZSgpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBjb25zdCBGaWxsTGF5ZXImIGJhY2tncm91bmQgPSBiYWNrZ3JvdW5k
TGF5ZXJzKCk7CisgICAgaWYgKCFiYWNrZ3JvdW5kLmhhc0xvYWRlZENhY2hlZEltYWdlKCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChiYWNrZ3JvdW5kU2l6ZUxlbmd0aCgpLmlz
RW1wdHkoKSAmJiBiYWNrZ3JvdW5kU2l6ZVR5cGUoKSA9PSBGaWxsU2l6ZVR5cGU6OlNpemUpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOworfQorCiAjaWYgRU5BQkxF
KFRFWFRfQVVUT1NJWklORykKIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBjb21wdXRlRm9udEhh
c2goY29uc3QgRm9udENhc2NhZGUmIGZvbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQx
NSw2ICs0MTUsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgTGVuZ3RoU2l6ZSYgYmFja2dyb3VuZFNp
emVMZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2JhY2tncm91bmREYXRhLT5iYWNrZ3JvdW5kLnNp
emVMZW5ndGgoKTsgfQogICAgIEZpbGxMYXllciYgZW5zdXJlQmFja2dyb3VuZExheWVycygpIHsg
cmV0dXJuIG1fYmFja2dyb3VuZERhdGEuYWNjZXNzKCkuYmFja2dyb3VuZDsgfQogICAgIGNvbnN0
IEZpbGxMYXllciYgYmFja2dyb3VuZExheWVycygpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2dyb3Vu
ZERhdGEtPmJhY2tncm91bmQ7IH0KKyAgICBib29sIGhhc1BhaW50YWJsZUNhY2hlZEJhY2tncm91
bmRJbWFnZSgpIGNvbnN0OwogCiAgICAgU3R5bGVJbWFnZSogbWFza0ltYWdlKCkgY29uc3QgeyBy
ZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bWFzay5pbWFnZSgpOyB9CiAgICAgRmlsbFJl
cGVhdCBtYXNrUmVwZWF0WCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEZpbGxSZXBlYXQ+
KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPm1hc2sucmVwZWF0WCgpKTsgfQpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5j
cHAJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHTW9kZWxPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTgsNiArMTU4LDExIEBA
IHN0YXRpYyBib29sIGlzR3JhcGhpY3NFbGVtZW50KGNvbnN0IFJlbmQKICAgICByZXR1cm4gcmVu
ZGVyZXIuaXNTVkdTaGFwZSgpIHx8IHJlbmRlcmVyLmlzU1ZHVGV4dCgpIHx8IHJlbmRlcmVyLmlz
U1ZHSW1hZ2UoKSB8fCByZW5kZXJlci5lbGVtZW50KCktPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnVz
ZVRhZyk7CiB9CiAKK2Jvb2wgUmVuZGVyU1ZHTW9kZWxPYmplY3Q6Omhhc093blBhaW50YWJsZUNv
bnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiBpc0dyYXBoaWNzRWxlbWVudCgqdGhpcyk7Cit9
CisKIC8vIFRoZSBTVkcgYWRkRm9jdXNSaW5nUmVjdHMoKSBtZXRob2QgYWRkcyByZWN0cyBpbiBs
b2NhbCBjb29yZGluYXRlcyBzbyB0aGUgZGVmYXVsdCBhYnNvbHV0ZUZvY3VzUmluZ1F1YWRzCiAv
LyByZXR1cm5zIGluY29ycmVjdCB2YWx1ZXMgZm9yIFNWRyBvYmplY3RzLiBPdmVycmlkaW5nIHRo
aXMgbWV0aG9kIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgYWJzb2x1dGUgYm91bmRzLgogdm9pZCBS
ZW5kZXJTVkdNb2RlbE9iamVjdDo6YWJzb2x1dGVGb2N1c1JpbmdRdWFkcyhWZWN0b3I8RmxvYXRR
dWFkPiYgcXVhZHMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R01vZGVsT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTY5LDYgKzY5LDcgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIGJvb2wgaXNSZW5k
ZXJTVkdNb2RlbE9iamVjdCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKyAgICBib29s
IGhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdCBmaW5hbDsKIAogICAgIC8vIFRoaXMgbWV0
aG9kIHNob3VsZCBuZXZlciBiZSBjYWxsZWQsIFNWRyB1c2VzIGEgZGlmZmVyZW50IG5vZGVBdFBv
aW50IG1ldGhvZAogICAgIGJvb2wgbm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBI
aXRUZXN0UmVzdWx0JiwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVy
LCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRlc3RBY3Rpb24pIG92
ZXJyaWRlOwpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDMtMjMgIE5v
YW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1Ag
KGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSBydW50aW1lIGZsYWcgZm9yIHBhaW50LXRpbWluZyAocGFp
bnRUaW1pbmdFbmFibGVkKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAg
KFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJl
bmNlc0dldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGF0ZVByZWZlcmVuY2VzU3RvcmUpOgorCiAyMDIw
LTAzLTI5ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW0F1
dG9TaXppbmddIEJyaW5nIGJhY2sgdGhlIG9sZCBhdXRvLXNpemluZyBjb2RlIGFzIGEgZGVwcmVj
YXRlZCBjb2RlcGF0aCBmb3IgY29tcGF0aWJpbGl0eSByZWFzb25zCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTgz
OSw2ICs4MzksMTMgQEAgVXNlclRpbWluZ0VuYWJsZWQ6CiAgIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIkVuYWJsZSBVc2VyVGltaW5nIEFQSSIKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMKIAorUGFpbnRUaW1pbmdFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRl
ZmF1bHRWYWx1ZTogdHJ1ZQorICBodW1hblJlYWRhYmxlTmFtZTogIlBhaW50IFRpbWluZyIKKyAg
aHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFBhaW50IFRpbWluZyBBUEkiCisgIHdl
YmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisKIEJlYWNvbkFQSUVuYWJsZWQ6
CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gMjU5MTk0
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE4MTksNiArMTgxOSwxNiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRV
c2VyVGltaW5nRW5hYmxlZChXCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnVz
ZXJUaW1pbmdFbmFibGVkKCk7CiB9CiAKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5n
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCit7Cisg
ICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0UGFpbnRUaW1pbmdFbmFibGVkKGZsYWcpOwor
fQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVm
KS0+cGFpbnRUaW1pbmdFbmFibGVkKCk7Cit9CisKIHZvaWQgV0tQcmVmZXJlbmNlc1NldFJlc291
cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZs
YWcpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0UmVzb3VyY2VUaW1pbmdFbmFi
bGVkKGZsYWcpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlc1JlZlByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MDAsNiArNTAwLDEwIEBAIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5j
ZXNTZXRVc2VyVGltaW4KIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRVc2VyVGltaW5n
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIAogLy8gRGVmYXVsdHMgdG8gZmFsc2UKK1dLX0VY
UE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiwgYm9vbCBmbGFnKTsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRQYWludFRp
bWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CisKKy8vIERlZmF1bHRzIHRvIGZhbHNlCiBX
S19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0
UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMiw2ICsxMjIsNyBAQCB2b2lkIFdlYlNXQ29udGV4dE1h
bmFnZXJDb25uZWN0aW9uOjp1cGRhCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRDYWNoZUFQSUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdl
YlByZWZlcmVuY2VzS2V5OjpjYWNoZUFQSUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElFbmFibGVkKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6ZmV0Y2hBUElFbmFibGVkS2V5KCkp
KTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFVzZXJU
aW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6
dXNlclRpbWluZ0VuYWJsZWRLZXkoKSkpOworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZv
cktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFpbnRUaW1pbmdFbmFibGVkS2V5KCkpKTsKICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFJlc291cmNlVGltaW5n
RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlc291
cmNlVGltaW5nRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpmZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWRLZXko
KSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVz
dHJpY3RlZEhUVFBSZXNwb25zZUFjY2VzcyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OnJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3NLZXkoKSkpOwpJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAg
IEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBwcmVmZXJlbmNlIGtleSBmb3Ig
cGFpbnQgdGltaW5nLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tX
ZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHBh
aW50VGltaW5nRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRQYWludFRp
bWluZ0VuYWJsZWQ6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUu
aDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisKIDIwMjAtMDMtMjkgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgVGV4dEl0ZXJhdG9yOjpyYW5n
ZUZyb21Mb2NhdGlvbkFuZExlbmd0aCBvZmYgb2YgbGl2ZSByYW5nZXMKSW5kZXg6IFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjYw
LDYgKzI2MCw3IEBACiAjZGVmaW5lIFdlYktpdEF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZFByZWZl
cmVuY2VLZXkgQCJXZWJLaXRBdHRhY2htZW50RWxlbWVudEVuYWJsZWQiCiAjZGVmaW5lIFdlYktp
dEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRJbnRlcnNl
Y3Rpb25PYnNlcnZlckVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdE1lbnVJdGVtRWxlbWVudEVuYWJs
ZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVudUl0ZW1FbGVtZW50RW5hYmxlZCIKKyNkZWZpbmUg
V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFBhaW50VGltaW5n
RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0VXNlclRpbWluZ0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFJlc291cmNlVGltaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQiCiAjZGVmaW5l
IFdlYktpdE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0UHJlZmVyZW5j
ZUtleSBAIldlYktpdE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0IgpJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCShyZXZpc2lvbiAyNTkxOTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02ODMsNiArNjgzLDcgQEAg
KyAodm9pZClpbml0aWFsaXplCiAjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKICAg
ICAgICAgQE5PLCBXZWJLaXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5
LAogI2VuZGlmCisgICAgICAgIEBOTywgV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5j
ZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXks
CiAgICAgICAgIEBOTywgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwK
ICAgICAgICAgQE5PLCBXZWJLaXRNZWRpYVVzZXJHZXN0dXJlSW5oZXJpdHNGcm9tRG9jdW1lbnQs
CkBAIC0zMzA4LDYgKzMzMDksMTYgQEAgLSAodm9pZClzZXRVc2VyVGltaW5nRW5hYmxlZDooQk9P
TClmbGFnCiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRVc2VyVGlt
aW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKXBhaW50VGltaW5nRW5hYmxl
ZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFBhaW50VGltaW5n
RW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldFBhaW50VGltaW5nRW5hYmxl
ZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJL
aXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogLSAoQk9PTClyZXNvdXJj
ZVRpbWluZ0VuYWJsZWQKIHsKICAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJL
aXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUu
aAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjYxLDYgKzY2MSw3IEBA
IEBpbnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGUpCiBAcHJvcGVydHkgKG5vbmF0
b21pYykgQk9PTCBrZXlnZW5FbGVtZW50RW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBC
T09MIHVzZXJUaW1pbmdFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcmVzb3Vy
Y2VUaW1pbmdFbmFibGVkOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcGFpbnRUaW1pbmdF
bmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbGlua1ByZWxvYWRFbmFibGVkOwog
QHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbWVkaWFVc2VyR2VzdHVyZUluaGVyaXRzRnJvbURv
Y3VtZW50OwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgaXNTZWN1cmVDb250ZXh0QXR0cmli
dXRlRW5hYmxlZDsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0JKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzE5Niw2ICszMTk2LDcgQEAgLSAodm9p
ZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbgogCiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZChwcmVmZXJlbmNl
cy51c2VyVGltaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMucmVzb3VyY2VU
aW1pbmdFbmFibGVkKTsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldFBhaW50VGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5wYWludFRpbWluZ0VuYWJsZWQp
OwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1By
ZWxvYWRFbmFibGVkKHByZWZlcmVuY2VzLmxpbmtQcmVsb2FkRW5hYmxlZCk7CiAgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZWRpYVByZWxvYWRpbmdFbmFi
bGVkKHByZWZlcmVuY2VzLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0SXNTZWN1cmVDb250ZXh0QXR0cmlidXRl
RW5hYmxlZChwcmVmZXJlbmNlcy5pc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIz
IEBACisyMDIwLTAzLTIzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHByZWZlcmVuY2Uga2V5IGZv
ciBwYWludC10aW1pbmcuCisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAg
ICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuY3BwOgorICAg
ICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXND
aGFuZ2VkKToKKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzLmlkbDoKKyAg
ICAgICAgKiBJbnRlcmZhY2VzL1dlYktpdC5pZGw6CisgICAgICAgICAgICAgICAgVG91Y2hlZCB0
byB0cmlnZ2VyIGJ1aWxkLgorCiAyMDIwLTAzLTI5ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxl
LmNvbT4KIAogICAgICAgICBNb3ZlIFRleHRJdGVyYXRvcjo6cmFuZ2VGcm9tTG9jYXRpb25BbmRM
ZW5ndGggb2ZmIG9mIGxpdmUgcmFuZ2VzCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24gMjU5MTk0KQorKysg
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTE5Nyw2ICsxOTcsOCBAQAogCiAjZGVmaW5lIFdlYktpdFVzZXJUaW1pbmdF
bmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0VXNlclRpbWluZ0VuYWJsZWQiCiAKKyNkZWZpbmUg
V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0UGFpbnRUaW1pbmdF
bmFibGVkIgorCiAjZGVmaW5lIFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXkgIldlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZCIKIAogI2RlZmluZSBXZWJLaXRMaW5rUHJl
bG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWQiCkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAy
NTkxOTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMyNiw2ICszMjYsOCBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjppbml0
aWFsaXplRGVmYXVsdFNlCiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZT
VFIoV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5G
YWxzZSk7CiAKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0
UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CisKICAg
ICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0TGlua1ByZWxvYWRF
bmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKICAgICBDRkRpY3Rpb25h
cnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZFBy
ZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwpAQCAtMjQxNCw2ICsyNDE2LDIwIEBAIEhS
RVNVTFQgV2ViUHJlZmVyZW5jZXM6OnJlc291cmNlVGltaW5nRW4KICAgICByZXR1cm4gU19PSzsK
IH0KIAorSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0UGFpbnRUaW1pbmdFbmFibGVkKEJPT0wg
ZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUoV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJl
ZmVyZW5jZUtleSwgZW5hYmxlZCk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2Vi
UHJlZmVyZW5jZXM6OnBhaW50VGltaW5nRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQorewor
ICAgIGlmICghZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKyAgICAqZW5hYmxl
ZCA9IGJvb2xWYWx1ZUZvcktleShXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5
KTsKKyAgICByZXR1cm4gU19PSzsKK30KKwogSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2VydmVy
VGltaW5nRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQogewogICAgIGlmICghZW5hYmxlZCkK
SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAkocmV2aXNpb24g
MjU5MTk0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAkod29y
a2luZyBjb3B5KQpAQCAtMzA3LDYgKzMwNyw4IEBAIHB1YmxpYzoKICAgICAvLyBJV2ViUHJlZmVy
ZW5jZXNQcml2YXRlOAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBhbGxv
d1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKF9PdXRfIEJPT0wqKTsKICAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhCT09M
KTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcGFpbnRUaW1pbmdFbmFi
bGVkKF9PdXRfIEJPT0wqKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
c2V0UGFpbnRUaW1pbmdFbmFibGVkKEJPT0wpOwogCiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIApJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAJKHJldmlzaW9uIDI1OTE5NCkKKysr
IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
MjgzLDYgKzUyODMsMTEgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5n
ZQogICAgICAgICByZXR1cm4gaHI7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZCghIWVuYWJsZWQpOwogCisgICAgaHIgPSBw
cmVmc1ByaXZhdGUtPnBhaW50VGltaW5nRW5hYmxlZCgmZW5hYmxlZCk7CisgICAgaWYgKEZBSUxF
RChocikpCisgICAgICAgIHJldHVybiBocjsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLnNldFBhaW50VGltaW5nRW5hYmxlZCghIWVuYWJsZWQpOworCiAgICAg
aHIgPSBwcmVmc1ByaXZhdGUtPnJlc291cmNlVGltaW5nRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAg
aWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKSW5kZXg6IFNvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGwJKHJl
dmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdl
YlByZWZlcmVuY2VzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKSW5kZXg6IFNvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmlkbAkocmV2aXNpb24gMjU5MTk0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4v
SW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjY1LDQgKzI2NSw2IEBAIGludGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOCA6IElXZWIK
IHsKICAgICBIUkVTVUxUIGFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoW291dCwgcmV0dmFs
XSBCT09MKiBlbmFibGVkKTsKICAgICBIUkVTVUxUIHNldEFsbG93VG9wTmF2aWdhdGlvblRvRGF0
YVVSTHMoW2luXSBCT09MIGVuYWJsZWQpOworICAgIEhSRVNVTFQgcGFpbnRUaW1pbmdFbmFibGVk
KFtvdXQsIHJldHZhbF0gQk9PTCopOworICAgIEhSRVNVTFQgc2V0UGFpbnRUaW1pbmdFbmFibGVk
KFtpbl0gQk9PTCBlbmFibGVkKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0lu
dGVyZmFjZXMvV2ViS2l0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9JbnRlcmZhY2VzL1dlYktpdC5pZGwJKHJldmlzaW9uIDI1OTE5NCkKKysrIFNvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL0ludGVyZmFjZXMvV2ViS2l0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQs
NyArMjQsNyBAQAogICovCiAKIGNwcF9xdW90ZSgiLyoiKQotY3BwX3F1b3RlKCIgKiBDb3B5cmln
aHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLiIpCitjcHBfcXVvdGUoIiAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAw
NywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxNSwgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuIikKIGNwcF9xdW90ZSgiICoiKQogY3BwX3F1b3RlKCIgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQiKQogY3Bw
X3F1b3RlKCIgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMiKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5MTk0KQorKysgVG9vbHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDMtMjMgIE5vYW0gUm9zZW50
aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgcHJlZmVyZW5jZSBrZXkgZm9yIHBhaW50LXRpbWluZy4KKworICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0V2Vi
UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9D
b25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVyZW5jZXNU
b0NvbnNpc3RlbnRWYWx1ZXMpOgorCiAyMDIwLTAzLTI4ICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjU3OTYzKSBVSSBw
cm9jZXNzIGNyYXNoZXMgd2hlbiBzZXR0aW5nIG5hdmlnYXRpb24gZGVsZWdhdGUgaW5zaWRlIG5h
dmlnYXRpb24gZGVsZWdhdGUgY2FsbGJhY2tzCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvRHVtcFJlbmRlclRyZWUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tCShyZXZpc2lvbiAyNTkxOTQpCisrKyBUb29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwMDQsNiAr
MTAwNCw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3QKICAgICBb
cHJlZmVyZW5jZXMgc2V0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ6WUVTXTsKICAgICBbcHJl
ZmVyZW5jZXMgc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2Vz
IHNldFVzZXJUaW1pbmdFbmFibGVkOllFU107CisgICAgW3ByZWZlcmVuY2VzIHNldFBhaW50VGlt
aW5nRW5hYmxlZDpZRVNdOwogCiAgICAgW3ByZWZlcmVuY2VzIHNldENhY2hlQVBJRW5hYmxlZDpO
T107CiAgICAgcHJlZmVyZW5jZXMubWVkaWFDYXBhYmlsaXRpZXNFbmFibGVkID0gWUVTOwpJbmRl
eDogVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCShyZXZpc2lv
biAyNTkxOTQpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC05MjEsNiArOTIxLDcgQEAgc3RhdGljIHZvaWQgc2V0V2ViUHJl
ZmVyZW5jZXNGb3JUZXN0T3B0aQogICAgIHByZWZzUHJpdmF0ZS0+c2V0QWxsb3dUb3BOYXZpZ2F0
aW9uVG9EYXRhVVJMcyhvcHRpb25zLmFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMpOwogICAg
IHByZWZlcmVuY2VzLT5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKG9wdGlvbnMudXNlRXBoZW1l
cmFsU2Vzc2lvbik7CiAgICAgcHJlZmVyZW5jZXMtPnNldFVzZXNQYWdlQ2FjaGUob3B0aW9ucy5l
bmFibGVCYWNrRm9yd2FyZENhY2hlKTsKKyAgICBwcmVmc1ByaXZhdGUtPnNldFBhaW50VGltaW5n
RW5hYmxlZChUUlVFKTsKIH0KIAogc3RhdGljIFN0cmluZyBhcHBsaWNhdGlvbklkKCkKSW5kZXg6
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyNTkx
OTQpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtOTMxLDYgKzkzMSw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnJlc2V0UHJl
ZmVyZW5jZXNUb0MKICAgICBXS1ByZWZlcmVuY2VzU2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVk
KHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdF
bmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWlu
Z0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOworICAgIFdLUHJlZmVyZW5jZXNTZXRQYWludFRp
bWluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRNZWRp
YVByZWxvYWRpbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2Vz
U2V0TWVkaWFQbGF5YmFja0FsbG93c0lubGluZShwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQ
cmVmZXJlbmNlc1NldElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmli
dXRlKHByZWZlcmVuY2VzLCBmYWxzZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTkxOTQpCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMSBAQAorMjAy
MC0wMy0yMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1w
bGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3RzIGZvciBzb21lIGZpcnN0LWNv
bnRlbnRmdWwtcGFpbnQgKEZDUCkgdXNlLWNhc2VzLgorCisgICAgICAgICogcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVy
Zm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBl
cmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qczogQWRkZWQuCisgICAg
ICAgICAgICAgICAgVGVzdCBleGlzdGVuY2Ugb2YgcGFpbnQgdGltaW5nIEFQSSBvbiB0aGUgd2lu
ZG93IG9iamVjdC4KKworICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVs
LXBhaW50LWZyYW1lcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNl
LWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50
ZnVsLXBhaW50LXdpdGgtd29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNl
LWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZv
cm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAgICAgICAg
IFRlc3QgdGhhdCBGQ1AgaXMgbm90IGF2YWlsYWJsZSBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lcyBh
bmQgd29ya2Vycy4KKworICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNl
cnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9w
YWludC1hcGktdXRpbHMuanM6IEFkZGVkLgorICAgICAgICAoYXN5bmMgd2FpdEZvckZDUCk6Cisg
ICAgICAgICAgICAgICAgVGVzdCB0aGF0IHBlcmZvcm1hbmNlIG9ic2VydmVycyBhcmUgY2FsbGVk
IGZvciBGQ1AuCisKIDIwMjAtMDMtMzAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29t
PgogCiAgICAgICAgIFVwZGF0ZSBjc3Mvc2VsZWN0b3JzIFdQVCB0ZXN0cwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTkxOTQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzggQEAKKzIw
MjAtMDMtMjMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIElt
cGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBvcnRlZCB0ZXN0LXN1aXRlIGZyb20gdzNj
IHRvIGNvdmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FzZXMuCisgICAgICAgIFRoZSBmY3At
b25seSBjYXNlcyBhcmUgaW1wb3J0ZWQsIHdoaWxlIHRoZSBvdGhlciBvbmVzIGFyZSBub3Qgc2lu
Y2UgV2ViS2l0IGRvZXMgbm90IHN1cHBvcnQgZmlyc3QtcGFpbnQuCisKKyAgICAgICAgKiByZXNv
dXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZh
cy1jb250ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Z3JhZGllbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qt
cm90YXRlLWRlc2NlbmRhbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNj
YWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtc2NhbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtdGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0
LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtZGlzcGxheS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9w
YWNpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC10ZXh0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXN2Zy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdGV4dC1pbnB1dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC13aXRoLXJ0bC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNl
cy9jaXJjbGVzLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2Vu
ZGluZy1wYWludC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qczogQWRkZWQuCisgICAgICAgICh3YWl0VGltZSk6
CisgICAgICAgIChhc3luYyBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAg
KGFzeW5jIGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKHRlc3RfZmNwKToK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2Mt
aW1wb3J0LmxvZzogQWRkZWQuCisKIDIwMjAtMDMtMzAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlA
YXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBjc3Mvc2VsZWN0b3JzIFdQVCB0ZXN0cwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25z
Lmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9p
bXBvcnQtZXhwZWN0YXRpb25zLmpzb24JKHJldmlzaW9uIDI1OTE5NCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCSh3b3JraW5n
IGNvcHkpCkBAIC0xMyw2ICsxMyw4IEBACiAgICAgImNzcy9nZW9tZXRyeSI6ICJpbXBvcnQiLCAK
ICAgICAiY3NzL3N1cHBvcnQiOiAiaW1wb3J0IiwgCiAgICAgImN1c3RvbS1lbGVtZW50cyI6ICJp
bXBvcnQiLCAKKyAgICAicGFpbnQtdGltaW5nLyI6ICJpbXBvcnQiLCAKKyAgICAicGFpbnQtdGlt
aW5nL2ZjcC1vbmx5IjogImltcG9ydCIsIAogICAgICJzaGFkb3ctZG9tIjogImltcG9ydCIsIAog
ICAgICJ0b29scyI6ICJpbXBvcnQiLCAKICAgICAid2ViLWFuaW1hdGlvbnMiOiAiaW1wb3J0Iiwg
CkBAIC0zMTksNyArMzIxLDggQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL29yaWVudGF0aW9u
LWV2ZW50IjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL29yaWVudGF0aW9uLXNl
bnNvciI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYWdlLXZpc2liaWxpdHki
OiAic2tpcCIsIAotICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nIjogInNraXAi
LCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seSI6ICJpbXBv
cnQiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMiOiAi
aW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LWhhbmRsZXIiOiAic2tp
cCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1tZXRob2QtYmFzaWMtY2FyZCI6
ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LW1ldGhvZC1pZCI6ICJz
a2lwIiwgCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemUuIAorCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmFja2dyb3VuZC1zaXplLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tn
cm91bmQtc2l6ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5k
LXNpemUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVl
IHRvIGJhY2tncm91bmQgc2l6ZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAg
ICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9j
aXJjbGVzLnBuZyk7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCAwOworICAgIH0KKworICAg
IC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisg
ICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAl
OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
dXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAg
IHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5k
IHNpemUuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
Zy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
Zy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAor
CitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgaW1h
Z2UgaW4gaW1hZ2Utc2V0LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5j
ZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdl
LXNldDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7
CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFz
cyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVs
IHsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1pbWFnZS1zZXQodXJsKC4uL3Jl
c291cmNlcy9jaXJjbGVzLnBuZykgMXgpOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFn
ZS1zZXQodXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZykgMXgpOworICAgIH0KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0
PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNl
dC4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJn
LWltYWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWJnLWltYWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFj
a2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
Zy1pbWFnZS10d28tc3RlcHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1h
Z2UtdHdvLXN0ZXBzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdl
LXR3by1zdGVwcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZD
UCBzaG91bGQgZmlyZSBmb3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZTwvdGl0
bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBhbmQgcHJlRkNQIGNs
YXNzZXMgYXJlIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLnByZUZD
UCB7CisgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICB9CisKKyAgICAjbWFpbi5jb250
ZW50ZnVsLCAgI21haW4ucHJlRkNQIHsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4u
L3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCB7
CisgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlk
PSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZm9yIGJhY2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGUuIik7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1j
b250ZXh0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNv
bnRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMt
Y29udGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgQ2FudmFzIHNob3VsZCBjb3VudCBhcyBjb250ZW50ZnVsIHdoZW4gY29udGV4dCBpcyBjcmVh
dGVkIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50
IFRpbWluZyBUZXN0OiBGQ1Agd2hlbiBjYW52YXMgY29udGV4dCBpcyBjcmVhdGVkPC90aXRsZT4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8
c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRp
dGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBz
dXBwb3J0ZWQuIik7CisgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBh
aW50KCk7CisgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhbnZh
cycpOworICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICBj
b250ZXh0LmZpbGxSZWN0KDAsIDAsIDEwMCwgMTAwKTsKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENv
bnRlbnRmdWxQYWludCgpOworICB9LCAnQ2FudmFzIHNob3VsZCBjb3VudCBhcyBjb250ZW50ZnVs
IHdoZW4gY29udGV4dCBpcyBjcmVhdGVkJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzIEBACisKK1BBU1MgR3JhZGllbnRzIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bCAK
KwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWdyYWRpZW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRp
ZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3Vs
ZCBub3QgZmlyZSB3aXRoIGdyYWRpZW50LW9ubHkgYmFja2dyb3VuZHM8L3RpdGxlPgorPHN0eWxl
PgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9t
LCBvcmFuZ2UsIGJsdWUpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+
Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRfcHJl
Y29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlz
bid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGNvbnN0IG1haW4gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnbWFpbicpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50
ZnVsUGFpbnQoKTsKKyAgfSwgICdHcmFkaWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50
ZnVsJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50
eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVz
Y2VuZGFudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0
CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9y
IGdldHRpbmcgcm90YXRpbmcgaW50byB2aWV3LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Q
ZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byAzZCByZXZlYWxpbmcgb2Yg
ZGVzY2VuZGFudHM8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6
IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAg
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICB0cmFuc2Zv
cm06IHJvdGF0ZVgoNDVkZWcpOworICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNk
OworICAgIH0KKworICAgIC8qCisgICAgICAgVGhpcyB0ZXN0cyB0aGF0IGdpdmVuIG11bHRpcGxp
Y2F0aW9uIGVmZmVjdCBvZiAzZCB0cmFuc2Zvcm1zIG9uIGJvdW5kaW5nIHJlY3QsCisgICAgICAg
QW4gZWxlbWVudCBjb3VudHMgYXMgY29udGVudGZ1bC9wYWludGFibGUgb25seSB3aGVuIGl0cyBi
b3VuZGluZyByZWN0IGlzIHRydWx5IG5vbi1lbXB0eSAqLworICAgICNjaGlsZCB7CisgICAgICAg
IHRyYW5zZm9ybTogcm90YXRlWCg0NWRlZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBj
bGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50
ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBp
ZD0ibWFpbiI+CisgICAgPGRpdiBpZD0iY2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlw
dD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRz
IGFuY2VzdG9yIGdldHRpbmcgcm90YXRpbmcgaW50byB2aWV3LiIpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qt
cm90YXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RleHQK
KworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byAzZCByb3RhdGlvbiBp
bnRvIHZpZXcuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRp
dGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIDNkIHJvdGF0aW9u
IGludG8gdmlldzwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDog
MTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAg
ICAgdHJhbnNmb3JtOiByb3RhdGVZKDkwZGVnKTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZl
OworICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBk
ZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAg
ICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+
VGV4dDwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWlu
dCBmaXJlcyBkdWUgdG8gM2Qgcm90YXRpb24gaW50byB2aWV3LiIpCis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiAKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUt
dHJhbnNpdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitU
RVhUCisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIHJldmVhbGVkIGR1
cmluZyB0cmFuc2l0aW9uLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10
cmFuc2l0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2Fs
ZS10cmFuc2l0aW9uLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGluIHRyYW5zaXRpb248L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAg
ICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0
OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CisgICAgICAgIHRyYW5zaXRpb246
IHRyYW5zZm9ybSAxMHM7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9w
OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0
X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9y
bTogc2NhbGUoMSk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj5URVhUPC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdo
ZW4gcmV2ZWFsZWQgZHVyaW5nIHRyYW5zaXRpb24uIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFp
bnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gc2NhbGUgY2hhbmdlPC90aXRsZT4KKzxzdHlsZT4K
KyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAg
ICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dy
b3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAg
LyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAg
ICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwv
c2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBzY2FsZSBiZWNvbWluZyBwb3NpdGl2
ZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtdGV4dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWlu
dmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAK
K0lOVklTSUJMRQorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBz
ZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLXRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRl
eHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIHN0aWxs
IGZpcmUgZm9yIGludmlzaWJsZSB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7Cisg
ICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgICAgIGNv
bG9yOiByZ2JhKDAsIDAsIDAsIDApOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3Mg
aXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7
CisgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlk
PSJtYWluIj4KKyAgICBJTlZJU0lCTEUKKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgi
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21p
bmcgdmlzaWJsZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiAKKwpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQ
YWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBhbmNlc3RvciBvcGFjaXR5PC90aXRsZT4KKzxz
dHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgICAgIHRvcDogMDsKKyAgICB9CisKKyAgICAjY2hpbGQgeworICAgICAgICBvcGFjaXR5
OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgYW5kIGludGVybWVkaWF0ZSBjbGFzc2Vz
IGFyZSBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVs
ICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorCisgICAgI21haW4uaW50ZXJt
ZWRpYXRlICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorCisgICAgI21haW4u
aW50ZXJtZWRpYXRlIHsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAjbWFpbi5j
b250ZW50ZnVsIHsKKyAgICAgICAgb3BhY2l0eTogMC41OworICAgIH0KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0iY2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2PgorPHNj
cmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8g
aXRzIGFuY2VzdG9yIGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4iKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gb3BhY2l0eS1yZXZlYWxlZCBlbGVtZW50LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNp
dHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQ
YWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAg
ICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAg
IHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJj
bGVzLnBuZyk7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1
bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250
ZW50ZnVsIHsKKyAgICAgICAgb3BhY2l0eTogMC4xOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBp
ZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVsZW1lbnQuIik7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiAK
KwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRy
YW5zbGF0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGlu
dGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1i
b3VuZHMtdHJhbnNsYXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1i
b3VuZHMtdHJhbnNsYXRlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1v
Zi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGR1ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1l
bnQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5z
Zm9ybTogdHJhbnNsYXRlKC0xMDAwcHgpOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cisg
ICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNl
cy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZp
bmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAg
ICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9k
aXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IGR1ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIikKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3Vu
ZHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Q
ZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBpbnRlcnNlY3Rpb24gd2l0
aCBkb2N1bWVudDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDog
MTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IC0xMDAwcHg7Cisg
ICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNr
Z3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAg
ICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLwor
ICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBsZWZ0OiAwcHg7CisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50
LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNl
dWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBz
ZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWlu
ZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQ8L3RpdGxlPgorPHN0eWxlPgor
ICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDog
MTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIg
eworICAgICAgICBjb250ZW50OiAiVEVYVCI7CisgICAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAg
fQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlw
dC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgZGlzcGxheTogYmxv
Y2s7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4K
KyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRv
LWVsZW1lbnQgdGV4dC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4gCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjgg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGlt
aW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgaW1hZ2U8L3RpdGxlPgorPHN0eWxl
PgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0
aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVu
dGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5j
b250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogdXJsKC4uL3Jlc291cmNlcy9jaXJj
bGVzLnBuZyk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNj
cmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8g
cHNldWRvLWVsZW1lbnQgaW1hZ2UuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBv
c2l0aXZlIG9wYWNpdHkuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3Bh
Y2l0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFj
aXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9w
YWNpdHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVl
IHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eTwvdGl0bGU+Cis8c3R5
bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjph
ZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAg
ICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2Ny
aXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBvcGFjaXR5OiAw
LjU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4K
KyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRv
LWVsZW1lbnQgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiIpCis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRl
eHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZp
cnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIAor
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1h
bmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQ8L3Rp
dGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwor
ICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisg
ICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8K
KyAgICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiCisg
ICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0
ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1l
bnQgdGV4dC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2li
bGUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxp
dHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRv
IHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGU8L3RpdGxlPgorPHN0eWxlPgorICAgICNt
YWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7
CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIgeworICAg
ICAgICBjb250ZW50OiAiVEVYVCI7CisgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICB9
CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0
LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICB2aXNpYmlsaXR5OiB2
aXNpYmxlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3Jp
cHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBz
ZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXN2Zy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIFNWRyBiZWNvbWVzIGNvbnRlbnRm
dWwuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXN2Zy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agd2l0aCBTVkc8L3RpdGxl
PgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxh
dGl2ZTsKKyAgICB9CisKKyAgICAjY2lyY2xlIHsKKyAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAg
fQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlw
dC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICNjaXJjbGUgeworICAgICAgICBkaXNwbGF5OiBi
bG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICA8c3ZnIHZpZXdCb3g9
IjAgMCAxMCAxMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgorICAgICB4bWxu
czp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CisgICAgPGRlZnM+CisgICAg
ICA8Y2lyY2xlIGlkPSJteUNpcmNsZSIgY3g9IjUiIGN5PSI1IiByPSI0IiBzdHJva2U9ImJsdWUi
Lz4KKyAgICA8L2RlZnM+CisgICAgPHVzZSBpZD0iY2lyY2xlIiBocmVmPSIjbXlDaXJjbGUiIGZp
bGw9ImdyZWVuIiAvPgorICA8L3N2Zz4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgi
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIFNWRyBiZWNvbWVzIGNvbnRlbnRmdWwu
IikKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4
dC1pbnB1dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5w
dXQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFRl
eHQgaW5wdXQgc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gaXRzIHZhbHVlIGlzIG5vbi1l
bXB0eSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC10ZXh0LWlucHV0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVz
dDogRkNQIGR1ZSBmb3Igbm9uLWVtcHR5IHRleHQgaW5wdXQ8L3RpdGxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxpbnB1dCBpZD0i
aW5wdXQiIHR5cGU9InRleHQiIC8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9
PiB7CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGlt
aW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQ
cm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBh
d2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgICBjb25zdCBpbnB1dCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dCcpOworICAgICAgaW5wdXQuc2V0QXR0cmli
dXRlKCd2YWx1ZScsICcgICcpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQ
YWludCgpOworICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsICd2YWx1ZScpOworICAg
ICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ1RleHQgaW5wdXQg
c2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gaXRzIHZhbHVlIGlzIG5vbi1lbXB0eScpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBo
aWMtcHNldWRvLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dy
YXBoaWMtcHNldWRvLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
dHlwb2dyYXBoaWMtcHNldWRvLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQgQEAKK0EKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIG9ubHkgd2hlbiBz
b21lIG9mIHRoZSB0ZXh0IGlzIHZpc2libGUsIGNvbnNpZGVyaW5nIDo6Zmlyc3QtbGV0dGVyLiAK
KwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5j
ZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBub3QgZmlyZSB3aGVuIGFsbCB0ZXh0IGlz
IGhpZGRlbiBkdWUgdG8gdHlwb2dyYXBoaWMgcHNldWRvLWVsZW1lbnRzPC90aXRsZT4KKzxzdHls
ZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lk
dGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluICo6
OmZpcnN0LWxldHRlciB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29u
dGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFp
bi5jb250ZW50ZnVsICo6OmZpcnN0LWxldHRlciB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2PkE8L2Rpdj4KKzwvZGl2Pgor
PHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBvbmx5
IHdoZW4gc29tZSBvZiB0aGUgdGV4dCBpcyB2aXNpYmxlLCBjb25zaWRlcmluZyA6OmZpcnN0LWxl
dHRlci4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
dmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1mcmFtZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVv
LWZyYW1lLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQ
QVNTIFZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGZpcnN0IGZyYW1lIGlzIGxv
YWRlZCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGR1ZSB0byBsb2FkZWQgdmlkZW8gZnJhbWU8L3RpdGxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0i
dmlkZW8iIGF1dG9wbGF5PjwvdmlkZW8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMg
dCA9PiB7CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50
VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5l
dyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAg
ICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgICBjb25zdCB2aWRl
byA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2aWRlbycpOworICAgICAgdmlkZW8uc2V0QXR0
cmlidXRlKCdzcmMnLCAnL21lZGlhL3Rlc3QubXA0Jyk7CisgICAgICBhd2FpdCBuZXcgUHJvbWlz
ZShyZXNvbHZlID0+IHsKKyAgICAgICAgdmlkZW8ub25jYW5wbGF5ID0gcmVzb2x2ZTsKKyAgICAg
IH0pOworICAgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ1Zp
ZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGZpcnN0IGZyYW1lIGlzIGxvYWRlZCcp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8t
cG9zdGVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9z
dGVyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9z
dGVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNT
IFZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIHBvc3RlciBpcyBsb2FkZWQgCisK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXZpZGVvLXBvc3Rlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6
IEZDUCBkdWUgdG8gbG9hZGVkIHZpZGVvIHBvc3RlcjwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHZpZGVvIGlkPSJ2aWRl
byIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L3ZpZGVvPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90
ZXN0KGFzeW5jIHQgPT4geworICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1h
bmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgIGF3
YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7
CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIGNvbnN0IHZp
ZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpZGVvJyk7CisgICAgY29uc3Qgc3JjID0g
Jy4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyc7CisgICAgY29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2Uo
KTsKKyAgICBpbWFnZS5zcmMgPSBzcmM7CisgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdwb3N0ZXIn
LCBzcmMpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICBpbWFn
ZS5vbmxvYWQgPSBhc3luYyAoKSA9PiByZXNvbHZlKCk7CisgICAgfSkKKyAgICBhd2FpdCBhc3Nl
cnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAnVmlkZW8gc2hvdWxkIGJlY29tZSBjb250
ZW50ZnVsIHdoZW4gcG9zdGVyIGlzIGxvYWRlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQgQEAKK1RFWFQKKworUEFTUyBXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQg
YXMgY29udGVudGZ1bC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQg
VGltaW5nIFRlc3Q6IFdoaXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsPC90
aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBi
YWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAg
YmFja2dyb3VuZC1zaXplOiAwIDA7CisgICAgfQorCisgICAgI3RleHQgeworICAgICAgICBkaXNw
bGF5OiBub25lOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBp
biB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCAjdGV4dHsKKyAgICAg
ICAgZGlzcGxheTogYmxvY2s7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAg
ICA8ZGl2IGlkPSJ3aGl0ZXNwYWNlIj4gICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJ0ZXh0Ij5URVhU
PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIldoaXRlc3BhY2Ugc2hvdWxk
IG5vdCBjb3VudCBhcyBjb250ZW50ZnVsLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NCBAQAorVEVYVAorCitQQVNTIEZDUCBzaG91bGQgZmlyZSB3aGVuIGNvb3JkaW5hdGVzIGFyZSBu
ZWdhdGl2ZSwgaWYgd2l0aGluIGRvY3VtZW50IHNjcm9sbGFibGUgYXJlYSAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgt
cnRsLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0
aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBkaXJlY3Rpb24g
Y2hhbmdlPC90aXRsZT4KKzxzdHlsZT4KKyAgI3RleHQgeworICAgIHJpZ2h0OiAtMTAwcHg7Cisg
ICAgcG9zaXRpb246IGFic29sdXRlOworICB9CisKKyAgYm9keSB7CisgICAgZGlyZWN0aW9uOiBy
dGw7CisgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBkaXJlY3Rpb249IlJUTCI+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9InRleHQiPlRFWFQ8
L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2Vy
dF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1p
bmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmly
c3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuZGlyZWN0aW9u
ID0gJ2x0cicKKyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0s
ICdGQ1Agc2hvdWxkIGZpcmUgd2hlbiBjb29yZGluYXRlcyBhcmUgbmVnYXRpdmUsIGlmIHdpdGhp
biBkb2N1bWVudCBzY3JvbGxhYmxlIGFyZWEnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
dzNjLWltcG9ydC5sb2cJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvdzNjLWltcG9ydC5sb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRm
b3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRl
c3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlz
IGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1p
bWFnZS1zZXQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1p
bnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQt
b2YtYm91bmRzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vdmVyZmxvdy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtaW1hZ2UuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBz
ZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNl
dWRvLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC12aWRlby1mcmFtZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1s
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2ly
Y2xlLnN2Zwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2Zwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAv
c3ZnIiB2ZXJzaW9uPSIxLjEiPgorICAgPGNpcmNsZSBjeD0iMTAwIiBjeT0iNTAiIHI9IjQwIiBz
dHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIC8+Cis8L3N2Zz4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL3Jlc291cmNlcy9zdWJmcmFtZS1wYWludGluZy5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291
cmNlcy9zdWJmcmFtZS1wYWludGluZy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9z
dWJmcmFtZS1wYWludGluZy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGJvZHk+Cis8ZGl2IGlkPSJpbWFnZSI+PC9kaXY+Cis8c2NyaXB0Pgor
ICBjb25zdCBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdJTUcnKTsKKyAgaW1nLnNyYyA9
ICdjaXJjbGVzLnBuZyc7CisgIGltZy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBmdW5jdGlv
biBzZW5kUGFpbnRFbnRyaWVzKCkgeworICAgICAgY29uc3QgcGFpbnRFbnRyaWVzID0gcGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncGFpbnQnKTsKKyAgICAgIGlmIChwYWludEVudHJpZXMu
bGVuZ3RoIDwgMikgeworICAgICAgICBzZXRUaW1lb3V0KHNlbmRQYWludEVudHJpZXMsIDIwKTsK
KyAgICAgICAgcmV0dXJuOworICAgICAgfQorICAgICAgbGV0IGVudHJ5Q29udGVudHMgPSBwYWlu
dEVudHJpZXMubGVuZ3RoICsgJyc7CisgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhaW50RW50
cmllcy5sZW5ndGg7IGkrKykgeworICAgICAgICBjb25zdCBlbnRyeSA9IHBhaW50RW50cmllc1tp
XTsKKyAgICAgICAgZW50cnlDb250ZW50cyArPSAnICcgKyBlbnRyeS5lbnRyeVR5cGUgKyAnICcg
ICsgZW50cnkubmFtZTsKKyAgICAgIH0KKyAgICAgIHBhcmVudC5wb3N0TWVzc2FnZShlbnRyeUNv
bnRlbnRzLCAnKicpOworICAgIH07CisgICAgc2VuZFBhaW50RW50cmllcygpOworICB9OworICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1hZ2UnKS5hcHBlbmRDaGlsZChpbWcpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1w
YWludC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxz
Y3JpcHQ+CisgIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uKGUpIHsK
KyAgICAvLyBTZW5kIHBhaW50LXRpbWluZyBlbnRyaWVzIHVwb24gcmVjZWl2aW5nIGEgbWVzc2Fn
ZS4KKyAgICBjb25zdCBwYWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBl
KCdwYWludCcpOworICAgIGxldCBlbnRyeUNvbnRlbnRzID0gcGFpbnRFbnRyaWVzLmxlbmd0aCAr
ICcnOworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFpbnRFbnRyaWVzLmxlbmd0aDsgaSsrKSB7
CisgICAgICBjb25zdCBlbnRyeSA9IHBhaW50RW50cmllc1tpXTsKKyAgICAgIGVudHJ5Q29udGVu
dHMgKz0gJyAnICsgZW50cnkuZW50cnlUeXBlICsgJyAnICArIGVudHJ5Lm5hbWU7CisgICAgfQor
ICAgIHBhcmVudC5wb3N0TWVzc2FnZShlbnRyeUNvbnRlbnRzLCAnKicpOworICB9KTsKKzwvc2Ny
aXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91
dGlscy5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw1NiBAQAorLy8gTnVtYmVyIG1pbGxpc2Vjb25kcyB0byB3YWl0IGZvciBD
U1MgcmVzb3VyY2VzIHRvIGxvYWQuCitjb25zdCBudW1NaWxsaXNlY29uZHNXYWl0ID0gNTA7CisK
Ky8vIFdlIHVzZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKSBjYWxscyB0byBmb3JjZSB0aGUgdXNl
ciBhZ2VudCB0byBwYWludCBhbmQgZ2l2ZSBlbm91Z2gKKy8vIHRpbWUgZm9yIEZDUCB0byBzaG93
IHVwIGluIHRoZSBwZXJmb3JtYW5jZSB0aW1lbGluZS4gSGVuY2UsIHNldCB8bnVtRnJhbWVzV2Fp
dGluZ3wgdG8KKy8vIDMgYW5kIHVzZSB0aGF0IGNvbnN0YW50IHdoZW5ldmVyIHRoZSB0ZXN0IG5l
ZWRzIHRvIHdhaXQgZm9yIHRoZSBuZXh0IHBhaW50IHRvIG9jY3VyLgorY29uc3QgbnVtRnJhbWVz
V2FpdGluZyA9IDM7CisKK2Z1bmN0aW9uIHdhaXRUaW1lKHQpIHsKKyAgcmV0dXJuIG5ldyBQcm9t
aXNlKHJlc29sdmUgPT4gdC5zdGVwX3RpbWVvdXQocmVzb2x2ZSwgbnVtTWlsbGlzZWNvbmRzV2Fp
dCkpOworfQorCitmdW5jdGlvbiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKGNvdW50KSB7CisgIHJl
dHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBpZiAoY291bnQtLSA8PSAwKSB7Cisg
ICAgICByZXNvbHZlKCk7CisgICAgfSBlbHNlIHsKKyAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFt
ZSgoKSA9PiB7CisgICAgICAgIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoY291bnQpLnRoZW4ocmVz
b2x2ZSk7CisgICAgICB9KTsKKyAgICB9CisgIH0pOworfQorCisvLyBBc3NlcnRzIHRoYXQgdGhl
cmUgaXMgY3VycmVudGx5IG5vIEZDUCByZXBvcnRlZCwgZXZlbiBhZnRlciBzb21lIHdhaXQuCith
c3luYyBmdW5jdGlvbiBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpIHsKKyAgaWYgKHQp
CisgICAgYXdhaXQgd2FpdFRpbWUodCk7CisKKyAgYXdhaXQgd2FpdEZvckFuaW1hdGlvbkZyYW1l
cyhudW1GcmFtZXNXYWl0aW5nKTsKKyAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRy
aWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoLCAwLCAnRmlyc3QgY29u
dGVudGZ1bCBwYWludCBtYXJrZWQgdG9vIGVhcmx5LiAnKTsKK30KKworLy8gQXNzZXJ0cyB0aGF0
IEZDUCBpcyByZXBvcnRlZCwgcG9zc2libHkgYWZ0ZXIgc29tZSB3YWl0LiBUaGUgd2FpdCBpcyBu
ZWVkZWQKKy8vIGJlY2F1c2Ugc29tZXRpbWVzIHRoZSBGQ1AgcmVsaWVzIG9uIHNvbWUgQ1NTIHJl
c291cmNlcyB0byBmaW5pc2ggbG9hZGluZy4KK2FzeW5jIGZ1bmN0aW9uIGFzc2VydEZpcnN0Q29u
dGVudGZ1bFBhaW50KHQpIHsKKyAgaWYgKHQpCisgICAgYXdhaXQgd2FpdFRpbWUodCk7CisgIGF3
YWl0IHdhaXRGb3JBbmltYXRpb25GcmFtZXMobnVtRnJhbWVzV2FpdGluZyk7CisgIGFzc2VydF9l
cXVhbHMocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWlu
dCcpLmxlbmd0aCwgMSwgJ0V4cGVjdGVkIGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgbm90IGZvdW5k
LiAnKTsKK30KKworZnVuY3Rpb24gdGVzdF9mY3AobGFiZWwpIHsKKyAgY29uc3Qgc3R5bGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOworICBkb2N1bWVudC5oZWFkLmFwcGVuZENo
aWxkKHN0eWxlKTsKKyAgcmV0dXJuIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3Nl
cnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGlt
aW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBjb25zdCBtYWluID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ21haW4nKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50
ZnVsUGFpbnQoKTsKKyAgICBtYWluLmNsYXNzTmFtZSA9ICdwcmVGQ1AnOworICAgIGF3YWl0IGFz
c2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICBtYWluLmNsYXNzTmFtZSA9ICdjb250
ZW50ZnVsJzsKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCBs
YWJlbCk7Cit9CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2Mt
aW1wb3J0LmxvZwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIxIEBACitUaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0Rv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNv
bS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2lt
cG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3Ig
cmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5w
bmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJm
cmFtZS1wYWludGluZy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMKSW5kZXg6IExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTMgQEAKK0Jhc2ljIEludGVyZmFjZSB0ZXN0IGZvciBwYWludC10aW1pbmcgQVBJcy4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcKK1BBU1Mg
UGVyZm9ybWFuY2VQYWludFRpbWluZyBpcyBkZWZpbmVkLgorUEFTUyBQZXJmb3JtYW5jZVBhaW50
VGltaW5nLnByb3RvdHlwZS50b0pTT04gaXMgZGVmaW5lZC4KK1BBU1MgbmV3IFBlcmZvcm1hbmNl
UGFpbnRUaW1pbmcoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3Qg
YSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKScp
LgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5k
ZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBp
cy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWlu
dC10aW1pbmctYXBpcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9D
VFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10
aW1pbmctZnJhbWVzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwyMCBAQAorUGFpbnQgQVBJIHNob3VsZCBiZSBhdmFpbGFibGUgZm9y
IHNhbWUtb3JpZ2luIGZyYW1lcyBidXQgbm90IHRvIGNyb3NzLW9yaWdpbi9zYW5kYm94ZWQgZnJh
bWVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyByZWNlaXZlZEV2ZW50
LnNvdXJjZSBpcyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJykuY29udGVu
dFdpbmRvdworUEFTUyByZWNlaXZlZEVudHJ5Lm5hbWUgaXMgJ2ZpcnN0LWNvbnRlbnRmdWwtcGFp
bnQnCitQQVNTIGRpZFJlY2VpdmVNZXNzYWdlRnJvbVNhbmRib3hlZElmcmFtZSBpcyBmYWxzZQor
UEFTUyBBcnJheS5pc0FycmF5KG5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcykgaXMgdHJ1ZQorUEFT
UyBBcnJheS5pc0FycmF5KHNhbmRib3hTdXBwb3J0ZWRUeXBlcykgaXMgdHJ1ZQorUEFTUyBkaWRS
ZWNlaXZlTWVzc2FnZSBpcyB0cnVlCitQQVNTIG5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNs
dWRlcygicGFpbnQiKSBpcyB0cnVlCitQQVNTIHNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRl
cygicGFpbnQiKSBpcyBmYWxzZQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQgY2FsbGJhY2sgd2FzIGZpcmVkIGZvciBzYW1lLW9yaWdpbiBmcmFtZSBidXQg
bm90IGZvciBjcm9zcy1vcmlnaW4gZnJhbWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCisKK1RFWFQKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CisgICAgPGlm
cmFtZSB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgaWQ9Im5vblNhbmRib3hlZCIgc3JjPSIuL3Jl
c291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbCI+PC9pZnJhbWU+Cis8ZGl2IGNsYXNzPSJzcGFjZXIi
PjwvZGl2PgorPGlmcmFtZSBpZD0ic2FuZGJveGVkIiBzcmM9Ii4vcmVzb3VyY2VzL2ZjcC1zdWJm
cmFtZS5odG1sIiBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIj48L2lmcmFtZT4KKzxkaXYgY2xhc3M9
InNwYWNlciI+PC9kaXY+CisKKyAgICBURVhUCisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiUGFp
bnQgQVBJIHNob3VsZCBiZSBhdmFpbGFibGUgZm9yIHNhbWUtb3JpZ2luIGZyYW1lcyBidXQgbm90
IHRvIGNyb3NzLW9yaWdpbi9zYW5kYm94ZWQgZnJhbWVzLiIpOword2luZG93LmpzVGVzdElzQXN5
bmMgPSB0cnVlOword2luZG93LmRpZFJlY2VpdmVNZXNzYWdlID0gZmFsc2U7CisKK3dpbmRvdy5v
bmxvYWQgPSBhc3luYyAoKSA9PiB7CisgICAgY29uc3Qgc2FuZGJveGVkID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3NhbmRib3hlZCcpOworICAgIGNvbnN0IG5vblNhbmRib3hlZCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKTsKKyAgICBjb25zdCBmY3BNZXNzYWdl
UHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICB3aW5kb3cub25tZXNz
YWdlID0gZXZlbnQgPT4geworICAgICAgICAgICAgd2luZG93LnJlY2VpdmVkRXZlbnQgPSBldmVu
dDsKKyAgICAgICAgICAgIGNvbnN0IGlzRnJvbVNhbmRib3hlZCA9IGV2ZW50LnNvdXJjZSA9PT0g
c2FuZGJveGVkLmNvbnRlbnRXaW5kb3c7CisgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gSlNP
Ti5wYXJzZShldmVudC5kYXRhKTsKKyAgICAgICAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7
CisgICAgICAgICAgICAgICAgY2FzZSAnc3VwcG9ydGVkJzoKKyAgICAgICAgICAgICAgICAgICAg
aWYgKGlzRnJvbVNhbmRib3hlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zYW5k
Ym94U3VwcG9ydGVkVHlwZXMgPSBtZXNzYWdlLnN1cHBvcnRlZDsKKyAgICAgICAgICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93Lm5vblNhbmRib3hTdXBwb3J0
ZWRUeXBlcyA9IG1lc3NhZ2Uuc3VwcG9ydGVkOworICAgICAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgICAgICBjYXNlICdyZWNlaXZlZCc6CisgICAgICAgICAgICAgICAgICAgIHdp
bmRvdy5kaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUgPSBpc0Zyb21TYW5kYm94
ZWQ7CisgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5yZWNlaXZlZEVudHJ5ID0gbWVzc2FnZS5l
bnRyeTsKKyAgICAgICAgICAgICAgICAgICAgZGlkUmVjZWl2ZU1lc3NhZ2UgPSB0cnVlOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgncmVjZWl2ZWRFdmVudC5zb3VyY2UnLCAiZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNhbmRib3hlZCcpLmNvbnRlbnRXaW5kb3ciKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoJ3JlY2VpdmVkRW50cnkubmFtZScsICInZmlyc3QtY29u
dGVudGZ1bC1wYWludCciKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICB9KTsK
KworICAgIHNhbmRib3hlZC5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCJwYWludCIsICIqIik7
CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIG5vblNhbmRib3hlZC5jb250ZW50V2luZG93
LnBvc3RNZXNzYWdlKCJwYWludCIsICIqIik7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAg
IGF3YWl0IGZjcE1lc3NhZ2VQcm9taXNlOworICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVN
ZXNzYWdlRnJvbVNhbmRib3hlZElmcmFtZScpOworICAgIHNob3VsZEJlVHJ1ZSgnQXJyYXkuaXNB
cnJheShub25TYW5kYm94U3VwcG9ydGVkVHlwZXMpJyk7CisgICAgc2hvdWxkQmVUcnVlKCdBcnJh
eS5pc0FycmF5KHNhbmRib3hTdXBwb3J0ZWRUeXBlcyknKTsKKyAgICBzaG91bGRCZVRydWUoJ2Rp
ZFJlY2VpdmVNZXNzYWdlJyk7CisgICAgc2hvdWxkQmVUcnVlKCdub25TYW5kYm94U3VwcG9ydGVk
VHlwZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCdzYW5kYm94U3Vw
cG9ydGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3Jt
YW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2FzIGZpcmVkIGZv
ciBzYW1lLW9yaWdpbiBmcmFtZSBidXQgbm90IGZvciBjcm9zcy1vcmlnaW4gZnJhbWUiKTsKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK307CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFp
bnQtdGltaW5nLXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACitQYWludCBBUEkgc2hvdWxkIG5v
dCBiZSBhdmFpbGFibGUgaW4gd29ya2VyIGNvbnRleHRzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMu
aW5jbHVkZXMoInBhaW50IikgaXMgdHJ1ZQorUEFTUyB3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVz
LmluY2x1ZGVzKCJwYWludCIpIGlzIGZhbHNlCitQQVNTIHdvcmtlclN1cHBvcnRlZEVudHJ5VHlw
ZXMuaW5jbHVkZXMoIm1hcmsiKSBpcyB0cnVlCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3Vw
cG9ydGVkRW50cnlUeXBlcyBkaWQgbm90IGluY2x1ZGUgJ3BhaW50JyBmb3Igd29ya2VycworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdp
dGgtd29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMjYgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQ+CitkZXNjcmlwdGlvbigiUGFpbnQgQVBJIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlIGlu
IHdvcmtlciBjb250ZXh0cy4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2NvbnN0
IHdvcmtlciA9IG5ldyBXb3JrZXIoIi4vcmVzb3VyY2VzL3dvcmtlci5odG1sIik7Cit3b3JrZXIu
b25tZXNzYWdlID0gZXZlbnQgPT4geworICAgIHdpbmRvdy53b3JrZXJTdXBwb3J0ZWRFbnRyeVR5
cGVzID0gSlNPTi5wYXJzZShldmVudC5kYXRhKTsKKyAgICBzaG91bGRCZVRydWUoJ1BlcmZvcm1h
bmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKScpOworICAg
IHNob3VsZEJlRmFsc2UoJ3dvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50
IiknKTsKKyAgICBzaG91bGRCZVRydWUoJ3dvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVk
ZXMoIm1hcmsiKScpOworICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9y
dGVkRW50cnlUeXBlcyBkaWQgbm90IGluY2x1ZGUgJ3BhaW50JyBmb3Igd29ya2VycyIpOworICAg
IGZpbmlzaEpTVGVzdCgpOworfTsKKword29ya2VyLnBvc3RNZXNzYWdlKCJzdGFydCIpOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFw
aS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Ut
b2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZp
cnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTAgQEAKK1BBU1MgZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50IGlzIHRydWUKK1BB
U1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNl
LmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGggaXMgMQor
UEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50
IiwgInBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlw
ZSgicGFpbnQiKS5sZW5ndGggaXMgMQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNv
bnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2Fzbid0IGZpcmVkIGFnYWluIAorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitURVhUMgpJbmRleDogTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZl
ci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1
MSBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvcGFpbnQtYXBpLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dD4KK2Rlc2NyaXB0aW9uKCJFbnN1cmUgUGVyZm9ybWFuY2VPYnNlcnZlcnMgYXJlIG5vdGlmaWVk
IG9uY2UgZm9yIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuIik7Cit3aW5kb3cuanNUZXN0SXNBc3lu
YyA9IHRydWU7CisgCisoYXN5bmMgKCkgPT4geworICAgIHdpbmRvdy5kaWRSZWNlaXZlRmlyc3RD
b250ZW50ZnVsUGFpbnQgPSBmYWxzZTsKKyAgICB3aW5kb3cuc3RhcnRUaW1lID0gcGVyZm9ybWFu
Y2Uubm93KCk7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIGF3YWl0IG5ldyBQcm9taXNl
KHJlc29sdmUgPT4geworICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9i
c2VydmVyKGVudHJ5TGlzdCA9PiB7CisgICAgICAgICAgICB3aW5kb3cuZW50cnlMaXN0ID0gZW50
cnlMaXN0OworICAgICAgICAgICAgc2hvdWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzKCkubGVu
Z3RoJywgIjEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5
TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIpLmxlbmd0aCcsIDEpOworICAgICAgICAgICAg
c2hvdWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCcsICIx
Iik7CisgICAgICAgICAgICB3aW5kb3cuZmNwRW50cnkgPSBlbnRyeUxpc3QuZ2V0RW50cmllcygp
WzBdOworICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgnZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1
bFBhaW50Jyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50cnkubmFtZScsICciZmlyc3Qt
Y29udGVudGZ1bC1wYWludCInKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5lbnRy
eVR5cGUnLCAnInBhaW50IicpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdmY3BFbnRyeS5z
dGFydFRpbWUgPiB3aW5kb3cuc3RhcnRUaW1lJyk7CisgICAgICAgICAgICBzaG91bGRCZVRydWUo
J2ZjcEVudHJ5LnN0YXJ0VGltZSA8IHBlcmZvcm1hbmNlLm5vdygpJyk7CisgICAgICAgICAgICBz
aG91bGRCZSgnZmNwRW50cnkuZHVyYXRpb24nLCAiMCIpOworICAgICAgICAgICAgZGlkUmVjZWl2
ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gdHJ1ZTsKKyAgICAgICAgICAgIHJlc29sdmUoKTsKKyAg
ICAgICAgfSk7CisKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydwYWlu
dCddfSk7CisgICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQnOworICAgIH0p
CisgICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAnVEVYVDInOworICAgIGF3YWl0IHdhaXRG
b3JGQ1AoKTsKKyAgICBzaG91bGRCZVRydWUoJ2RpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWlu
dCcpOworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKCkubGVuZ3RoJywgIjEi
KTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29u
dGVudGZ1bC1wYWludCIpLmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNl
LmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiLCAicGFpbnQiKS5sZW5n
dGgnLCAiMSIpOworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJw
YWludCIpLmxlbmd0aCcsICIxIik7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZl
ciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAiKTsK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pKCk7CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFt
ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJj
ZXMvZmNwLXN1YmZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDIwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pgor
ICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7Cisg
ICAgICAgIGxpc3QuZ2V0RW50cmllcygpLmZvckVhY2goZW50cnkgPT4geworICAgICAgICAgICAg
d2luZG93LnBhcmVudC5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZTogJ3JlY2VpdmVk
JywgZW50cnl9KSwgJyonKTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICBvYnNlcnZlci5v
YnNlcnZlKHtlbnRyeVR5cGVzOiBbInBhaW50Il19KTsKKyAgICB3aW5kb3cub25tZXNzYWdlID0g
ZSA9PiB7CisgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnko
e3N1cHBvcnRlZDogUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLCB0eXBl
OiAnc3VwcG9ydGVkJ30pLCAnKicpOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9
ICJURVhUIjsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1h
cGktdXRpbHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jl
c291cmNlcy9wYWludC1hcGktdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw1IEBACithc3luYyBmdW5jdGlvbiB3YWl0Rm9yRkNQKCkKK3sKKyAgICBh
d2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiBy
ZXNvbHZlKCkpKTsKKyAgICByZXR1cm4gd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5h
bWUoJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5ndGggPT0gMTsKK30KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3Vy
Y2VzL3BhaW50LXRpbWluZy1hcGkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACitpZiAoc2VsZi5pbXBvcnRTY3JpcHRz
KQorICAgIGltcG9ydFNjcmlwdHMoIi4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyIpOwor
CitpZiAoc2VsZi53aW5kb3cpCisgICAgZGVzY3JpcHRpb24oIkJhc2ljIEludGVyZmFjZSB0ZXN0
IGZvciBwYWludC10aW1pbmcgQVBJcy4iKTsKKworZGVidWcoIlBlcmZvcm1hbmNlUGFpbnRUaW1p
bmciKTsKK3Nob3VsZEJlRGVmaW5lZCgiUGVyZm9ybWFuY2VQYWludFRpbWluZyIpOworc2hvdWxk
QmVEZWZpbmVkKGBQZXJmb3JtYW5jZVBhaW50VGltaW5nLnByb3RvdHlwZS50b0pTT05gKTsKK3No
b3VsZFRocm93KGBuZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygpYCk7CisKK2lmIChzZWxmLmlt
cG9ydFNjcmlwdHMpCisgICAgZmluaXNoSlNUZXN0KCk7CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKK3NlbGYub25tZXNzYWdlID0gKCkgPT4geworICAg
IHNlbGYucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBw
b3J0ZWRFbnRyeVR5cGVzKSk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL2NpcmNsZXMucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFy
a2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK2ltYWdlL3BuZwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ1FBQUFCSUNBWUFBQUNlTmxlNUFB
QUM3bWxEUTFCSlEwTWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtD
SkpXYXRvUmRRMi9SRmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhu
cndaQzlLaFZwRktONnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9R
TngxS2lFV2xzZkVKcQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdK
M3JaclN0cG9IaFAxQTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1H
MUR5czl4RmtpZkVBMUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwx
UGtLYTd6TzZyWXFHY1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JF
aGowY0dEWDArR0FWdHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6
V2toUDEweHUrTHFIQlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhR
RUVVRVlaaXdVRUNHUEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisK
S0NKeGxFTzFDSkw4UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampj
MDFlZkpYVWRwTlhSNWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpW
ZlBxUzRSMVdqRTMzNTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBY
dlh4L0dmTnhHUGlLVEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lK
cTgKOVM5ZFAxdDR2VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktB
SXZiT0RJbWJwdFUzSHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZB
RWNkb2Q2SHVncG1OT1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0
aVoweDF1SEtFNVF2ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1
SkFBQUEKQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBR1owbEVRVlJvQmUyYVVXOVZSUkRIZDY4
dEVWSkxXMktDeENZK2lnUURvWWtLZmdKOAo5TWtuRXZFZHZvQ21rUytBNzJwQ1FzS1RqL0lKQkNT
QjFOU29QSnFVMUNha2dOaUFhZU5kZi8rWk9UMjM1OTdTRnU3bDZVeXk1K3pPCjJaMlpuWjNkblps
N2M1clBKZTBLU3NwcGhwNzdVMG1QcUQvZEhGVVJ5SnVZUko4RDlKa0c4NHo2UTk2OVgzczZOcXBq
alhhaktTTGQKRUdRZjlSV0lPK21TenNMMUJLMVp5aUdLaEZqbHVVU0hYeGh6bmZaVEV5T253K0RY
UTdDTzllUXhFSjRqa0ZpUFFWREVsbTF3S1oveQpQcGRLT2MzYmhiQVB6UWREVGJoOGsvZVZsUE1Q
MWlPbkk3UWZVTitnRE5aWTdsOHkxMHBLa3d3Wlp5Q3pMbWNSNG12YXA0eHdTYjlDCjd5YnRoVlR5
SDd6L0R2ekJsTXRSbUo1a3pHbnd4d04vRjZHK1lzeDEyb2Y0TG9HZVVQcTExUkNvWGlLdHUxcWxm
TWZqYzJvc1hiNkcKQUpmQjM2RU5tbUo5ckZYWGhST1VOSWVBRjZIeEdTMlk1KytoY1Q3R3pmQ1di
VzBWcWlGUVpiZ1BiVkRxL3N5QUR5ZzNHUGNGNzNzbQpRTEpsRkNITlZMYlI1UzJCaEpPdFNiUEN1
YzJsOUM3TmIybWZvZHlHMW9kQnB4S3Ftb0tNWkJNMDMwbUtwQWE2di9NNENwZHZLQmVECndDek10
VHdyNmdIVWhOUVNCWWVxcG1VL0NPcGVLcDJQNlhDWmNzRnBkOTRETDE3aXFlVnpXcHBTTk1aQmpS
dlJnbWF5Q2FOMWx6QnYKMDJlS2IreWd0QmI5dHdvRHNnZjBUV1V0eGt3NURXZ2xiRW0weGNPWFhO
cFUyU0tRdHZhYklGZFpjMnlHWlNxbW1VdmczMkhnWDVUSApNYWlhUGMwZHdWbHFyR2lJVnNxWG5E
WThuQmM4alhlMTdQTzUrQUdHM2JDYlV2bVJEamRNeGRLTUNMazk3TWg5RngwNjBINExtdmRUCjd2
N0VHNXZLbjJEbzJuMnlwMGV5UXMxQ2hnaXd0WTI1R2JBUVdwNy9WQmtTaUpab0FzWURyUmhQSVNS
RFNSMi9EdGdOZHVpZDhxMXQKdTBrR1hDMlRCZ3dEc3RITW5PNUZQRGhHRW1lYjgxNUJlelBTa080
bXdUbDdKczRaZ2UrbXNIbi9NcVJuSjJoRExualo2Vy9VOTZlTwpYNVI4czVOMUVmUWRKTlYxb2Ez
b29scmZvVDFFODBud0VLL0Y0QzF1MkpCdWJWMlVSVWQ2dmhWc1I2R1o1b3ljaDNnYWIyU1FMSUU5
CkViMjVtNnltRTlqUGhTYVo0YlJGZXlONExUaEo4eHo4SWdFeDYwaTdLRlZkOS9aSW4rcytaWGc2
dUF4anJoRjNKWFJyZTlzUHFWSEsKVTk5L0ZVOTVBWnNhR2lYcnZkSEdxQVh5OUdUbCtETzgvZFky
MU1nZTRpRmU0dW1nSzJSVFE3bzBBWE91VkltVFc5V1J3VDQzRDNnNgp1QXkreS9DQkhVNmFsSDc3
dWpYRmh5Ry9SRnZlaFFEdlVoQXlZTlNLRG5TNXlWWEZWN1plb3pmcTZzTFdnZXdtbzZEZ2dBN0dh
Vk5kCk1ZZGNQdkFjYlRsZ2NweDhEbFNHQ0tJNUdUekU2emdIc29JQmNadld3ZmdzMkY1eHB2akFB
dmYwUnFFcCtWNWh5TUVyS1RJeHJwSmwKSGdIdDd1TEc3OHA1eDQ0Nng1Qlkvck84eE1jbW52Vi82
WWQ4ZHFlWjhiTkw5emNvTHNCdmp2ZGhlSzFJUTVJdFRtYUZLa0taUTA0MQpUVkJlVTJWSUlGcWlD
UmdQc1JkUGdXU0lBOGZEa1NQbXVXVkNGZlBrY01qTnM3TnJoWUcwWGh3MFZ1ZU8vS0Q3a0JMdE0v
QlRXS1FOCnBRRFNnNHVJT3VTalBHQ0Fidnp6RERpR1MzQUIzQ3B0K2RWeTh1V3dhL24ySXB5MEw1
dVo0ajNCK0QraC9XWFF2bTI4aktkRnMwNDMKQk5JTWRQdHVNQmdnYmlvS2c4eTlsSkFlQnZrTUZR
YkpWeEs0S1hxOTkxbHA4dzE2eUlDWGZESVJCcFZFdEFzUGdVZXh0WGNSQXVtVAppSXZSREFYMUtX
NVNvS2c0cXJBOVh6aFFGTTMrUUJFa0VMeDZKaVk5OVlDV1RtdXBqb2lvV2JET0ZuR3lJM0s1eW5m
dENKMVR5OVNWCk9KREcvb21pbTF1NFpRcTcxa0xwcTB4TXUwa1JCallUbXZFb1E3eTJpc0MyYith
SGZOMTFlRzJmYkZpRStDMitQeS9aOEJIZjM0ZWgKbHVVdXhzdHUybnV5d2NiSFEzYWcrMFlCcEdZ
TTRVakgyQlh6dkhTTTllWXE0Z1MyUXkvU01iNmI5cHlPTVdyeGNHMTVxQ1FQUU1zQQpINHI4OEl6
YldleFljQWZQSWw4Wk1CZWxKNnk4cnljbmRwZXdHckJrSVV2ZnE4cU12STRRaWhwMERBd0dGM2lD
UHBOMCtKZCtzaFZoCmQ0YXRGclZ6LzVIMzZObjJnM2k5N0pLdG1WNWVXWTV4MEpJWmprZWJZOVFD
U3h0dXdMN2NWYjB5M3piSDJOekt0VTFWdFRiSDZMYXoKL2RPdFRINVVtMlBjWGt1OVg5b2NZNjgy
dHF1M09jYnROTlBFdTZQUjVoaWJlcW5iYlk2eDFzVmVhbTJPc2RaV20yT3NkVEc0MWpWMAptMlBz
MTA2YlkrelhTWTFwYzR5MUxyeFdoZUp0ampIT0ZFdlBLWS9VKzJlVU5zZElpbmZnSDVyYUhHUC9u
K0w4ZDY4bFF2NVhtbVBVClh6Tkc5N2ZCL3dGWmJnMDVFRU51TndBQUFBQkpSVTVFcmtKZ2dnPT0K
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395353</attachid>
            <date>2020-04-03 00:19:28 -0700</date>
            <delta_ts>2020-04-03 00:44:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200403101925.patch</filename>
            <type>text/plain</type>
            <size>146237</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDExNSBAQAorMjAyMC0wNC0wMiAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BhaW50LXRpbWluZy8jZmlyc3QtY29udGVudGZ1bC1wYWludC4KKyAgICAgICAgQ3VycmVu
dGx5IG11dHVhbGx5IGV4Y2x1c2l2ZSB0byB2aXN1YWxseS1ub24tZW1wdHkgaGV1cmlzdGljcy4K
KworICAgICAgICBXaGVuIHRoZSBmcmFtZSBwYWludHMgb3IgZmx1c2hlcyB0aGUgY29tcG9zaXRp
bmcgc3RhdGUsIGl0IG1hcmtzIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgYXMgYSBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IHBlcmZvcm1hbmNlIGVudHJ5LgorCisgICAgICAgIFRlc3RzOiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
dmlzaWJpbGl0eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10ZXh0LWlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdpdGgtcnRsLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9maXJz
dC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5j
ZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sCisgICAgICAgICAg
ICAgICBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAorICAgICAgICAgICAg
ICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBT
b3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRU
aW1pbmcuaDogCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDoKKyAg
ICAgICAgICAgICAgICBBZGQgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNlLgor
CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFibGVk
IGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgUGFpbnRUaW1pbmdFbmFibGVkIHJ1bnRpbWUg
ZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJp
bmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNQYWludCBjb25zdCk6CisgICAgICAgICAgICAgICAgQWRk
IGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgZW50
cmllcy4KKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKToKKyAg
ICAgICAgICAgICAgICBBZGQgInBhaW50IiB0byBzdXBwb3J0ZWRFbnRyeVR5cGVzIHdoZW4gaW4g
ZWxpZ2libGUgYnJvd3NpbmcgY29udGV4dC4KKworICAgICAgICAqIHJlbmRlcmluZy9QYWludFRp
bWluZ1JlbmRlclN1cHBvcnQuaDogCisgICAgICAgICogcmVuZGVyaW5nL1BhaW50VGltaW5nUmVu
ZGVyU3VwcG9ydC5jcHA6CisgICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciBjb21wdXRpbmcg
d2hldGhlciBlbGVtZW50cyBhcmUgY29udGVudGZ1bCAmIHBhaW50YWJsZSwgYXMgcGVyIHNwZWMu
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0OjpoYXNPd25QYWludGFibGVDb250ZW50IGNv
bnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJIVE1MQ2FudmFzOjpoYXNPd25QYWludGFibGVDb250ZW50IGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6
aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQgY29uc3QpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWRlby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJWaWRlbzo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclZpZGVvLmg6CisgICAgICAgICAgICAgICAgQ2hlY2sgY29udGVudGZ1bG5l
c3MgZm9yIHNwZWNpZmljIGVsZW1lbnQgdHlwZXMsIGFzIHBlciBzcGVjLgorCisgICAgICAgICog
cmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWxsTGF5
ZXI6Omhhc0xvYWRlZENhY2hlZEltYWdlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvRmlsbExheWVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpoYXNQYWludGFibGVDYWNoZWRCYWNr
Z3JvdW5kSW1hZ2UgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oOgorICAgICAgICAgICAgICAgIEFkZCBoZWxwZXIgZm9yIGZpbmRpbmcgb3V0IGlmIGJhY2tn
cm91bmQgY29udGFpbnMgbG9hZGVkIGNhY2hlZCBpbWFnZXMuCisKKyAgICAgICAgKiBwYWdlL0Rv
Y3VtZW50Lmg6CisgICAgICAgICogcGFnZS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6bWFya1BhaW50VGltaW5nSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OnN1cHBvcnRzUGFpbnRUaW1pbmcpOgorICAgICAgICAgICAgICAgIE1hcmsgRkNQ
IG9uY2UgZm9yIGVsaWdpYmxlIGRvY3VtZW50cy4KKworYCAgICAgICAqIHBhZ2UvRnJhbWVWaWV3
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6Zmx1c2hDb21wb3NpdGluZ1N0YXRl
Rm9yVGhpc0ZyYW1lKToKKyAgICAgICAgICAgICAgICBNYXJrIGZpcnN0LWNvbnRlbnRmdWwtcGFp
bnQgcmlnaHQgYWZ0ZXIgZmx1c2hpbmcgbGF5ZXIgdHJlZS4gICAgICAgICAgICAgICAgCisKIDIw
MjAtMDQtMDEgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ3Jh
c2ggaW4gV2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjppbnNlcnQKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CShyZXZpc2lvbiAyNTkzNzgpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtOTM2LDYgKzkzNiw3IEBAIHNldChXZWJDb3JlX05PTl9T
VkdfSURMX0ZJTEVTCiAgICAgcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaWRsCiAg
ICAgcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbAogICAgIHBhZ2UvUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmlkbAorICAgIHBhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwK
ICAgICBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJmb3Jt
YW5jZVNlcnZlclRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbApJbmRl
eDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiAyNTkzNzgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC05MjYsNiAr
OTI2LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2
ZXJDYWxsYmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVy
RW50cnlMaXN0LmlkbCBcCisgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1p
bmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5p
ZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwgXAog
ICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwgXApJbmRleDogU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0yMTQ4LDYgKzIxNDgsOCBAQCByZW5kZXJpbmcvTGF5b3V0RGlzYWxs
b3dlZFNjb3BlLmNwcAogcmVuZGVyaW5nL0xheW91dFJlcGFpbnRlci5jcHAKIHJlbmRlcmluZy9N
YXJrZWRUZXh0LmNwcAogcmVuZGVyaW5nL09yZGVySXRlcmF0b3IuY3BwCisKK3JlbmRlcmluZy9Q
YWludFRpbWluZ1JlbmRlclN1cHBvcnQuY3BwCiByZW5kZXJpbmcvUG9pbnRlckV2ZW50c0hpdFJ1
bGVzLmNwcAogcmVuZGVyaW5nL1JlbmRlckF0dGFjaG1lbnQuY3BwCiByZW5kZXJpbmcvUmVuZGVy
QmxvY2suY3BwCkBAIC0zMjAyLDYgKzMyMDQsNyBAQCBKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5j
cHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxi
YWNrLmNwcAogSlNQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcAorSlNQZXJmb3JtYW5j
ZVBhaW50VGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcAogSlNQZXJm
b3JtYW5jZVNlcnZlclRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VUaW1pbmcuY3BwCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShy
ZXZpc2lvbiAyNTkzNzgpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTQwNTIsNiArNDA1Miw3IEBACiAJCUM5Rjg3
Q0ZFMUIyOEY0MEUwMDk3OUI4MyAvKiBNZWRpYVNlc3Npb25FdmVudHMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5Rjg3Q0ZEMUIyOEU1RjYwMDk3OUI4
MyAvKiBNZWRpYVNlc3Npb25FdmVudHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlDQTNCRjY3RTEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5p
bWF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENB
M0JGNjdEMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNBNkMxNTMwMjIwQjk4Q0MwMDU1
Q0JGQyAvKiBKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzFBRTNCODFGQjgwRUFFMDBGNUVGQjIgLyogSlNWYWx1
ZUluV3JhcHBlZE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUNBN0U5QjQ5MjQzNjFEQzUwMDRFODlGNiAvKiBQYWludFRpbWluZ1JlbmRl
clN1cHBvcnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENBN0U5QjQ3MjQzNjFEQzUwMDRFODlGNiAvKiBQYWludFRpbWluZ1JlbmRlclN1cHBvcnQuaCAq
LzsgfTsKIAkJQ0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENBRTlGOTBF
MTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggKi87IH07CiAJCUNCMzhG
RDUyMUNDRjkzOTQwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENCMzhGRDRFMUNDRjkzN0UwMDU5MkEz
RiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCAqLzsgfTsKIAkJQ0IzOEZENUIxQ0QyMzI1QjAwNTky
QTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0IzOEZENTkxQ0QyMzE0NTAwNTkyQTNGIC8qIEpT
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovOyB9OwpAQCAtMTM4MTUsNiArMTM4MTYsOCBA
QAogCQlDQTA5MUQ4NjIzQ0Y5MDc4MDBBRDQzNDYgLyogU3R5bGVJbWFnZVNldC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTdHlsZUltYWdlU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQ0EwOTFEODkyM0NGOTA4ODAwQUQ0MzQ2IC8qIFN0eWxlSW1hZ2VTZXQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU3R5bGVJbWFnZVNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
QTE2MzVEQzIwNzJFNzY5MDBFN0QyQ0UgLyogUmVmZXJyZXJQb2xpY3kuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmZXJyZXJQb2xpY3kuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNENTI0MDdENjQwMDA3MTI0MUEgLyogUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkzM0Q4MjQwN0VEQ0YwMDcxMjQxQSAv
KiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJm
b3JtYW5jZVBhaW50VGltaW5nLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Ez
QkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1h
dG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNTJCQUU1MjNEMEFGMTYwMERFMEI4NCAv
KiBTdHlsZUN1cnNvckltYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlQ3Vyc29ySW1h
Z2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM4MjQsNiArMTM4MjcsOCBA
QAogCQlDQTZDMTUyRjIyMEI0QTU1MDA1NUNCRkMgLyogSlNJREJSZXF1ZXN0Q3VzdG9tLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCUmVxdWVzdEN1c3RvbS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNkMxNTM3MjIwRDFFQjMwMDU1Q0JG
QyAvKiBKU0lEQkN1cnNvckN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0lEQkN1cnNvckN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUNBNkMxNTM4MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvcldpdGhWYWx1ZUN1c3Rv
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0lEQkN1cnNvcldp
dGhWYWx1ZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBN0U5QjQ3
MjQzNjFEQzUwMDRFODlGNiAvKiBQYWludFRpbWluZ1JlbmRlclN1cHBvcnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFpbnRUaW1pbmdSZW5kZXJTdXBwb3J0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBN0U5QjQ4MjQzNjFEQzUwMDRFODlGNiAvKiBQYWlu
dFRpbWluZ1JlbmRlclN1cHBvcnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUGFpbnRUaW1pbmdSZW5kZXJTdXBwb3J0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0FFOUY5MEQxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTQXNwZWN0UmF0aW9W
YWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBRTlGOTBFMTQ2NDQxRjAw
MEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENTU0FzcGVjdFJhdGlvVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQ0IzOEZENEExQ0NDRjJERDAwNTkyQTNGIC8qIFBlcmZvcm1hbmNlRW50cnkuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2VFbnRyeS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDk2Myw2ICsyMDk2OCw4IEBACiAJCQkJ
QTVBOTkzM0ExRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Qu
Y3BwICovLAogCQkJCUE1QTk5MzNCMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2Vy
dmVyRW50cnlMaXN0LmggKi8sCiAJCQkJQTVBOTkzM0MxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZv
cm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsICovLAorCQkJCUNBMTkzM0Q1MjQwN0Q2NDAwMDcx
MjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmggKi8sCisJCQkJQ0ExOTMzRDgyNDA3RURD
RjAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsICovLAogCQkJCTg2NTEyRURC
MTU0QTJBRUUwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCAqLywKIAkJ
CQk4NjUxMkVEQzE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5o
ICovLAogCQkJCTg2NTEyRUREMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmlkbCAqLywKQEAgLTI4MDk5LDYgKzI4MTA2LDggQEAKIAkJCQk1NUVDOTU5NzIwNjlD
OTJEMDA3REQwQTkgLyogUGFpbnRGcmVxdWVuY3lUcmFja2VyLmggKi8sCiAJCQkJMDg4NTA2N0Qx
MURBMDQ1QjAwMTgyQjk4IC8qIFBhaW50SW5mby5oICovLAogCQkJCTA4ODUwNjdFMTFEQTA0NUIw
MDE4MkI5OCAvKiBQYWludFBoYXNlLmggKi8sCisJCQkJQ0E3RTlCNDgyNDM2MURDNTAwNEU4OUY2
IC8qIFBhaW50VGltaW5nUmVuZGVyU3VwcG9ydC5jcHAgKi8sCisJCQkJQ0E3RTlCNDcyNDM2MURD
NTAwNEU4OUY2IC8qIFBhaW50VGltaW5nUmVuZGVyU3VwcG9ydC5oICovLAogCQkJCUIyQjFGNzE0
MEQwMENBQTgwMDRBRUE2NCAvKiBQb2ludGVyRXZlbnRzSGl0UnVsZXMuY3BwICovLAogCQkJCUIy
QjFGNzE1MEQwMENBQTgwMDRBRUE2NCAvKiBQb2ludGVyRXZlbnRzSGl0UnVsZXMuaCAqLywKIAkJ
CQlCNTlFRDIzQTE4MjcyNjc5MDA2RDU2NEMgLyogUmVuZGVyQW5jZXN0b3JJdGVyYXRvci5oICov
LApAQCAtMzIwODgsNiArMzIwOTcsNyBAQAogCQkJCTA4ODUwNjdGMTFEQTA0NUIwMDE4MkI5OCAv
KiBQYWludEluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTA4ODUwNjgwMTFEQTA0NUIwMDE4MkI5
OCAvKiBQYWludFBoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QjFFMTNFQjIxNzkzN0IzMDA0
MkNGOTggLyogUGFpbnRSZW5kZXJpbmdDb250ZXh0MkQuaCBpbiBIZWFkZXJzICovLAorCQkJCUNB
N0U5QjQ5MjQzNjFEQzUwMDRFODlGNiAvKiBQYWludFRpbWluZ1JlbmRlclN1cHBvcnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTRCNkI1Q0MwMjE2NDM4NjQwMDYwMzgxNyAvKiBQYWludFdvcmtsZXRH
bG9iYWxTY29wZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZDRkIwQTE5ODlDQTAwN0ZCOEM1
IC8qIFBhaXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2MEEzMTJCMDI2RjcwMEMxQTM1OSAv
KiBQYW5uZXIuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCShyZXZpc2lvbiAy
NTkzNzgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlD
dXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSwxMSBAQAogI2luY2x1ZGUgIkpT
RE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAi
SlNQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUGFpbnRUaW1p
bmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNp
bmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcgbmFtZXNwYWNlIEpT
QzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+JiYgZW50cnkpCiB7
CisgICAgaWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkKKyAgICAgICAgcmV0
dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZ2xvYmFsT2JqZWN0LCBX
VEZNb3ZlKGVudHJ5KSk7CisKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4o
ZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAkocmV2aXNpb24g
MjU5Mzc4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1l
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNiArMTc5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3VyZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNl
T2JzZXJ2ZXIpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0KSBcCisg
ICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWluZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAog
ICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShy
ZXZpc2lvbiAyNTkzNzgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNDcsNyArMTQ3LDkgQEAKICNpbmNsdWRlICJQYWdlQ29uc29sZUNsaWVu
dC5oIgogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlBhZ2VUcmFuc2l0aW9uRXZl
bnQuaCIKKyNpbmNsdWRlICJQYWludFRpbWluZ1JlbmRlclN1cHBvcnQuaCIKICNpbmNsdWRlICJQ
YWludFdvcmtsZXRHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCiAjaW5j
bHVkZSAiUGxhdGZvcm1Mb2NhbGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVNjcmVlbi5oIgpAQCAtMzE0MSw2ICszMTQzLDMy
IEBAIGJvb2wgRG9jdW1lbnQ6OmlzTGF5b3V0VGltZXJBY3RpdmUoKSBjb24KICAgICByZXR1cm4g
dmlldygpICYmIHZpZXcoKS0+bGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0UGVuZGluZygpOwogfQog
Citib29sIERvY3VtZW50OjpzdXBwb3J0c1BhaW50VGltaW5nKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0Vu
YWJsZWQoKSAmJiBzZWN1cml0eU9yaWdpbigpLmNhbkFjY2Vzcyh0b3BPcmlnaW4oKSk7Cit9CisK
K3ZvaWQgRG9jdW1lbnQ6Om1hcmtQYWludFRpbWluZ0lmTmVlZGVkKCkKK3sKKyAgICBpZiAobV9k
aWRNYXJrRmlyc3RDb250ZW50ZnVsUGFpbnQpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICgh
c3VwcG9ydHNQYWludFRpbWluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvKiB3aW5k
b3cgPSBkb21XaW5kb3coKTsKKyAgICBhdXRvKiB2aWV3ID0gcmVuZGVyVmlldygpOworCisgICAg
aWYgKCF2aWV3IHx8ICF3aW5kb3cpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghUGFpbnRU
aW1pbmdSZW5kZXJTdXBwb3J0OjpoYXNDb250ZW50ZnVsUGFpbnRhYmxlRWxlbWVudHMoKnZpZXcp
KQorICAgICAgICByZXR1cm47CisKKyAgICB3aW5kb3ctPnBlcmZvcm1hbmNlKCkucmVwb3J0Rmly
c3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICBtX2RpZE1hcmtGaXJzdENvbnRlbnRmdWxQYWludCA9
IHRydWU7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IERvY3VtZW50Ojp3cml0ZShEb2N1bWVudCog
cmVzcG9uc2libGVEb2N1bWVudCwgU2VnbWVudGVkU3RyaW5nJiYgdGV4dCkKIHsKICAgICBpZiAo
bV9hY3RpdmVQYXJzZXJXYXNBYm9ydGVkKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlz
aW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDM1LDYgKzEwMzUsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIHNob3VsZERlZmVy
QXN5bmNocm9ub3VzU2NyaXB0c1VudGlsUGFyc2luZ0ZpbmlzaGVzKCkgY29uc3Q7CiAKKyAgICBi
b29sIHN1cHBvcnRzUGFpbnRUaW1pbmcoKSBjb25zdDsKKwogI2lmIEVOQUJMRShYU0xUKQogICAg
IHZvaWQgc2NoZWR1bGVUb0FwcGx5WFNMVHJhbnNmb3JtcygpOwogICAgIHZvaWQgYXBwbHlQZW5k
aW5nWFNMVHJhbnNmb3Jtc05vd0lmU2NoZWR1bGVkKCk7CkBAIC0xNTY5LDYgKzE1NzEsNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIHNldEhhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50KCkg
eyBtX2hhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50ID0gdHJ1ZTsgfQogICAgIGJvb2wg
aGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2hhc1Zp
c3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50OyB9CisgICAgdm9pZCBtYXJrUGFpbnRUaW1pbmdJ
Zk5lZWRlZCgpOwogCiBwcm90ZWN0ZWQ6CiAgICAgZW51bSBDb25zdHJ1Y3Rpb25GbGFncyB7IFN5
bnRoZXNpemVkID0gMSwgTm9uUmVuZGVyZWRQbGFjZWhvbGRlciA9IDEgPDwgMSB9OwpAQCAtMjAz
Miw2ICsyMDM1LDkgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9hcmVEZXZpY2VNb3Rpb25BbmRP
cmllbnRhdGlvblVwZGF0ZXNTdXNwZW5kZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV91c2VyRGlk
SW50ZXJhY3RXaXRoUGFnZSB7IGZhbHNlIH07CisKKyAgICBib29sIG1fZGlkTWFya0ZpcnN0Q29u
dGVudGZ1bFBhaW50IHsgZmFsc2UgfTsKKwogI2lmIEFTU0VSVF9FTkFCTEVECiAgICAgYm9vbCBt
X2luSGl0VGVzdGluZyB7IGZhbHNlIH07CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsNiArNzEsNyBAQAogI2luY2x1ZGUgIk92ZXJm
bG93RXZlbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZU92ZXJsYXlDb250
cm9sbGVyLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKICNpbmNsdWRlICJQcm9ncmVzc1Ry
YWNrZXIuaCIKICNpbmNsdWRlICJSZW5kZXJFbWJlZGRlZE9iamVjdC5oIgogI2luY2x1ZGUgIlJl
bmRlckZ1bGxTY3JlZW4uaCIKQEAgLTk4MSw2ICs5ODIsOCBAQCBib29sIEZyYW1lVmlldzo6Zmx1
c2hDb21wb3NpdGluZ1N0YXRlRm9yCiAjZW5kaWYKIAogICAgIHJlbmRlclZpZXctPmNvbXBvc2l0
b3IoKS5mbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoJnJvb3RGcmFtZUZvckZsdXNoID09IG1fZnJh
bWUucHRyKCkpOworICAgIGlmIChhdXRvKiBkb2N1bWVudCA9IGZyYW1lKCkuZG9jdW1lbnQoKSkK
KyAgICAgICAgZG9jdW1lbnQtPm1hcmtQYWludFRpbWluZ0lmTmVlZGVkKCk7CiAKICAgICByZXR1
cm4gdHJ1ZTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCShyZXZpc2lv
biAyNTkzNzgpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIK
ICNpbmNsdWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5j
ZU9ic2VydmVyLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgogI2luY2x1
ZGUgIlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVRp
bWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVXNlclRpbWluZy5oIgpAQCAtMTI0LDYgKzEy
NSw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICAgICAg
ZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNZWFzdXJlcygpKTsKICAgICB9
CiAKKyAgICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCkKKyAgICAgICAgZW50cmllcy5hcHBl
bmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBzdGQ6OnNvcnQoZW50cmllcy5iZWdp
bigpLCBlbnRyaWVzLmVuZCgpLCBQZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRpbWVDb21wYXJlTGVz
c1RoYW4pOwogICAgIHJldHVybiBlbnRyaWVzOwogfQpAQCAtMTM1LDYgKzEzOSw5IEBAIFZlY3Rv
cjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICBpZiAoZXF1YWxMZXR0ZXJz
SWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicmVzb3VyY2UiKSkKICAgICAgICAgZW50cmll
cy5hcHBlbmRWZWN0b3IobV9yZXNvdXJjZVRpbWluZ0J1ZmZlcik7CiAKKyAgICBpZiAobV9maXJz
dENvbnRlbnRmdWxQYWludCAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5
cGUsICJwYWludCIpKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBh
aW50KTsKKwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJp
ZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MoKSk7CkBAIC0xNTcsNiArMTY0
LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybQogICAgICAgICB9
CiAgICAgfQogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYgKGVudHJ5VHlwZS5p
c051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJwYWlu
dCIpKSAmJiBuYW1lID09ICJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikKKyAgICAgICAgZW50cmll
cy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAobV91c2VyVGltaW5n
KSB7CiAgICAgICAgIGlmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2UoZW50cnlUeXBlLCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5hcHBl
bmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNYXJrcyhuYW1lKSk7CkBAIC0xODAsNiArMTkwLDEz
IEBAIHZvaWQgUGVyZm9ybWFuY2U6OnNldFJlc291cmNlVGltaW5nQnVmZmUKICAgICBtX3Jlc291
cmNlVGltaW5nQnVmZmVyRnVsbEZsYWcgPSBmYWxzZTsKIH0KIAordm9pZCBQZXJmb3JtYW5jZTo6
cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKQoreworICAgIEFTU0VSVCghbV9maXJzdENvbnRl
bnRmdWxQYWludCk7CisgICAgbV9maXJzdENvbnRlbnRmdWxQYWludCA9IFBlcmZvcm1hbmNlUGFp
bnRUaW1pbmc6OmNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KG5vdygpKTsKKyAgICBxdWV1ZUVu
dHJ5KCptX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKK30KKwogdm9pZCBQZXJmb3JtYW5jZTo6YWRk
UmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRpbWluZykKIHsKICAgICBB
U1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlLmgJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBjbGFzcyBMb2FkVGltaW5n
OwogY2xhc3MgUGVyZm9ybWFuY2VFbnRyeTsKIGNsYXNzIFBlcmZvcm1hbmNlTmF2aWdhdGlvbjsK
IGNsYXNzIFBlcmZvcm1hbmNlT2JzZXJ2ZXI7CitjbGFzcyBQZXJmb3JtYW5jZVBhaW50VGltaW5n
OwogY2xhc3MgUGVyZm9ybWFuY2VUaW1pbmc7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xh
c3MgUmVzb3VyY2VUaW1pbmc7CkBAIC03Nyw2ICs3OCw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
YWRkUmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJik7CiAKKyAgICB2b2lkIHJlcG9ydEZp
cnN0Q29udGVudGZ1bFBhaW50KCk7CisKICAgICB2b2lkIHJlbW92ZUFsbE9ic2VydmVycygpOwog
ICAgIHZvaWQgcmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXIm
KTsKICAgICB2b2lkIHVucmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXImKTsKQEAgLTEyMSw2ICsxMjQsNyBAQCBwcml2YXRlOgogCiAgICAgTW9ub3RvbmljVGlt
ZSBtX3RpbWVPcmlnaW47CiAKKyAgICBSZWZQdHI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4gbV9m
aXJzdENvbnRlbnRmdWxQYWludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXNlclRpbWluZz4gbV91
c2VyVGltaW5nOwogCiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxTY3JpcHRFeGVjdXRpb25Db250ZXh0
PiBtX3BlcmZvcm1hbmNlVGltZWxpbmVUYXNrUXVldWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0
LDExIEBAIE9wdGlvbmFsPFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IFBlcmZvcm0KICAgICAgICAg
ICAgIHJldHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpSZXNvdXJjZSk7CiAgICAgfQogCisgICAg
aWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucGFpbnRUaW1pbmdF
bmFibGVkKCkpIHsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9PSAicGFpbnQiKQorICAgICAgICAg
ICAgcmV0dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6OlBhaW50KTsKKyAgICB9CisKICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlRW50cnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
RW50cnkuaAkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5LmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAg
ICAgICBNYXJrID0gMSA8PCAxLAogICAgICAgICBNZWFzdXJlID0gMSA8PCAyLAogICAgICAgICBS
ZXNvdXJjZSA9IDEgPDwgMywKKyAgICAgICAgUGFpbnQgPSAxIDw8IDQKICAgICB9OwogCiAgICAg
dmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC02Miw2ICs2Myw3IEBAIHB1YmxpYzoK
ICAgICBib29sIGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UmVz
b3VyY2U7IH0KICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBl
OjpNYXJrOyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0g
VHlwZTo6TWVhc3VyZTsgfQorICAgIGJvb2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUo
KSA9PSBUeXBlOjpQYWludDsgfQogCiAgICAgc3RhdGljIGJvb2wgc3RhcnRUaW1lQ29tcGFyZUxl
c3NUaGFuKGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYSwgY29uc3QgUmVmUHRyPFBl
cmZvcm1hbmNlRW50cnk+JiBiKQogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VPYnNlcnZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDE1
ICsxMTMsMjEgQEAgdm9pZCBQZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVyKCkKICAgICBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpcmVPYnNlcnZlckNhbGxiYWNrKCpjb250ZXh0KTsK
IH0KIAotVmVjdG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlU
eXBlcygpCitWZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRy
eVR5cGVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIHsK
KyAgICBWZWN0b3I8U3RyaW5nPiBlbnRyeVR5cGVzID0gewogICAgICAgICAvLyBGSVhNRTogPGh0
dHBzOi8vd2Via2l0Lm9yZy9iLzE4NDM2Mz4gQWRkIHN1cHBvcnQgZm9yIE5hdmlnYXRpb24gVGlt
aW5nIExldmVsIDIKICAgICAgICAgLy8gIm5hdmlnYXRpb24iX3MsCiAgICAgICAgICJtYXJrIl9z
LAotICAgICAgICAibWVhc3VyZSJfcywKLSAgICAgICAgInJlc291cmNlIl9zCisgICAgICAgICJt
ZWFzdXJlIl9zCiAgICAgfTsKKworICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4dCkgJiYgZG93
bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpLnN1cHBvcnRzUGFpbnRUaW1pbmcoKSkKKyAgICAgICAg
ZW50cnlUeXBlcy5hcHBlbmQoInBhaW50Il9zKTsKKworICAgIGVudHJ5VHlwZXMuYXBwZW5kKCJy
ZXNvdXJjZSJfcyk7CisKKyAgICByZXR1cm4gZW50cnlUeXBlczsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVy
LmgJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihjb250ZXh0LCBXVEZN
b3ZlKGNhbGxiYWNrKSkpOwogICAgIH0KIAotICAgIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBw
b3J0ZWRFbnRyeVR5cGVzKCk7CisgICAgc3RhdGljIFZlY3RvcjxTdHJpbmc+IHN1cHBvcnRlZEVu
dHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogCiAgICAgdm9pZCBkaXNhc3NvY2lh
dGUoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIu
aWRsCShyZXZpc2lvbiAyNTkzNzgpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiBdIGludGVyZmFj
ZSBQZXJmb3JtYW5jZU9ic2VydmVyIHsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgb2Jz
ZXJ2ZShQZXJmb3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKICAgICB2b2lkIGRpc2Nvbm5l
Y3QoKTsKLSAgICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PERPTVN0cmlu
Zz4gc3VwcG9ydGVkRW50cnlUeXBlczsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dF0gc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHN1
cHBvcnRlZEVudHJ5VHlwZXM7CiB9OwogCiBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJ
bml0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWlu
Zy5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWlu
dFRpbWluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRp
bWluZyBmaW5hbCA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUmVmPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IGNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50
KERPTUhpZ2hSZXNUaW1lU3RhbXAgdGltZVN0YW1wKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygiZmlyc3QtY29udGVudGZ1bC1wYWlu
dCJfcywgdGltZVN0YW1wKSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcoY29uc3QgU3RyaW5nJiBuYW1lLCBET01IaWdoUmVzVGltZVN0YW1wIHRpbWVTdGFt
cCkKKyAgICAgICAgOiBQZXJmb3JtYW5jZUVudHJ5KG5hbWUsIHRpbWVTdGFtcCwgdGltZVN0YW1w
KQorICAgIHsKKyAgICB9CisKKyAgICBBU0NJSUxpdGVyYWwgZW50cnlUeXBlKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gInBhaW50Il9zOyB9CisgICAgVHlwZSB0eXBlKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gVHlwZTo6UGFpbnQ7IH0KKworICAgIH5QZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgPSBk
ZWZhdWx0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVf
VFJBSVRTX0JFR0lOKFdlYkNvcmU6OlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcpCisgICAgc3RhdGlj
IGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KSB7IHJl
dHVybiBlbnRyeS5pc1BhaW50KCk7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAko
bm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1p
bmcuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczov
L3czYy5naXRodWIuaW8vcGFpbnQtdGltaW5nLworCit0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVz
VGltZVN0YW1wOworCitbCisgICAgRW5hYmxlZEF0UnVudGltZT1QYWludFRpbWluZywKKyAgICBF
eHBvc2VkPShXaW5kb3cpLAorXSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VQYWludFRpbWluZyA6IFBl
cmZvcm1hbmNlRW50cnkgeworfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcy5oCShyZXZpc2lvbiAyNTkzNzgpCisrKyBTb3VyY2UvV2ViQ29yZS9w
YWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIs
OSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVc2VyVGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxl
ZCkgeyBtX2lzVXNlclRpbWluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHVzZXJU
aW1pbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1VzZXJUaW1pbmdFbmFibGVkOyB9CiAK
KyAgICB2b2lkIHNldFBhaW50VGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzUGFp
bnRUaW1pbmdFbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCBwYWludFRpbWluZ0VuYWJs
ZWQoKSBjb25zdCB7IHJldHVybiBtX2lzUGFpbnRUaW1pbmdFbmFibGVkOyB9CisKICAgICBib29s
IHBlcmZvcm1hbmNlVGltZWxpbmVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gcmVzb3VyY2VUaW1p
bmdFbmFibGVkKCkgfHwgdXNlclRpbWluZ0VuYWJsZWQoKTsgfQogCiAgICAgdm9pZCBzZXRTaGFk
b3dET01FbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNTaGFkb3dET01FbmFibGVkID0gaXNF
bmFibGVkOyB9CkBAIC00MjQsNiArNDI3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNMaW5r
UHJlbG9hZEVuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2lzTGlua1ByZWZldGNoRW5hYmxl
ZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzTWVkaWFQcmVsb2FkaW5nRW5hYmxlZCB7IGZhbHNl
IH07CisgICAgYm9vbCBtX2lzUGFpbnRUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29s
IG1faXNSZXNvdXJjZVRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1VzZXJU
aW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNJbnRlcmFjdGl2ZUZvcm1WYWxp
ZGF0aW9uRW5hYmxlZCB7IGZhbHNlIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UGFpbnRUaW1pbmdSZW5kZXJTdXBwb3J0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUGFpbnRUaW1pbmdSZW5kZXJTdXBwb3J0LmNwcAkobm9uZXhpc3RlbnQpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUGFpbnRUaW1pbmdSZW5kZXJTdXBwb3J0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MCBXaWtpTWVkaWEgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg
KgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisg
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiUGFpbnRUaW1pbmdSZW5kZXJTdXBwb3J0LmgiCisKKyNpbmNsdWRlICJS
ZW5kZXJCb3hNb2RlbE9iamVjdC5oIgorI2luY2x1ZGUgIlJlbmRlckNoaWxkSXRlcmF0b3IuaCIK
KyNpbmNsdWRlICJSZW5kZXJTVkdSb290LmgiCisjaW5jbHVkZSAiUmVuZGVyVGV4dC5oIgorI2lu
Y2x1ZGUgIlJlbmRlclZpZXcuaCIKKworLy8gVGhpcyBpbXBsZW1lbnRzIGNoZWNrZXMgZm9yIGh0
dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI2NvbnRlbnRmdWwgYW5kIGh0dHBzOi8v
dzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI3BhaW50YWJsZQorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK3N0YXRpYyBib29sIGhhc0NoaWxkcmVuV2l0aE5vbldoaXRlc3BhY2VUZXh0KGNvbnN0
IFJlbmRlckJveE1vZGVsT2JqZWN0JiBlbGVtZW50KQoreworICAgIGZvciAoYXV0byYgY2hpbGQg
OiBjaGlsZHJlbk9mVHlwZTxSZW5kZXJUZXh0PihlbGVtZW50KSkgeworICAgICAgICBpZiAoIWNo
aWxkLmNvbnRhaW5zT25seUhUTUxXaGl0ZXNwYWNlKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3N0YXRpYyBib29sIGlzQ29udGVu
dGZ1bChjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCYgZWxlbWVudCkKK3sKKyAgICByZXR1cm4g
ZWxlbWVudC5oYXNPd25QYWludGFibGVDb250ZW50KCkKKyAgICAgICAgfHwgZWxlbWVudC5zdHls
ZSgpLmhhc1BhaW50YWJsZUNhY2hlZEJhY2tncm91bmRJbWFnZSgpCisgICAgICAgIHx8IGhhc0No
aWxkcmVuV2l0aE5vbldoaXRlc3BhY2VUZXh0KGVsZW1lbnQpOworfQorCitzdGF0aWMgYm9vbCBo
YXNQb3RlbnRpYWxseVZpc2libGVSZWdpb25zKGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0JiBl
bGVtZW50LCBjb25zdCBJbnRSZWN0JiBkb2N1bWVudFJlY3QpCit7CisgICAgQVNTRVJUKCFlbGVt
ZW50Lm5lZWRzTGF5b3V0KCkpOworICAgIEFTU0VSVChpc0NvbnRlbnRmdWwoZWxlbWVudCkpOwor
ICAgIEFTU0VSVChlbGVtZW50Lm9wYWNpdHkoKSk7CisgICAgQVNTRVJUKGVsZW1lbnQuc3R5bGUo
KS52aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6VmlzaWJsZSk7CisKKyAgICBpZiAoaXM8UmVu
ZGVyQm94PihlbGVtZW50KSkgeworICAgICAgICBjb25zdCBSZW5kZXJCb3gmIGJveCA9IGRvd25j
YXN0PFJlbmRlckJveD4oZWxlbWVudCk7CisgICAgICAgIGlmICghYm94LndpZHRoKCkgfHwgIWJv
eC5oZWlnaHQoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICByZXR1cm4g
ZWxlbWVudC5sb2NhbFRvQWJzb2x1dGVRdWFkKEZsb2F0UmVjdCgwLCAwLCBib3gud2lkdGgoKSwg
Ym94LmhlaWdodCgpKSkuYm91bmRpbmdCb3goKS5pbnRlcnNlY3RzKGRvY3VtZW50UmVjdCk7Cisg
ICAgfQorCisgICAgVmVjdG9yPEZsb2F0UXVhZD4gcXVhZHM7CisKKyAgICAvLyBXZSBkb24ndCBu
ZWVkIHRoZSBleGFjdCBib3VuZGluZyByZWN0LCB3ZSBqdXN0IG5lZWQgdG8gZmluZCBpZiBpdCBp
bnRlcnNlY3RzIHdpdGggZG9jdW1lbnRSZWN0LgorICAgIGVsZW1lbnQuYWJzb2x1dGVRdWFkcyhx
dWFkcyk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBxdWFkcy5zaXplKCk7ICsraSkgewor
ICAgICAgICBpZiAocXVhZHNbaV0uYm91bmRpbmdCb3goKS5pbnRlcnNlY3RzKGRvY3VtZW50UmVj
dCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK3N0YXRpYyBib29sIGlzU2VsZkNvbnRlbnRmdWxBbmRQYWludGFibGUoY29uc3QgUmVu
ZGVyQm94TW9kZWxPYmplY3QmIGVsZW1lbnQsIGNvbnN0IEludFJlY3QmIGRvY3VtZW50UmVjdCkK
K3sKKyAgICByZXR1cm4gZWxlbWVudC5zdHlsZSgpLnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5
OjpWaXNpYmxlIAorICAgICAgICAmJiBpc0NvbnRlbnRmdWwoZWxlbWVudCkgCisgICAgICAgICYm
IGhhc1BvdGVudGlhbGx5VmlzaWJsZVJlZ2lvbnMoZWxlbWVudCwgZG9jdW1lbnRSZWN0KTsKK30K
Kworc3RhdGljIGJvb2wgaXNTZWxmT3JEZXNjZW5kYW50SXNDb250ZW50ZnVsQW5kUGFpbnRhYmxl
KGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0JiBlbGVtZW50LCBjb25zdCBJbnRSZWN0JiBkb2N1
bWVudFJlY3QpCit7CisgICAgaWYgKCFlbGVtZW50Lm9wYWNpdHkoKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgaWYgKGlzU2VsZkNvbnRlbnRmdWxBbmRQYWludGFibGUoZWxlbWVudCwg
ZG9jdW1lbnRSZWN0KSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAvLyBUaGlzIGlzIGEg
cG90ZW50aWFsbHkgZXhwZW5zaXZlIG9wZXJhdGlvbiwgYXMgYXQgaXRzIHdvcnN0IGNhc2UgaXQg
cnVucyBvbiBldmVyeSBlbGVtZW50IG9uIHRoZSB0cmVlIHJlY3Vyc2l2ZWx5IHRvIGNvbXB1dGUg
Ym91bmRpbmcgcmVjdC4KKyAgICAvLyBIb3dldmVyLCB0aGUgd29yc3QgY2FzZSBzY2VuYXJpbyB3
b3VsZCBiZSBleHRyZW1lbHkgcmFyZSBhcyBpdCB3b3VsZCBvbmx5IG1ha2UgdGhlIGZ1bGwgY29t
cHV0YXRpb24gZm9yIGVsZW1lbnRzIHRoYXQgYXJlIGFscmVhZHkgZm91bmQgdG8gYmUgY29udGVu
dGZ1bAorICAgIC8vIGFuZCB2aXNpYmxlLCB3b3VsZCBiYWlsIG91dCBmcm9tIHRoZSByZWN1cnNp
b24gZm9yIHRoZSBmaXJzdCBlbGlnaWJsZSBlbGVtZW50LCBhbmQgd291bGQgZG8gdGhpcyBvbmNl
IGluIHRoZSB3aG9sZSBsaWZlY3ljbGUgb2YgYSBkb2N1bWVudC4KKyAgICBmb3IgKGNvbnN0IGF1
dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8UmVuZGVyQm94TW9kZWxPYmplY3Q+KGVsZW1lbnQp
KSB7CisgICAgICAgIGlmIChpc1NlbGZPckRlc2NlbmRhbnRJc0NvbnRlbnRmdWxBbmRQYWludGFi
bGUoY2hpbGQsIGRvY3VtZW50UmVjdCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9
CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgUGFpbnRUaW1pbmdSZW5kZXJTdXBwb3J0
OjpoYXNDb250ZW50ZnVsUGFpbnRhYmxlRWxlbWVudHMoY29uc3QgUmVuZGVyVmlldyYgdmlldykK
K3sKKyAgICByZXR1cm4gaXNTZWxmT3JEZXNjZW5kYW50SXNDb250ZW50ZnVsQW5kUGFpbnRhYmxl
KHZpZXcsIHZpZXcuZG9jdW1lbnRSZWN0KCkpOworfQorfQpJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1BhaW50VGltaW5nUmVuZGVyU3VwcG9ydC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9QYWludFRpbWluZ1JlbmRlclN1cHBvcnQuaAkobm9uZXhpc3Rl
bnQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUGFpbnRUaW1pbmdSZW5kZXJTdXBwb3J0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBXaWtpTWVkaWEgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
CisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisqLworCisjcHJhZ21hIG9uY2UK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSZW5kZXJWaWV3OworCitjbGFzcyBQYWlu
dFRpbWluZ1JlbmRlclN1cHBvcnQgeworcHVibGljOgorICAgIHN0YXRpYyBib29sIGhhc0NvbnRl
bnRmdWxQYWludGFibGVFbGVtZW50cyhjb25zdCBSZW5kZXJWaWV3Jik7Cit9OworCit9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaAko
cmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1v
ZGVsT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzOCw2ICsyMzgsOCBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBib29sIGhhc092ZXJyaWRlQ29udGFpbmluZ0Jsb2NrQ29udGVudFdpZHRoKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaGFzT3ZlcnJpZGVDb250
YWluaW5nQmxvY2tDb250ZW50SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAorICAg
IHZpcnR1YWwgYm9vbCBoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KKwogcHJvdGVjdGVkOgogICAgIFJlbmRlckJveE1vZGVsT2JqZWN0KEVsZW1lbnQmLCBS
ZW5kZXJTdHlsZSYmLCBCYXNlVHlwZUZsYWdzKTsKICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdChE
b2N1bWVudCYsIFJlbmRlclN0eWxlJiYsIEJhc2VUeXBlRmxhZ3MpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmNwcAkocmV2aXNpb24gMjU5Mzc4
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MCw2ICs1MCwxMSBAQCBSZW5kZXJIVE1MQ2FudmFzOjpSZW5kZXJIVE1M
Q2FudmFzKEhUTUxDCiB7CiB9CiAKK2Jvb2wgUmVuZGVySFRNTENhbnZhczo6aGFzT3duUGFpbnRh
YmxlQ29udGVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuICEhY2FudmFzRWxlbWVudCgpLnJlbmRl
cmluZ0NvbnRleHQoKTsKK30KKwogSFRNTENhbnZhc0VsZW1lbnQmIFJlbmRlckhUTUxDYW52YXM6
OmNhbnZhc0VsZW1lbnQoKSBjb25zdAogewogICAgIHJldHVybiBkb3duY2FzdDxIVE1MQ2FudmFz
RWxlbWVudD4obm9kZUZvck5vbkFub255bW91cygpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaAkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaAkod29ya2luZyBjb3B5KQpAQCAt
NDQsNiArNDQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZWxlbWVudCgpIGNvbnN0ID0gZGVsZXRl
OwogICAgIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaXND
YW52YXMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisgICAgYm9vbCBoYXNPd25Q
YWludGFibGVDb250ZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgY29uc3QgY2hhciogcmVuZGVy
TmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJSZW5kZXJIVE1MQ2FudmFzIjsgfQogICAg
IHZvaWQgcGFpbnRSZXBsYWNlZChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpIG92ZXJy
aWRlOwogICAgIHZvaWQgaW50cmluc2ljU2l6ZUNoYW5nZWQoKSBvdmVycmlkZSB7IGNhbnZhc1Np
emVDaGFuZ2VkKCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdl
LmNwcAkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzM5LDYgKzMzOSwxMSBAQCB2b2lkIFJlbmRl
ckltYWdlOjp1cGRhdGVJbnRyaW5zaWNTaXplSWZOCiAgICAgc2V0SW50cmluc2ljU2l6ZShuZXdT
aXplKTsKIH0KIAorYm9vbCBSZW5kZXJJbWFnZTo6aGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1faW1hZ2VSZXNvdXJjZS0+Y2FjaGVkSW1hZ2UoKSAmJiBtX2lt
YWdlUmVzb3VyY2UtPmNhY2hlZEltYWdlKCktPmNhblJlbmRlcih0aGlzLCAxKTsKK30KKwogdm9p
ZCBSZW5kZXJJbWFnZTo6dXBkYXRlSW5uZXJDb250ZW50UmVjdCgpCiB7CiAgICAgLy8gUHJvcGFn
YXRlIGNvbnRhaW5lciBzaXplIHRvIGltYWdlIHJlc291cmNlLgpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckltYWdlLmgJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC03Niw2ICs3Niw3
IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGREaXNwbGF5QnJva2VuSW1hZ2VJ
Y29uKCkgY29uc3Q7CiAKKyAgICBib29sIGhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdCBv
dmVycmlkZTsKICAgICBib29sIGhhc05vbkJpdG1hcEltYWdlKCkgY29uc3Q7CiAKICAgICBib29s
IGlzRWRpdGFibGVJbWFnZSgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dC5oCShyZXZpc2lvbiAyNTkzNzgpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNyArMTc5LDcgQEAgcHVibGljOgog
ICAgIExheW91dFVuaXQgdG9wT2ZGaXJzdFRleHQoKSBjb25zdDsKICAgICAKICAgICBib29sIGNv
bnRhaW5zT25seUhUTUxXaGl0ZXNwYWNlKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0aCkg
Y29uc3Q7Ci0gICAgCisgICAgYm9vbCBjb250YWluc09ubHlIVE1MV2hpdGVzcGFjZSgpIGNvbnN0
IHsgcmV0dXJuIGNvbnRhaW5zT25seUhUTUxXaGl0ZXNwYWNlKDAsIHRleHQoKS5sZW5ndGgoKSk7
IH0gCiAgICAgYm9vbCBjYW5Vc2VTaW1wbGlmaWVkVGV4dE1lYXN1cmluZygpIGNvbnN0IHsgcmV0
dXJuIG1fY2FuVXNlU2ltcGxpZmllZFRleHRNZWFzdXJpbmc7IH0KIAogICAgIFZlY3RvcjxzdGQ6
OnBhaXI8dW5zaWduZWQsIHVuc2lnbmVkPj4gZHJhZ2dlZENvbnRlbnRSYW5nZXNCZXR3ZWVuT2Zm
c2V0cyh1bnNpZ25lZCBzdGFydE9mZnNldCwgdW5zaWduZWQgZW5kT2Zmc2V0KSBjb25zdDsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkocmV2aXNpb24gMjU5
Mzc4KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtOTIsNiArOTIsMTQgQEAgdm9pZCBSZW5kZXJWaWRlbzo6aW50cmluc2ljU2l6
ZUNoYW5nZWQoKQogICAgIHVwZGF0ZUludHJpbnNpY1NpemUoKTsgCiB9CiAKK2Jvb2wgUmVuZGVy
VmlkZW86Omhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIGlmICh2aWRlb0Vs
ZW1lbnQoKS5zaG91bGREaXNwbGF5UG9zdGVySW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIFJlbmRl
ckltYWdlOjpoYXNPd25QYWludGFibGVDb250ZW50KCk7CisKKyAgICByZXR1cm4gdmlkZW9FbGVt
ZW50KCkucmVhZHlTdGF0ZSgpID4gSFRNTE1lZGlhRWxlbWVudEVudW1zOjpIQVZFX01FVEFEQVRB
OworfQorCiBib29sIFJlbmRlclZpZGVvOjp1cGRhdGVJbnRyaW5zaWNTaXplKCkKIHsKICAgICBM
YXlvdXRTaXplIHNpemUgPSBjYWxjdWxhdGVJbnRyaW5zaWNTaXplKCk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uaAkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3LDYg
KzY3LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIGlzVmlkZW8oKSBjb25zdCBmaW5hbCB7IHJldHVy
biB0cnVlOyB9CisgICAgYm9vbCBoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3Qgb3ZlcnJp
ZGU7CiAKICAgICB2b2lkIHBhaW50UmVwbGFjZWQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9p
bnQmKSBmaW5hbDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxM
YXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Zp
bGxMYXllci5jcHAJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9GaWxsTGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDAsNiArMzQwLDE1IEBA
IGJvb2wgRmlsbExheWVyOjpjb250YWluc0ltYWdlKFN0eWxlSW1hZ2UKICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKK2Jvb2wgRmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSgpIGNvbnN0Cit7
CisgICAgZm9yIChhdXRvKiBsYXllciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5tX25l
eHQuZ2V0KCkpIHsKKyAgICAgICAgaWYgKGxheWVyLT5tX2ltYWdlICYmIGxheWVyLT5tX2ltYWdl
LT5pc0xvYWRlZCgpICYmIGxheWVyLT5tX2ltYWdlLT5oYXNDYWNoZWRJbWFnZSgpKQorICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBG
aWxsTGF5ZXI6OmltYWdlc0FyZUxvYWRlZCgpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvKiBsYXll
ciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5tX25leHQuZ2V0KCkpIHsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgJKHJldmlzaW9uIDI1OTM3
OCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTQ1LDYgKzE0NSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgY29udGFpbnNJ
bWFnZShTdHlsZUltYWdlJikgY29uc3Q7CiAgICAgYm9vbCBpbWFnZXNBcmVMb2FkZWQoKSBjb25z
dDsKKyAgICBib29sIGhhc0xvYWRlZENhY2hlZEltYWdlKCkgY29uc3Q7CiAgICAgYm9vbCBoYXNJ
bWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmV4dCA/IGhhc0ltYWdlSW5BbnlMYXllcigpIDogbV9p
bWFnZTsgfQogICAgIGJvb2wgaGFzRml4ZWRJbWFnZSgpIGNvbnN0OwogICAgIGJvb2wgaGFzT3Bh
cXVlSW1hZ2UoY29uc3QgUmVuZGVyRWxlbWVudCYpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiAyNTkzNzgp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NDQsNiArNDQ0LDIxIEBAIGJvb2wgUmVuZGVyU3R5bGU6OmRlc2NlbmRh
bnRBZmZlY3RpbmdOb24KICAgICAgICAgJiYgbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+anVzdGlm
eUl0ZW1zID09IG90aGVyLm1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmp1c3RpZnlJdGVtczsKIH0K
IAorYm9vbCBSZW5kZXJTdHlsZTo6aGFzUGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdlKCkg
Y29uc3QKK3sKKyAgICBpZiAoIWhhc0JhY2tncm91bmRJbWFnZSgpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBjb25zdCBGaWxsTGF5ZXImIGJhY2tncm91bmQgPSBiYWNrZ3JvdW5kTGF5
ZXJzKCk7CisgICAgaWYgKCFiYWNrZ3JvdW5kLmhhc0xvYWRlZENhY2hlZEltYWdlKCkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChiYWNrZ3JvdW5kU2l6ZUxlbmd0aCgpLmlzRW1w
dHkoKSAmJiBiYWNrZ3JvdW5kU2l6ZVR5cGUoKSA9PSBGaWxsU2l6ZVR5cGU6OlNpemUpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOworfQorCiAjaWYgRU5BQkxFKFRF
WFRfQVVUT1NJWklORykKIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBjb21wdXRlRm9udEhhc2go
Y29uc3QgRm9udENhc2NhZGUmIGZvbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQxNSw2
ICs0MTUsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgTGVuZ3RoU2l6ZSYgYmFja2dyb3VuZFNpemVM
ZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2JhY2tncm91bmREYXRhLT5iYWNrZ3JvdW5kLnNpemVM
ZW5ndGgoKTsgfQogICAgIEZpbGxMYXllciYgZW5zdXJlQmFja2dyb3VuZExheWVycygpIHsgcmV0
dXJuIG1fYmFja2dyb3VuZERhdGEuYWNjZXNzKCkuYmFja2dyb3VuZDsgfQogICAgIGNvbnN0IEZp
bGxMYXllciYgYmFja2dyb3VuZExheWVycygpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2dyb3VuZERh
dGEtPmJhY2tncm91bmQ7IH0KKyAgICBib29sIGhhc1BhaW50YWJsZUNhY2hlZEJhY2tncm91bmRJ
bWFnZSgpIGNvbnN0OwogCiAgICAgU3R5bGVJbWFnZSogbWFza0ltYWdlKCkgY29uc3QgeyByZXR1
cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bWFzay5pbWFnZSgpOyB9CiAgICAgRmlsbFJlcGVh
dCBtYXNrUmVwZWF0WCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEZpbGxSZXBlYXQ+KG1f
cmFyZU5vbkluaGVyaXRlZERhdGEtPm1hc2sucmVwZWF0WCgpKTsgfQpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCShyZXZpc2lvbiAyNTkz
NzgpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NDcsNCArNDQ3LDkgQEAgdm9pZCBSZW5kZXJTVkdSb290OjphZGRS
ZXNvdXJjZUZvckNsaWVudAogICAgIHN2Z1Jvb3QtPm1fcmVzb3VyY2VzTmVlZGluZ1RvSW52YWxp
ZGF0ZUNsaWVudHMuYWRkKHJlc291cmNlKTsKIH0KIAorYm9vbCBSZW5kZXJTVkdSb290OjpoYXNP
d25QYWludGFibGVDb250ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gU1ZHUmVuZGVyU3VwcG9y
dDo6aGFzUmVuZGVyYWJsZUNoaWxkcmVuKCp0aGlzKTsgICAgCit9CisKIH0KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5oCShyZXZpc2lvbiAyNTkz
NzgpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaAkod29y
a2luZyBjb3B5KQpAQCAtNjIsNiArNjIsOCBAQCBwdWJsaWM6CiAgICAgLy8gbWV0aG9kIGR1cmlu
ZyBsYXlvdXQgd2hlbiB0aGV5IGFyZSBpbnZhbGlkYXRlZCBieSBhIGZpbHRlci4KICAgICBzdGF0
aWMgdm9pZCBhZGRSZXNvdXJjZUZvckNsaWVudEludmFsaWRhdGlvbihSZW5kZXJTVkdSZXNvdXJj
ZUNvbnRhaW5lciopOwogCisgICAgYm9vbCBoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3Qg
b3ZlcnJpZGU7CisKIHByaXZhdGU6CiAgICAgdm9pZCBlbGVtZW50KCkgY29uc3QgPSBkZWxldGU7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJT
dXBwb3J0LmNwcAkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ4LDYgKzE0OCwy
MyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlT2JqZWN0Qm91bmRpbmdCCiAgICAgb2JqZWN0
Qm91bmRpbmdCb3gudW5pdGVFdmVuSWZFbXB0eShvdGhlckJvdW5kaW5nQm94KTsKIH0KIAorCiti
b29sIFNWR1JlbmRlclN1cHBvcnQ6Omhhc1JlbmRlcmFibGVDaGlsZHJlbihjb25zdCBSZW5kZXJF
bGVtZW50JiBjb250YWluZXIpCit7CisgICAgZm9yIChhdXRvJiBjdXJyZW50IDogY2hpbGRyZW5P
ZlR5cGU8UmVuZGVyT2JqZWN0Pihjb250YWluZXIpKSB7CisgICAgICAgIGlmIChjdXJyZW50Lmlz
U1ZHSGlkZGVuQ29udGFpbmVyKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAv
LyBEb24ndCBpbmNsdWRlIGVsZW1lbnRzIGluIHRoZSB1bmlvbiB0aGF0IGRvIG5vdCByZW5kZXIu
CisgICAgICAgIGlmIChpczxSZW5kZXJTVkdTaGFwZT4oY3VycmVudCkgJiYgZG93bmNhc3Q8UmVu
ZGVyU1ZHU2hhcGU+KGN1cnJlbnQpLmlzUmVuZGVyaW5nRGlzYWJsZWQoKSkKKyAgICAgICAgICAg
IGNvbnRpbnVlOworCisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBm
YWxzZTsKK30KKwogdm9pZCBTVkdSZW5kZXJTdXBwb3J0Ojpjb21wdXRlQ29udGFpbmVyQm91bmRp
bmdCb3hlcyhjb25zdCBSZW5kZXJFbGVtZW50JiBjb250YWluZXIsIEZsb2F0UmVjdCYgb2JqZWN0
Qm91bmRpbmdCb3gsIGJvb2wmIG9iamVjdEJvdW5kaW5nQm94VmFsaWQsIEZsb2F0UmVjdCYgc3Ry
b2tlQm91bmRpbmdCb3gsIEZsb2F0UmVjdCYgcmVwYWludEJvdW5kaW5nQm94KQogewogICAgIG9i
amVjdEJvdW5kaW5nQm94ID0gRmxvYXRSZWN0KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuaAkocmV2aXNpb24gMjU5Mzc4KQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTg5LDYgKzg5LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBSZW5kZXJTVkdSb290
KiBmaW5kVHJlZVJvb3RPYmplY3QoUmVuZGVyRWxlbWVudCYpOwogICAgIHN0YXRpYyBjb25zdCBS
ZW5kZXJTVkdSb290KiBmaW5kVHJlZVJvb3RPYmplY3QoY29uc3QgUmVuZGVyRWxlbWVudCYpOwog
CisgICAgc3RhdGljIGJvb2wgaGFzUmVuZGVyYWJsZUNoaWxkcmVuKGNvbnN0IFJlbmRlckVsZW1l
bnQmKTsKKwogcHJpdmF0ZToKICAgICAvLyBUaGlzIGNsYXNzIGlzIG5vdCBjb25zdHJ1Y3RhYmxl
LgogICAgIFNWR1JlbmRlclN1cHBvcnQoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTkzNzgp
CisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIw
IEBACisyMDIwLTA0LTAyICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgcnVudGltZSBmbGFnIGZv
ciBwYWludC10aW1pbmcgKHBhaW50VGltaW5nRW5hYmxlZCkuCisKKyAgICAgICAgKiBTaGFyZWQv
V2ViUHJlZmVyZW5jZXMueWFtbDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlcy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKToK
KyAgICAgICAgKFdLUHJlZmVyZW5jZXNHZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjp1cGRhdGVQcmVmZXJl
bmNlc1N0b3JlKToKKwogMjAyMC0wNC0wMSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBVVEkgZnJvbSBNSU1FIHR5cGUgY2FjaGUgY2FuIGJl
IHJlbW92ZWQgYWZ0ZXIgcjI1ODkxNQpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXMueWFtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVm
ZXJlbmNlcy55YW1sCShyZXZpc2lvbiAyNTkzNzgpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJQcmVmZXJlbmNlcy55YW1sCSh3b3JraW5nIGNvcHkpCkBAIC04MzksNiArODM5LDEzIEBAIFVz
ZXJUaW1pbmdFbmFibGVkOgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgVXNl
clRpbWluZyBBUEkiCiAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAK
K1BhaW50VGltaW5nRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IHRydWUK
KyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJQYWludCBUaW1pbmciCisgIGh1bWFuUmVhZGFibGVEZXNj
cmlwdGlvbjogIkVuYWJsZSBQYWludCBUaW1pbmcgQVBJIgorICB3ZWJjb3JlQmluZGluZzogUnVu
dGltZUVuYWJsZWRGZWF0dXJlcworCiBCZWFjb25BUElFbmFibGVkOgogICB0eXBlOiBib29sCiAg
IGRlZmF1bHRWYWx1ZTogdHJ1ZQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
ODE5LDYgKzE4MTksMTYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0VXNlclRpbWluZ0VuYWJsZWQo
VwogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT51c2VyVGltaW5nRW5hYmxlZCgp
OwogfQogCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQoreworICAgIHRvSW1wbChwcmVmZXJl
bmNlc1JlZiktPnNldFBhaW50VGltaW5nRW5hYmxlZChmbGFnKTsKK30KKworYm9vbCBXS1ByZWZl
cmVuY2VzR2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnBhaW50VGltaW5nRW5h
YmxlZCgpOworfQorCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQo
V0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQogewogICAgIHRvSW1w
bChwcmVmZXJlbmNlc1JlZiktPnNldFJlc291cmNlVGltaW5nRW5hYmxlZChmbGFnKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
c1JlZlByaXZhdGUuaAkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNTAw
LDYgKzUwMCwxMCBAQCBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWluCiBX
S19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0VXNlclRpbWluZ0VuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZik7CiAKIC8vIERlZmF1bHRzIHRvIGZhbHNlCitXS19FWFBPUlQgdm9pZCBXS1ByZWZl
cmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7
CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYpOworCisvLyBEZWZhdWx0cyB0byBmYWxzZQogV0tfRVhQT1JUIHZvaWQgV0tQ
cmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29s
IGZsYWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFJlc291cmNlVGltaW5nRW5h
YmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uLmNwcAkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMjIsNiArMTIyLDcgQEAgdm9pZCBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6
dXBkYQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q2Fj
aGVBUElFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6
Y2FjaGVBUElFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldEZldGNoQVBJRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXko
V2ViUHJlZmVyZW5jZXNLZXk6OmZldGNoQVBJRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZChzdG9y
ZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnVzZXJUaW1pbmdFbmFibGVk
S2V5KCkpKTsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dFBhaW50VGltaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5j
ZXNLZXk6OnBhaW50VGltaW5nRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0
Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXNvdXJjZVRpbWluZ0VuYWJsZWRL
ZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0
RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVm
ZXJlbmNlc0tleTo6ZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFJlc3RyaWN0ZWRIVFRQUmVzcG9u
c2VBY2Nlc3Moc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXN0
cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzS2V5KCkpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA0LTAyICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChm
aXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIGEgcHJlZmVyZW5jZSBrZXkgZm9yIHBhaW50IHRpbWluZy4KKwor
ICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICog
V2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5p
dGlhbGl6ZV0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBwYWludFRpbWluZ0VuYWJsZWRd
KToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0UGFpbnRUaW1pbmdFbmFibGVkOl0pOgor
ICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2Vi
Vmlldy9XZWJWaWV3Lm1tOgorCiAyMDIwLTAzLTMxICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgogCiAgICAgICAgIERhdGFsaXN0IG9wdGlvbidzIGxhYmVsIG5vdCB1c2Vk
CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlz
UHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTI2MCw2ICsyNjAsNyBAQAogI2RlZmluZSBXZWJLaXRBdHRhY2htZW50RWxl
bWVudEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QXR0YWNobWVudEVsZW1lbnRFbmFibGVk
IgogI2RlZmluZSBXZWJLaXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5
IEAiV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkIgogI2RlZmluZSBXZWJLaXRNZW51
SXRlbUVsZW1lbnRFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdE1lbnVJdGVtRWxlbWVudEVu
YWJsZWQiCisjZGVmaW5lIFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRQYWludFRpbWluZ0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFVzZXJUaW1pbmdFbmFibGVk
UHJlZmVyZW5jZUtleSBAIldlYktpdFVzZXJUaW1pbmdFbmFibGVkIgogI2RlZmluZSBXZWJLaXRS
ZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UmVzb3VyY2VUaW1pbmdF
bmFibGVkIgogI2RlZmluZSBXZWJLaXRNZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJl
U3VwcG9ydFByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hh
cmR3YXJlU3VwcG9ydCIKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbQkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkod29ya2luZyBjb3B5KQpAQCAt
NjgzLDYgKzY4Myw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogI2lmIEVOQUJMRShJTlRFUlNFQ1RJ
T05fT0JTRVJWRVIpCiAgICAgICAgIEBOTywgV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFi
bGVkUHJlZmVyZW5jZUtleSwKICNlbmRpZgorICAgICAgICBATk8sIFdlYktpdFBhaW50VGltaW5n
RW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0VXNlclRpbWluZ0VuYWJs
ZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxl
ZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0TWVkaWFVc2VyR2VzdHVyZUluaGVy
aXRzRnJvbURvY3VtZW50LApAQCAtMzMwOCw2ICszMzA5LDE2IEBAIC0gKHZvaWQpc2V0VXNlclRp
bWluZ0VuYWJsZWQ6KEJPT0wpZmxhZwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JL
ZXk6V2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9PTClw
YWludFRpbWluZ0VuYWJsZWQKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpX
ZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9pZClzZXRQ
YWludFRpbWluZ0VuYWJsZWQ6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6
ZmxhZyBmb3JLZXk6V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisK
IC0gKEJPT0wpcmVzb3VyY2VUaW1pbmdFbmFibGVkCiB7CiAgICAgcmV0dXJuIFtzZWxmIF9ib29s
VmFsdWVGb3JLZXk6V2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmgJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTY2MSw2ICs2NjEsNyBAQCBAaW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzIChXZWJQcml2YXRlKQog
QHByb3BlcnR5IChub25hdG9taWMpIEJPT0wga2V5Z2VuRWxlbWVudEVuYWJsZWQ7CiBAcHJvcGVy
dHkgKG5vbmF0b21pYykgQk9PTCB1c2VyVGltaW5nRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRv
bWljKSBCT09MIHJlc291cmNlVGltaW5nRW5hYmxlZDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBC
T09MIHBhaW50VGltaW5nRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGxpbmtQ
cmVsb2FkRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIG1lZGlhVXNlckdlc3R1
cmVJbmhlcml0c0Zyb21Eb2N1bWVudDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGlzU2Vj
dXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAyNTkzNzgpCisrKyBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTMxOTYsNiAr
MzE5Niw3IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW4KIAogICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0Vu
YWJsZWQocHJlZmVyZW5jZXMudXNlclRpbWluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHByZWZl
cmVuY2VzLnJlc291cmNlVGltaW5nRW5hYmxlZCk7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMucGFp
bnRUaW1pbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChwcmVmZXJlbmNlcy5saW5rUHJlbG9hZEVuYWJs
ZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TWVk
aWFQcmVsb2FkaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5tZWRpYVByZWxvYWRpbmdFbmFibGVkKTsK
ICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldElzU2VjdXJl
Q29udGV4dEF0dHJpYnV0ZUVuYWJsZWQocHJlZmVyZW5jZXMuaXNTZWN1cmVDb250ZXh0QXR0cmli
dXRlRW5hYmxlZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAy
NTkzNzgpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0wNC0wMiAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWlu
dCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBw
cmVmZXJlbmNlIGtleSBmb3IgcGFpbnQtdGltaW5nLgorCisgICAgICAgICogSW50ZXJmYWNlcy9J
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlByZWZl
cmVuY2VzLmNwcDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6Om5v
dGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVm
ZXJlbmNlcy5pZGw6CisgICAgICAgICogSW50ZXJmYWNlcy9XZWJLaXQuaWRsOgorICAgICAgICAg
ICAgICAgIFRvdWNoZWQgdG8gdHJpZ2dlciBidWlsZC4KKwogMjAyMC0wMy0zMCAgU2ltb24gRnJh
c2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBzY3JvbGxJbnRvVmlldygp
IGVycm9uZW91c2x5IHNjcm9sbHMgbm9uLWNvbnRhaW5pbmcgYmxvY2sgc2Nyb2xsZXJzCkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaAkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE5Nyw2ICsxOTcsOCBAQAog
CiAjZGVmaW5lIFdlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0VXNl
clRpbWluZ0VuYWJsZWQiCiAKKyNkZWZpbmUgV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVy
ZW5jZUtleSAiV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkIgorCiAjZGVmaW5lIFdlYktpdFJlc291
cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFJlc291cmNlVGltaW5nRW5hYmxl
ZCIKIAogI2RlZmluZSBXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJL
aXRMaW5rUHJlbG9hZEVuYWJsZWQiCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQ
cmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
UHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAyNTkzNzgpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyNiw2ICszMjYsOCBA
QCB2b2lkIFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNlCiAKICAgICBDRkRpY3Rp
b25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVk
UHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKKyAgICBDRkRpY3Rpb25hcnlBZGRW
YWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtl
eSksIGtDRkJvb2xlYW5GYWxzZSk7CisKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0
cywgQ0ZTVFIoV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xl
YW5GYWxzZSk7CiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2Vi
S2l0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2Up
OwpAQCAtMjQxNCw2ICsyNDE2LDIwIEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnJlc291cmNl
VGltaW5nRW4KICAgICByZXR1cm4gU19PSzsKIH0KIAorSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6
c2V0UGFpbnRUaW1pbmdFbmFibGVkKEJPT0wgZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUo
V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwgZW5hYmxlZCk7CisgICAgcmV0
dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnBhaW50VGltaW5nRW5hYmxl
ZChfT3V0XyBCT09MKiBlbmFibGVkKQoreworICAgIGlmICghZW5hYmxlZCkKKyAgICAgICAgcmV0
dXJuIEVfUE9JTlRFUjsKKyAgICAqZW5hYmxlZCA9IGJvb2xWYWx1ZUZvcktleShXZWJLaXRQYWlu
dFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KTsKKyAgICByZXR1cm4gU19PSzsKK30KKwogSFJF
U1VMVCBXZWJQcmVmZXJlbmNlczo6c2VydmVyVGltaW5nRW5hYmxlZChfT3V0XyBCT09MKiBlbmFi
bGVkKQogewogICAgIGlmICghZW5hYmxlZCkKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlByZWZlcmVuY2VzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViUHJlZmVyZW5jZXMuaAkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViUHJlZmVyZW5jZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzA3LDYgKzMwNyw4IEBA
IHB1YmxpYzoKICAgICAvLyBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOAogICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKF9PdXRf
IEJPT0wqKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0QWxsb3dU
b3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhCT09MKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgcGFpbnRUaW1pbmdFbmFibGVkKF9PdXRfIEJPT0wqKTsKKyAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0UGFpbnRUaW1pbmdFbmFibGVkKEJPT0wpOwog
CiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmll
dy5jcHAJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZp
ZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Mjg1LDYgKzUyODUsMTEgQEAgSFJFU1VMVCBXZWJW
aWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQogICAgICAgICByZXR1cm4gaHI7CiAgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxl
ZCghIWVuYWJsZWQpOwogCisgICAgaHIgPSBwcmVmc1ByaXZhdGUtPnBhaW50VGltaW5nRW5hYmxl
ZCgmZW5hYmxlZCk7CisgICAgaWYgKEZBSUxFRChocikpCisgICAgICAgIHJldHVybiBocjsKKyAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFBhaW50VGltaW5n
RW5hYmxlZCghIWVuYWJsZWQpOworCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPnJlc291cmNlVGlt
aW5nRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVy
biBocjsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZl
cmVuY2VzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZh
Y2VzL0lXZWJQcmVmZXJlbmNlcy5pZGwJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZl
cmVuY2VzUHJpdmF0ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4v
SW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAkocmV2aXNpb24gMjU5Mzc4KQor
KysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjY1LDQgKzI2NSw2IEBAIGludGVyZmFjZSBJV2Vi
UHJlZmVyZW5jZXNQcml2YXRlOCA6IElXZWIKIHsKICAgICBIUkVTVUxUIGFsbG93VG9wTmF2aWdh
dGlvblRvRGF0YVVSTHMoW291dCwgcmV0dmFsXSBCT09MKiBlbmFibGVkKTsKICAgICBIUkVTVUxU
IHNldEFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoW2luXSBCT09MIGVuYWJsZWQpOworICAg
IEhSRVNVTFQgcGFpbnRUaW1pbmdFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOworICAgIEhS
RVNVTFQgc2V0UGFpbnRUaW1pbmdFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKIH0KSW5kZXg6
IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvV2ViS2l0LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL1dlYktpdC5pZGwJKHJldmlz
aW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvV2ViS2l0
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIGNwcF9xdW90ZSgi
LyoiKQotY3BwX3F1b3RlKCIgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDks
IDIwMTAsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiIpCitjcHBfcXVvdGUo
IiAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxNSwgMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIikKIGNwcF9xdW90ZSgiICoiKQogY3Bw
X3F1b3RlKCIgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQiKQogY3BwX3F1b3RlKCIgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMiKQpJbmRleDog
VG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24g
MjU5Mzc4KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMjAtMDQtMDIgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAg
ICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgcHJlZmVyZW5jZSBrZXkgZm9y
IHBhaW50LXRpbWluZy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVy
VHJlZS5tbToKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAg
ICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENv
bnRyb2xsZXI6OnJlc2V0UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorCiAyMDIwLTA0
LTAxICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29j
b2FdIFVUSSBmcm9tIE1JTUUgdHlwZSBjYWNoZSBjYW4gYmUgcmVtb3ZlZCBhZnRlciByMjU4OTE1
CkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCShyZXZp
c2lvbiAyNTkzNzgpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTEwMDQsNiArMTAwNCw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0
V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3QKICAgICBbcHJlZmVyZW5jZXMgc2V0TW9kZXJuTWVkaWFD
b250cm9sc0VuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0UmVzb3VyY2VUaW1pbmdF
bmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFVzZXJUaW1pbmdFbmFibGVkOllFU107
CisgICAgW3ByZWZlcmVuY2VzIHNldFBhaW50VGltaW5nRW5hYmxlZDpZRVNdOwogCiAgICAgW3By
ZWZlcmVuY2VzIHNldENhY2hlQVBJRW5hYmxlZDpOT107CiAgICAgcHJlZmVyZW5jZXMubWVkaWFD
YXBhYmlsaXRpZXNFbmFibGVkID0gWUVTOwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvd2lu
L0R1bXBSZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS93
aW4vRHVtcFJlbmRlclRyZWUuY3BwCShyZXZpc2lvbiAyNTkzNzgpCisrKyBUb29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MjEsNiAr
OTIxLDcgQEAgc3RhdGljIHZvaWQgc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aQogICAgIHBy
ZWZzUHJpdmF0ZS0+c2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhvcHRpb25zLmFsbG93
VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMpOwogICAgIHByZWZlcmVuY2VzLT5zZXRQcml2YXRlQnJv
d3NpbmdFbmFibGVkKG9wdGlvbnMudXNlRXBoZW1lcmFsU2Vzc2lvbik7CiAgICAgcHJlZmVyZW5j
ZXMtPnNldFVzZXNQYWdlQ2FjaGUob3B0aW9ucy5lbmFibGVCYWNrRm9yd2FyZENhY2hlKTsKKyAg
ICBwcmVmc1ByaXZhdGUtPnNldFBhaW50VGltaW5nRW5hYmxlZChUUlVFKTsKIH0KIAogc3RhdGlj
IFN0cmluZyBhcHBsaWNhdGlvbklkKCkKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyNTkzNzgpCisrKyBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMxLDYgKzkzMSw3IEBA
IHZvaWQgVGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVyZW5jZXNUb0MKICAgICBXS1ByZWZlcmVu
Y2VzU2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBX
S1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsK
ICAgICBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUp
OworICAgIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRy
dWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVByZWxvYWRpbmdFbmFibGVkKHByZWZlcmVu
Y2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQbGF5YmFja0FsbG93c0lubGlu
ZShwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldElubGluZU1lZGlhUGxh
eWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKHByZWZlcmVuY2VzLCBmYWxzZSk7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNTkzNzgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwzMSBAQAorMjAyMC0wNC0wMiAgTm9hbSBSb3NlbnRoYWwgIDxu
b2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1
bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZGVkIHRlc3RzIGZvciBzb21lIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgKEZDUCkgdXNlLWNh
c2VzLgorCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1h
cGlzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFp
bnQtdGltaW5nLWFwaS5qczogQWRkZWQuCisgICAgICAgICAgICAgICAgVGVzdCBleGlzdGVuY2Ug
b2YgcGFpbnQgdGltaW5nIEFQSSBvbiB0aGUgd2luZG93IG9iamVjdC4KKworICAgICAgICAqIHBl
cmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50
LWZyYW1lcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29u
dGVudGZ1bC1wYWludC13aXRoLXdvcmtlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LXdpdGgtd29ya2VyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1l
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2Vy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAgICAgICAgIFRlc3QgdGhhdCBGQ1AgaXMgbm90IGF2YWls
YWJsZSBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lcyBhbmQgd29ya2Vycy4KKworICAgICAgICAqIHBl
cmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1h
bmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanM6IEFkZGVkLgor
ICAgICAgICAoYXN5bmMgd2FpdEZvckZDUCk6CisgICAgICAgICAgICAgICAgVGVzdCB0aGF0IHBl
cmZvcm1hbmNlIG9ic2VydmVycyBhcmUgY2FsbGVkIGZvciBGQ1AuCisKIDIwMjAtMDQtMDEgIFJ5
YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gc3ZnL2Fz
LWJhY2tncm91bmQtaW1hZ2UvdGlsZWQtYmFja2dyb3VuZC1pbWFnZS5odG1sIGlzIGEgZmxha3kg
aW1hZ2UgZmFpbHVyZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lv
biAyNTkzNzgpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsNzggQEAKKzIwMjAtMDQtMDIgIE5vYW0gUm9zZW50aGFsICA8bm9h
bUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bXBvcnRlZCB0ZXN0LXN1aXRlIGZyb20gdzNjIHRvIGNvdmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFp
bnQgY2FzZXMuCisgICAgICAgIFRoZSBmY3Atb25seSBjYXNlcyBhcmUgaW1wb3J0ZWQsIHdoaWxl
IHRoZSBvdGhlciBvbmVzIGFyZSBub3Qgc2luY2UgV2ViS2l0IGRvZXMgbm90IHN1cHBvcnQgZmly
c3QtcGFpbnQuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29u
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Ut
dHdvLXN0ZXBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Y2FudmFzLWNvbnRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1n
cmFkaWVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3Rh
dGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUt
dHJhbnNpdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNs
YXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3V0LW9mLWJvdW5kcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmls
aXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10
ZXh0LWlucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBv
Z3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1p
bXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZzogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFp
bnRpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qczog
QWRkZWQuCisgICAgICAgICh3YWl0VGltZSk6CisgICAgICAgIChhc3luYyBhc3NlcnROb0ZpcnN0
Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKGFzeW5jIGFzc2VydEZpcnN0Q29udGVudGZ1bFBh
aW50KToKKyAgICAgICAgKHRlc3RfZmNwKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisKIDIwMjAtMDMt
MzAgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgU2Vs
ZWN0b3JzIDRdIEFkZCBzdXBwb3J0IGZvciBgOmlzKClgIHdpdGggdGhlIHNhbWUgbG9naWMgZm9y
IHRoZSBleGlzdGluZyBgOm1hdGNoZXMoKWAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCShy
ZXZpc2lvbiAyNTkzNzgpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2lt
cG9ydC1leHBlY3RhdGlvbnMuanNvbgkod29ya2luZyBjb3B5KQpAQCAtMTMsNiArMTMsOCBAQAog
ICAgICJjc3MvZ2VvbWV0cnkiOiAiaW1wb3J0IiwgCiAgICAgImNzcy9zdXBwb3J0IjogImltcG9y
dCIsIAogICAgICJjdXN0b20tZWxlbWVudHMiOiAiaW1wb3J0IiwgCisgICAgInBhaW50LXRpbWlu
Zy8iOiAiaW1wb3J0IiwgCisgICAgInBhaW50LXRpbWluZy9mY3Atb25seSI6ICJpbXBvcnQiLCAK
ICAgICAic2hhZG93LWRvbSI6ICJpbXBvcnQiLCAKICAgICAidG9vbHMiOiAiaW1wb3J0IiwgCiAg
ICAgIndlYi1hbmltYXRpb25zIjogImltcG9ydCIsIApAQCAtMzE5LDcgKzMyMSw4IEBACiAgICAg
IndlYi1wbGF0Zm9ybS10ZXN0cy9vcmllbnRhdGlvbi1ldmVudCI6ICJza2lwIiwgCiAgICAgIndl
Yi1wbGF0Zm9ybS10ZXN0cy9vcmllbnRhdGlvbi1zZW5zb3IiOiAic2tpcCIsIAogICAgICJ3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFnZS12aXNpYmlsaXR5IjogInNraXAiLCAKLSAgICAid2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZyI6ICJza2lwIiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkiOiAiaW1wb3J0IiwgCisgICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1oYW5kbGVyIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtbWV0aG9kLWJhc2ljLWNhcmQiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1tZXRob2QtaWQiOiAic2tpcCIsIApJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dy
b3VuZCBzaXplLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemU8L3RpdGxl
PgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAg
ICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGJhY2tn
cm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgICAgICBiYWNr
Z3JvdW5kLXNpemU6IDAgMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRl
ZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAg
ICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYg
aWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBzaXplLiIpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldC4gCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmctaW1hZ2Utc2V0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWlt
YWdlLXNldC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBk
dWUgdG8gYmFja2dyb3VuZCBpbWFnZSBpbiBpbWFnZS1zZXQ8L3RpdGxlPgorPHN0eWxlPgorICAg
ICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBz
Y3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIGJhY2tncm91bmQtaW1h
Z2U6IC13ZWJraXQtaW1hZ2Utc2V0KHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpIDF4KTsK
KyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2Utc2V0KHVybCguLi9yZXNvdXJjZXMvY2ly
Y2xlcy5wbmcpIDF4KTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2Pgor
PHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gYmFja2dyb3VuZCBpbWFnZSBpbiBpbWFnZS1zZXQuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZm9yIGJhY2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZp
c2libGUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBl
cmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIGZpcmUgZm9yIGJhY2tncm91
bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGU8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsK
KyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKwor
ICAgIC8qIGNvbnRlbnRmdWwgYW5kIHByZUZDUCBjbGFzc2VzIGFyZSBkZWZpbmVkIGluIHRlc3Rf
ZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5wcmVGQ1AgeworICAgICAgICB2aXNpYmlsaXR5OiBo
aWRkZW47CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCwgICNtYWluLnByZUZDUCB7Cisg
ICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOwor
ICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNp
YmxlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0Pgor
ICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGZvciBiYWNrZ3JvdW5k
IGltYWdlIG9ubHkgd2hlbiB2aXNpYmxlLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENhbnZhcyBzaG91bGQgY291bnQgYXMg
Y29udGVudGZ1bCB3aGVuIGNvbnRleHQgaXMgY3JlYXRlZCAKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWNhbnZhcy1jb250ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1j
b250ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHdoZW4gY2Fu
dmFzIGNvbnRleHQgaXMgY3JlYXRlZDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0
aD0iNTAiIGhlaWdodD0iNTAiPjwvY2FudmFzPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgIGF3YWl0IG5l
dyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAg
YXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIGNvbnN0IGNhbnZhcyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYW52YXMnKTsKKyAgICBjb25zdCBjb250ZXh0ID0g
Y2FudmFzLmdldENvbnRleHQoJzJkJyk7CisgICAgY29udGV4dC5maWxsUmVjdCgwLCAwLCAxMDAs
IDEwMCk7CisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ0Nh
bnZhcyBzaG91bGQgY291bnQgYXMgY29udGVudGZ1bCB3aGVuIGNvbnRleHQgaXMgY3JlYXRlZCcp
OworPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFk
aWVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEdyYWRpZW50cyBz
aG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFk
aWVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFu
Y2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgbm90IGZpcmUgd2l0aCBncmFkaWVudC1v
bmx5IGJhY2tncm91bmRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1p
bWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgb3JhbmdlLCBibHVlKTsKKyAgICB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFu
Y2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBj
b25zdCBtYWluID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW4nKTsKKyAgICAgIGF3YWl0
IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7Cisg
ICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICAnR3JhZGll
bnRzIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+
CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2Nl
bmRhbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHJvdGF0aW5nIGludG8gdmll
dy4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNj
ZW5kYW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1y
b3RhdGUtZGVzY2VuZGFudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRl
c3Q6IEZDUCBkdWUgdG8gM2QgcmV2ZWFsaW5nIG9mIGRlc2NlbmRhbnRzPC90aXRsZT4KKzxzdHls
ZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cisg
ICAgICAgIHRvcDogMDsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDQ1ZGVnKTsKKyAgICAg
ICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKKyAgICB9CisKKyAgICAvKgorICAgICAg
IFRoaXMgdGVzdHMgdGhhdCBnaXZlbiBtdWx0aXBsaWNhdGlvbiBlZmZlY3Qgb2YgM2QgdHJhbnNm
b3JtcyBvbiBib3VuZGluZyByZWN0LAorICAgICAgIEFuIGVsZW1lbnQgY291bnRzIGFzIGNvbnRl
bnRmdWwvcGFpbnRhYmxlIG9ubHkgd2hlbiBpdHMgYm91bmRpbmcgcmVjdCBpcyB0cnVseSBub24t
ZW1wdHkgKi8KKyAgICAjY2hpbGQgeworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVkZWcp
OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2Zj
cCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTog
bm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXYgaWQ9ImNo
aWxkIj5UZXh0PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHJvdGF0aW5n
IGludG8gdmlldy4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBw
YWludCBmaXJlcyBkdWUgdG8gM2Qgcm90YXRpb24gaW50byB2aWV3LiAKKwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXc8L3RpdGxlPgorPHN0eWxl
PgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSg5MGRl
Zyk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0K
KworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQu
ICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAg
ICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxz
LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRleHQ8L2Rpdj4KKzxzY3JpcHQ+CisgICAg
dGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIDNkIHJvdGF0aW9u
IGludG8gdmlldy4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBz
Y2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
c2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNTIEZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcgdHJhbnNpdGlvbi4gCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBpbiB0cmFuc2l0aW9uPC90
aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06
IHNjYWxlKDApOworICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTBzOworICAgICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICB9CisKKyAgICAvKiBjb250
ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWlu
LmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOworICAgIH0KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2Ny
aXB0PgorPGRpdiBpZD0ibWFpbiI+VEVYVDwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgi
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIHJldmVhbGVkIGR1cmluZyB0cmFuc2l0
aW9uLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLXNjYWxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS1zY2FsZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2Nh
bGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRv
IHNjYWxlIGNoYW5nZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0
aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAg
ICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwor
ICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJj
ZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVm
aW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAg
ICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwv
ZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBkdWUgdG8gc2NhbGUgYmVjb21pbmcgcG9zaXRpdmUuIikKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitJTlZJU0lCTEUKKworUEFTUyBGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNp
YmxlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWlu
dCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBzdGlsbCBmaXJlIGZvciBpbnZpc2libGUgdGV4dDwv
dGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
dmlzaWJpbGl0eTogaGlkZGVuOworICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKKyAg
ICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2Ny
aXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNp
YmxlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgSU5WSVNJQkxFCis8
L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIikKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFu
dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVz
Y2VuZGFudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0
CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9y
IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5
LWRlc2NlbmRhbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNj
ZW5kYW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2Vu
ZGFudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUg
dG8gYW5jZXN0b3Igb3BhY2l0eTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAg
ICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBw
eDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQor
CisgICAgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250
ZW50ZnVsIGFuZCBpbnRlcm1lZGlhdGUgY2xhc3NlcyBhcmUgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBz
Y3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCAjY2hpbGQgeworICAgICAgICBvcGFjaXR5
OiAxOworICAgIH0KKworICAgICNtYWluLmludGVybWVkaWF0ZSAjY2hpbGQgeworICAgICAgICBv
cGFjaXR5OiAxOworICAgIH0KKworICAgICNtYWluLmludGVybWVkaWF0ZSB7CisgICAgICAgIG9w
YWNpdHk6IDA7CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIG9wYWNp
dHk6IDAuNTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXYgaWQ9
ImNoaWxkIj5UZXh0PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHBvc2l0
aXZlIG9wYWNpdHkuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3BhY2l0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNp
dHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZp
cnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIG9wYWNpdHktcmV2ZWFsZWQgZWxlbWVu
dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW9wYWNpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUg
dG8gb3BhY2l0eTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDog
MTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAg
ICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91
bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgICAgICBvcGFjaXR5
OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0
X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIG9wYWNpdHk6
IDAuMTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4K
KyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gb3BhY2l0
eS1yZXZlYWxlZCBlbGVtZW50LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0
byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQt
b2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQg
ZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4g
CisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gdHJhbnNmb3Jt
LWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50PC90aXRsZT4KKzxzdHlsZT4KKyAgICAj
bWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwMHB4KTsK
KyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJh
Y2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKwor
ICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICov
CisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2Zj
cCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGlu
dGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3V0LW9mLWJvdW5kcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRl
c3Q6IEZDUCBkdWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQ8L3RpdGxlPgorPHN0eWxl
PgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICBsZWZ0OiAtMTAwMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291
cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBk
ZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAg
ICAgICAgbGVmdDogMHB4OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC1kaXNwbGF5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0
ZXh0LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8t
ZWxlbWVudCB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQi
OworICAgICAgICBkaXNwbGF5OiBub25lOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xh
c3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1
bDphZnRlciB7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIikKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWlt
YWdlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtaW1hZ2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVs
ZW1lbnQgaW1hZ2UuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2Uu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVk
by1lbGVtZW50IGltYWdlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBv
c2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0
ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAg
IGNvbnRlbnQ6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0
PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGltYWdlLiIpCis8
L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBk
dWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiAKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5n
IHBvc2l0aXZlIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAg
cG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAi
VEVYVCI7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBj
bGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50
ZnVsOmFmdGVyIHsKKyAgICAgICAgb3BhY2l0eTogMC41OworICAgIH0KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUg
b3BhY2l0eS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LXRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtdGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC10ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7
CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMg
ZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRl
ciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIgorICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0i
bWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIikKKzwvc2NyaXB0PgorPC9i
b2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJp
bGl0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0
byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5j
ZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2
aXNpYmxlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiBy
ZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiOworICAg
ICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFz
cyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVs
OmFmdGVyIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKKyAgICB9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNp
YmxlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1z
dmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQg
ZmlyZXMgd2hlbiBTVkcgYmVjb21lcyBjb250ZW50ZnVsLiAKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXN2Zy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBU
aW1pbmcgVGVzdDogRkNQIHdpdGggU1ZHPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7Cisg
ICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVm
dDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgfQorCisgICAgI2NpcmNs
ZSB7CisgICAgICBkaXNwbGF5OiBub25lOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xh
c3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1
bCAjY2lyY2xlIHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
ZGl2IGlkPSJtYWluIj4KKyAgPHN2ZyB2aWV3Qm94PSIwIDAgMTAgMTAiIHhtbG5zPSJodHRwOi8v
d3d3LnczLm9yZy8yMDAwL3N2ZyIKKyAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGxpbmsiPgorICAgIDxkZWZzPgorICAgICAgPGNpcmNsZSBpZD0ibXlDaXJjbGUiIGN4
PSI1IiBjeT0iNSIgcj0iNCIgc3Ryb2tlPSJibHVlIi8+CisgICAgPC9kZWZzPgorICAgIDx1c2Ug
aWQ9ImNpcmNsZSIgaHJlZj0iI215Q2lyY2xlIiBmaWxsPSJncmVlbiIgLz4KKyAgPC9zdmc+Cis8
L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgd2hlbiBTVkcgYmVjb21lcyBjb250ZW50ZnVsLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKwor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBUZXh0IGlucHV0IHNob3VsZCBiZWNvbWUgY29u
dGVudGZ1bCB3aGVuIGl0cyB2YWx1ZSBpcyBub24tZW1wdHkgCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10ZXh0LWlucHV0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0
bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgZm9yIG5vbi1lbXB0eSB0
ZXh0IGlucHV0PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8aW5wdXQgaWQ9ImlucHV0IiB0eXBlPSJ0ZXh0IiAvPgorPHNj
cmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRp
dGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBz
dXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRm
dWxQYWludCgpOworICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
aW5wdXQnKTsKKyAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgndmFsdWUnLCAnICAnKTsKKyAgICAg
IGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICAgIGlucHV0LnNldEF0
dHJpYnV0ZSgndmFsdWUnLCAndmFsdWUnKTsKKyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVu
dGZ1bFBhaW50KCk7CisgIH0sICdUZXh0IGlucHV0IHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3
aGVuIGl0cyB2YWx1ZSBpcyBub24tZW1wdHknKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitBCisKK1BBU1MgRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyBvbmx5IHdoZW4gc29tZSBvZiB0aGUgdGV4dCBpcyB2aXNpYmxl
LCBjb25zaWRlcmluZyA6OmZpcnN0LWxldHRlci4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBv
Z3JhcGhpYy1wc2V1ZG8uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBo
aWMtcHNldWRvLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGlj
LXBzZXVkby5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBz
aG91bGQgbm90IGZpcmUgd2hlbiBhbGwgdGV4dCBpcyBoaWRkZW4gZHVlIHRvIHR5cG9ncmFwaGlj
IHBzZXVkby1lbGVtZW50czwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbiAqOjpmaXJzdC1sZXR0ZXIgeworICAgICAgICBv
cGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBp
biB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCAqOjpmaXJzdC1sZXR0
ZXIgeworICAgICAgICBvcGFjaXR5OiAxOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFp
biI+CisgICAgPGRpdj5BPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZp
cnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgb25seSB3aGVuIHNvbWUgb2YgdGhlIHRleHQgaXMg
dmlzaWJsZSwgY29uc2lkZXJpbmcgOjpmaXJzdC1sZXR0ZXIuIikKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBWaWRlbyBzaG91bGQgYmVjb21lIGNv
bnRlbnRmdWwgd2hlbiBmaXJzdCBmcmFtZSBpcyBsb2FkZWQgCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC12aWRlby1mcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFt
ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gbG9hZGVkIHZp
ZGVvIGZyYW1lPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8dmlkZW8gaWQ9InZpZGVvIiBhdXRvcGxheT48L3ZpZGVvPgor
PHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNv
bmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24n
dCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRl
bnRmdWxQYWludCgpOworICAgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndmlkZW8nKTsKKyAgICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgnc3JjJywgJy9tZWRpYS90ZXN0
Lm1wNCcpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIHZp
ZGVvLm9uY2FucGxheSA9IHJlc29sdmU7CisgICAgICB9KTsKKyAgICAgIGF3YWl0IGFzc2VydEZp
cnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRm
dWwgd2hlbiBmaXJzdCBmcmFtZSBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRl
bnRmdWwgd2hlbiBwb3N0ZXIgaXMgbG9hZGVkIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8t
cG9zdGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRlZCB2aWRlbyBw
b3N0ZXI8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+
PC92aWRlbz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3Nl
cnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGlt
aW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RD
b250ZW50ZnVsUGFpbnQoKTsKKyAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd2aWRlbycpOworICAgIGNvbnN0IHNyYyA9ICcuLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcn
OworICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7CisgICAgaW1hZ2Uuc3JjID0gc3JjOwor
ICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgncG9zdGVyJywgc3JjKTsKKyAgICBhd2FpdCBuZXcgUHJv
bWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgaW1hZ2Uub25sb2FkID0gYXN5bmMgKCkgPT4gcmVz
b2x2ZSgpOworICAgIH0pCisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsK
KyAgfSwgJ1ZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIHBvc3RlciBpcyBsb2Fk
ZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdo
aXRlc3BhY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNw
YWNlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFj
ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BB
U1MgV2hpdGVzcGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwuIAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13
aGl0ZXNwYWNlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2Uu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
ZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBXaGl0ZXNwYWNlIHNo
b3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jl
c291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCAwOworICAg
IH0KKworICAgICN0ZXh0IHsKKyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAv
KiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAg
ICNtYWluLmNvbnRlbnRmdWwgI3RleHR7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0id2hpdGVzcGFjZSI+ICAg
PC9kaXY+CisgICAgPGRpdiBpZD0idGV4dCI+VEVYVDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0Pgor
ICAgIHRlc3RfZmNwKCJXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bC4i
KQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1y
dGwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RFWFQKKworUEFTUyBGQ1Agc2hv
dWxkIGZpcmUgd2hlbiBjb29yZGluYXRlcyBhcmUgbmVnYXRpdmUsIGlmIHdpdGhpbiBkb2N1bWVu
dCBzY3JvbGxhYmxlIGFyZWEgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGlt
aW5nIFRlc3Q6IEZDUCBkdWUgdG8gZGlyZWN0aW9uIGNoYW5nZTwvdGl0bGU+Cis8c3R5bGU+Cisg
ICN0ZXh0IHsKKyAgICByaWdodDogLTEwMHB4OworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAg
fQorCisgIGJvZHkgeworICAgIGRpcmVjdGlvbjogcnRsOworICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHkgZGlyZWN0aW9uPSJSVEwiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJm
b3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAg
ICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQn
LCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAg
ICBkb2N1bWVudC5ib2R5LnN0eWxlLmRpcmVjdGlvbiA9ICdsdHInCisgICAgICBhd2FpdCBhc3Nl
cnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAnRkNQIHNob3VsZCBmaXJlIHdoZW4gY29v
cmRpbmF0ZXMgYXJlIG5lZ2F0aXZlLCBpZiB3aXRoaW4gZG9jdW1lbnQgc2Nyb2xsYWJsZSBhcmVh
Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1pbXBv
cnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NDMgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6
CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4g
dGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQK
KworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZh
bHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitM
aXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3Rl
cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5k
YW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLXNjYWxlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3ZlcmZsb3cuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LWRpc3BsYXkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1v
cGFjaXR5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1z
dmcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXRleHQtaW5wdXQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBv
c3Rlci5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atd2hpdGVzcGFjZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5z
dmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL2NpcmNsZS5zdmcJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACis8c3Zn
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIj4KKyAgIDxj
aXJjbGUgY3g9IjEwMCIgY3k9IjUwIiByPSI0MCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRo
PSIyIiBmaWxsPSJub25lIiAvPgorPC9zdmc+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFp
bnRpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPGRp
diBpZD0iaW1hZ2UiPjwvZGl2PgorPHNjcmlwdD4KKyAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnSU1HJyk7CisgIGltZy5zcmMgPSAnY2lyY2xlcy5wbmcnOworICBpbWcub25s
b2FkID0gZnVuY3Rpb24oKSB7CisgICAgZnVuY3Rpb24gc2VuZFBhaW50RW50cmllcygpIHsKKyAg
ICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Bh
aW50Jyk7CisgICAgICBpZiAocGFpbnRFbnRyaWVzLmxlbmd0aCA8IDIpIHsKKyAgICAgICAgc2V0
VGltZW91dChzZW5kUGFpbnRFbnRyaWVzLCAyMCk7CisgICAgICAgIHJldHVybjsKKyAgICAgIH0K
KyAgICAgIGxldCBlbnRyeUNvbnRlbnRzID0gcGFpbnRFbnRyaWVzLmxlbmd0aCArICcnOworICAg
ICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsKKyAgICAg
ICAgY29uc3QgZW50cnkgPSBwYWludEVudHJpZXNbaV07CisgICAgICAgIGVudHJ5Q29udGVudHMg
Kz0gJyAnICsgZW50cnkuZW50cnlUeXBlICsgJyAnICArIGVudHJ5Lm5hbWU7CisgICAgICB9Cisg
ICAgICBwYXJlbnQucG9zdE1lc3NhZ2UoZW50cnlDb250ZW50cywgJyonKTsKKyAgICB9OworICAg
IHNlbmRQYWludEVudHJpZXMoKTsKKyAgfTsKKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lt
YWdlJykuYXBwZW5kQ2hpbGQoaW1nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9y
ZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0PgorICBzZWxmLmFkZEV2ZW50TGlz
dGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbihlKSB7CisgICAgLy8gU2VuZCBwYWludC10aW1pbmcg
ZW50cmllcyB1cG9uIHJlY2VpdmluZyBhIG1lc3NhZ2UuCisgICAgY29uc3QgcGFpbnRFbnRyaWVz
ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncGFpbnQnKTsKKyAgICBsZXQgZW50cnlD
b250ZW50cyA9IHBhaW50RW50cmllcy5sZW5ndGggKyAnJzsKKyAgICBmb3IgKGxldCBpID0gMDsg
aSA8IHBhaW50RW50cmllcy5sZW5ndGg7IGkrKykgeworICAgICAgY29uc3QgZW50cnkgPSBwYWlu
dEVudHJpZXNbaV07CisgICAgICBlbnRyeUNvbnRlbnRzICs9ICcgJyArIGVudHJ5LmVudHJ5VHlw
ZSArICcgJyAgKyBlbnRyeS5uYW1lOworICAgIH0KKyAgICBwYXJlbnQucG9zdE1lc3NhZ2UoZW50
cnlDb250ZW50cywgJyonKTsKKyAgfSk7Cis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGls
cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3V0aWxzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8vIE51
bWJlciBtaWxsaXNlY29uZHMgdG8gd2FpdCBmb3IgQ1NTIHJlc291cmNlcyB0byBsb2FkLgorY29u
c3QgbnVtTWlsbGlzZWNvbmRzV2FpdCA9IDUwOworCisvLyBXZSB1c2UgcmVxdWVzdEFuaW1hdGlv
bkZyYW1lKCkgY2FsbHMgdG8gZm9yY2UgdGhlIHVzZXIgYWdlbnQgdG8gcGFpbnQgYW5kIGdpdmUg
ZW5vdWdoCisvLyB0aW1lIGZvciBGQ1AgdG8gc2hvdyB1cCBpbiB0aGUgcGVyZm9ybWFuY2UgdGlt
ZWxpbmUuIEhlbmNlLCBzZXQgfG51bUZyYW1lc1dhaXRpbmd8IHRvCisvLyAzIGFuZCB1c2UgdGhh
dCBjb25zdGFudCB3aGVuZXZlciB0aGUgdGVzdCBuZWVkcyB0byB3YWl0IGZvciB0aGUgbmV4dCBw
YWludCB0byBvY2N1ci4KK2NvbnN0IG51bUZyYW1lc1dhaXRpbmcgPSAzOworCitmdW5jdGlvbiB3
YWl0VGltZSh0KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHQuc3RlcF90aW1l
b3V0KHJlc29sdmUsIG51bU1pbGxpc2Vjb25kc1dhaXQpKTsKK30KKworZnVuY3Rpb24gd2FpdEZv
ckFuaW1hdGlvbkZyYW1lcyhjb3VudCkgeworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB7CisgICAgaWYgKGNvdW50LS0gPD0gMCkgeworICAgICAgcmVzb2x2ZSgpOworICAgIH0gZWxz
ZSB7CisgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICB3YWl0Rm9y
QW5pbWF0aW9uRnJhbWVzKGNvdW50KS50aGVuKHJlc29sdmUpOworICAgICAgfSk7CisgICAgfQor
ICB9KTsKK30KKworLy8gQXNzZXJ0cyB0aGF0IHRoZXJlIGlzIGN1cnJlbnRseSBubyBGQ1AgcmVw
b3J0ZWQsIGV2ZW4gYWZ0ZXIgc29tZSB3YWl0LgorYXN5bmMgZnVuY3Rpb24gYXNzZXJ0Tm9GaXJz
dENvbnRlbnRmdWxQYWludCh0KSB7CisgIGlmICh0KQorICAgIGF3YWl0IHdhaXRUaW1lKHQpOwor
CisgIGF3YWl0IHdhaXRGb3JBbmltYXRpb25GcmFtZXMobnVtRnJhbWVzV2FpdGluZyk7CisgIGFz
c2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1
bC1wYWludCcpLmxlbmd0aCwgMCwgJ0ZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgbWFya2VkIHRvbyBl
YXJseS4gJyk7Cit9CisKKy8vIEFzc2VydHMgdGhhdCBGQ1AgaXMgcmVwb3J0ZWQsIHBvc3NpYmx5
IGFmdGVyIHNvbWUgd2FpdC4gVGhlIHdhaXQgaXMgbmVlZGVkCisvLyBiZWNhdXNlIHNvbWV0aW1l
cyB0aGUgRkNQIHJlbGllcyBvbiBzb21lIENTUyByZXNvdXJjZXMgdG8gZmluaXNoIGxvYWRpbmcu
Cithc3luYyBmdW5jdGlvbiBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KSB7CisgIGlmICh0
KQorICAgIGF3YWl0IHdhaXRUaW1lKHQpOworICBhd2FpdCB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVz
KG51bUZyYW1lc1dhaXRpbmcpOworICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeU5hbWUoJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5ndGgsIDEsICdFeHBlY3RlZCBm
aXJzdCBjb250ZW50ZnVsIHBhaW50IG5vdCBmb3VuZC4gJyk7Cit9CisKK2Z1bmN0aW9uIHRlc3Rf
ZmNwKGxhYmVsKSB7CisgIGNvbnN0IHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5
bGUnKTsKKyAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7CisgIHJldHVybiBwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVy
Zm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7Cisg
ICAgY29uc3QgbWFpbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluJyk7CisgICAgYXdh
aXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsK
KyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgbWFpbi5jbGFz
c05hbWUgPSAncHJlRkNQJzsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50
KCk7CisgICAgbWFpbi5jbGFzc05hbWUgPSAnY29udGVudGZ1bCc7CisgICAgYXdhaXQgYXNzZXJ0
Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgbGFiZWwpOworfQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2Vz
L3czYy1pbXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyMSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0
ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRp
cmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAor
CitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQor
UHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50
LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2ZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9w
YWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRp
bmctcGFpbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVz
b3VyY2VzL3V0aWxzLmpzCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQt
dGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACitCYXNpYyBJbnRlcmZhY2UgdGVz
dCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQZXJmb3JtYW5jZVBhaW50VGltaW5nCitQQVNTIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaXMg
ZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUudG9KU09OIGlz
IGRlZmluZWQuCitQQVNTIG5ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcg
J25ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCknKS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9wYWludC10aW1pbmctZnJhbWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWlu
Zy1mcmFtZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKK1Bh
aW50IEFQSSBzaG91bGQgYmUgYXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5v
dCB0byBjcm9zcy1vcmlnaW4vc2FuZGJveGVkIGZyYW1lcy4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgcmVjZWl2ZWRFdmVudC5zb3VyY2UgaXMgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ25vblNhbmRib3hlZCcpLmNvbnRlbnRXaW5kb3cKK1BBU1MgcmVjZWl2ZWRFbnRy
eS5uYW1lIGlzICdmaXJzdC1jb250ZW50ZnVsLXBhaW50JworUEFTUyBkaWRSZWNlaXZlTWVzc2Fn
ZUZyb21TYW5kYm94ZWRJZnJhbWUgaXMgZmFsc2UKK1BBU1MgQXJyYXkuaXNBcnJheShub25TYW5k
Ym94U3VwcG9ydGVkVHlwZXMpIGlzIHRydWUKK1BBU1MgQXJyYXkuaXNBcnJheShzYW5kYm94U3Vw
cG9ydGVkVHlwZXMpIGlzIHRydWUKK1BBU1MgZGlkUmVjZWl2ZU1lc3NhZ2UgaXMgdHJ1ZQorUEFT
UyBub25TYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgdHJ1ZQorUEFT
UyBzYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgZmFsc2UKK1BBU1Mg
UGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBm
aXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1l
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKworCitU
RVhUCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1l
cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10
aW1pbmctZnJhbWVzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDY3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorICAgIDxpZnJhbWUgd2lkdGg9IjEwMCIgaGVpZ2h0PSIx
MDAiIGlkPSJub25TYW5kYm94ZWQiIHNyYz0iLi9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwi
PjwvaWZyYW1lPgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKzxpZnJhbWUgaWQ9InNhbmRi
b3hlZCIgc3JjPSIuL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbCIgc2FuZGJveD0iYWxsb3ct
c2NyaXB0cyI+PC9pZnJhbWU+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorCisgICAgVEVY
VAorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50IEFQSSBzaG91bGQgYmUgYXZhaWxhYmxl
IGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4vc2FuZGJveGVk
IGZyYW1lcy4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5kaWRSZWNl
aXZlTWVzc2FnZSA9IGZhbHNlOworCit3aW5kb3cub25sb2FkID0gYXN5bmMgKCkgPT4geworICAg
IGNvbnN0IHNhbmRib3hlZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYW5kYm94ZWQnKTsK
KyAgICBjb25zdCBub25TYW5kYm94ZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2Fu
ZGJveGVkJyk7CisgICAgY29uc3QgZmNwTWVzc2FnZVByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHsKKyAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICAgICAg
ICAgIHdpbmRvdy5yZWNlaXZlZEV2ZW50ID0gZXZlbnQ7CisgICAgICAgICAgICBjb25zdCBpc0Zy
b21TYW5kYm94ZWQgPSBldmVudC5zb3VyY2UgPT09IHNhbmRib3hlZC5jb250ZW50V2luZG93Owor
ICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAg
ICAgICAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkgeworICAgICAgICAgICAgICAgIGNhc2UgJ3N1
cHBvcnRlZCc6CisgICAgICAgICAgICAgICAgICAgIGlmIChpc0Zyb21TYW5kYm94ZWQpCisgICAg
ICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2FuZGJveFN1cHBvcnRlZFR5cGVzID0gbWVzc2Fn
ZS5zdXBwb3J0ZWQ7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHdpbmRvdy5ub25TYW5kYm94U3VwcG9ydGVkVHlwZXMgPSBtZXNzYWdlLnN1cHBvcnRl
ZDsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSAncmVj
ZWl2ZWQnOgorICAgICAgICAgICAgICAgICAgICB3aW5kb3cuZGlkUmVjZWl2ZU1lc3NhZ2VGcm9t
U2FuZGJveGVkSWZyYW1lID0gaXNGcm9tU2FuZGJveGVkOworICAgICAgICAgICAgICAgICAgICB3
aW5kb3cucmVjZWl2ZWRFbnRyeSA9IG1lc3NhZ2UuZW50cnk7CisgICAgICAgICAgICAgICAgICAg
IGRpZFJlY2VpdmVNZXNzYWdlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
J3JlY2VpdmVkRXZlbnQuc291cmNlJywgImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5k
Ym94ZWQnKS5jb250ZW50V2luZG93Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCdy
ZWNlaXZlZEVudHJ5Lm5hbWUnLCAiJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnIik7CisgICAgICAg
ICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICB9CisgICAgICAgIH07CisgICAgfSk7CisKKyAgICBzYW5kYm94ZWQuY29udGVudFdp
bmRvdy5wb3N0TWVzc2FnZSgicGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsK
KyAgICBub25TYW5kYm94ZWQuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgicGFpbnQiLCAiKiIp
OworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBhd2FpdCBmY3BNZXNzYWdlUHJvbWlzZTsK
KyAgICBzaG91bGRCZUZhbHNlKCdkaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUn
KTsKKyAgICBzaG91bGRCZVRydWUoJ0FycmF5LmlzQXJyYXkobm9uU2FuZGJveFN1cHBvcnRlZFR5
cGVzKScpOworICAgIHNob3VsZEJlVHJ1ZSgnQXJyYXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVk
VHlwZXMpJyk7CisgICAgc2hvdWxkQmVUcnVlKCdkaWRSZWNlaXZlTWVzc2FnZScpOworICAgIHNo
b3VsZEJlVHJ1ZSgnbm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7
CisgICAgc2hvdWxkQmVGYWxzZSgnc2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWlu
dCIpJyk7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50
ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBmaXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJhbWUgYnV0IG5v
dCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Bh
aW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxMyBAQAorUGFpbnQgQVBJIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlIGluIHdvcmtlciBj
b250ZXh0cy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgUGVyZm9ybWFu
Y2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIHRydWUK
K1BBU1Mgd29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyBmYWxz
ZQorUEFTUyB3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJtYXJrIikgaXMgdHJ1
ZQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBp
bmNsdWRlICdwYWludCcgZm9yIHdvcmtlcnMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3Jr
ZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgSFRNTD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50
IEFQSSBzaG91bGQgbm90IGJlIGF2YWlsYWJsZSBpbiB3b3JrZXIgY29udGV4dHMuIik7Cit3aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7Citjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKCIuL3Jl
c291cmNlcy93b3JrZXIuaHRtbCIpOword29ya2VyLm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAg
ICB3aW5kb3cud29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcyA9IEpTT04ucGFyc2UoZXZlbnQuZGF0
YSk7CisgICAgc2hvdWxkQmVUcnVlKCdQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5
VHlwZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCd3b3JrZXJTdXBw
b3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVUcnVlKCd3
b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJtYXJrIiknKTsKKyAgICB0ZXN0UGFz
c2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNs
dWRlICdwYWludCcgZm9yIHdvcmtlcnMiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK3dv
cmtlci5wb3N0TWVzc2FnZSgic3RhcnQiKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmly
c3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitQQVNTIGRpZFJlY2VpdmVG
aXJzdENvbnRlbnRmdWxQYWludCBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMo
KS5sZW5ndGggaXMgMQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1j
b250ZW50ZnVsLXBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIsICJwYWludCIpLmxlbmd0aCBpcyAxCitQ
QVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3RoIGlzIDEKK1BB
U1MgUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdh
c24ndCBmaXJlZCBhZ2FpbiAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorVEVYVDIKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJm
b3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0
LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiRW5zdXJlIFBl
cmZvcm1hbmNlT2JzZXJ2ZXJzIGFyZSBub3RpZmllZCBvbmNlIGZvciBmaXJzdC1jb250ZW50ZnVs
LXBhaW50LiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworIAorKGFzeW5jICgpID0+
IHsKKyAgICB3aW5kb3cuZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gZmFsc2U7Cisg
ICAgd2luZG93LnN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIGF3YWl0IHdhaXRG
b3JGQ1AoKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgY29u
c3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihlbnRyeUxpc3QgPT4geworICAg
ICAgICAgICAgd2luZG93LmVudHJ5TGlzdCA9IGVudHJ5TGlzdDsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCcsICIxIik7CisgICAgICAgICAgICBz
aG91bGRCZSgnZW50cnlMaXN0LmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFp
bnQiKS5sZW5ndGgnLCAxKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50
cmllc0J5VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgICAgICAgICAgd2luZG93LmZj
cEVudHJ5ID0gZW50cnlMaXN0LmdldEVudHJpZXMoKVswXTsKKyAgICAgICAgICAgIHNob3VsZEJl
RmFsc2UoJ2RpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCcpOworICAgICAgICAgICAgc2hv
dWxkQmUoJ2ZjcEVudHJ5Lm5hbWUnLCAnImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiJyk7CisgICAg
ICAgICAgICBzaG91bGRCZSgnZmNwRW50cnkuZW50cnlUeXBlJywgJyJwYWludCInKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlVHJ1ZSgnZmNwRW50cnkuc3RhcnRUaW1lID4gd2luZG93LnN0YXJ0VGlt
ZScpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdmY3BFbnRyeS5zdGFydFRpbWUgPCBwZXJm
b3JtYW5jZS5ub3coKScpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5LmR1cmF0aW9u
JywgIjAiKTsKKyAgICAgICAgICAgIGRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCA9IHRy
dWU7CisgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0pOworCisgICAgICAgIG9ic2Vy
dmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsncGFpbnQnXX0pOworICAgICAgICBkb2N1bWVudC5i
b2R5LmlubmVyVGV4dCA9ICdURVhUJzsKKyAgICB9KQorICAgIGRvY3VtZW50LmJvZHkuaW5uZXJU
ZXh0ID0gJ1RFWFQyJzsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgc2hvdWxkQmVUcnVl
KCdkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQnKTsKKyAgICBzaG91bGRCZSgncGVyZm9y
bWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1h
bmNlLmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAi
MSIpOworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1j
b250ZW50ZnVsLXBhaW50IiwgInBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgn
cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAg
IHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBj
YWxsYmFjayB3YXNuJ3QgZmlyZWQgYWdhaW4gIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KSgp
OworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1
YmZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIEhU
TUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQ
ZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAgICBsaXN0LmdldEVudHJpZXMoKS5m
b3JFYWNoKGVudHJ5ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uo
SlNPTi5zdHJpbmdpZnkoe3R5cGU6ICdyZWNlaXZlZCcsIGVudHJ5fSksICcqJyk7CisgICAgICAg
IH0pOworICAgIH0pOworCisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJwYWlu
dCJdfSk7CisgICAgd2luZG93Lm9ubWVzc2FnZSA9IGUgPT4geworICAgICAgICB3aW5kb3cucGFy
ZW50LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHtzdXBwb3J0ZWQ6IFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcywgdHlwZTogJ3N1cHBvcnRlZCd9KSwgJyonKTsKKyAg
ICAgICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAiVEVYVCI7CisgICAgfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpz
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMv
cGFpbnQtYXBpLXV0aWxzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNSBAQAorYXN5bmMg
ZnVuY3Rpb24gd2FpdEZvckZDUCgpCit7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9
PiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gcmVzb2x2ZSgpKSk7CisgICAgcmV0dXJuIHdp
bmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVsLXBhaW50
JykubGVuZ3RoID09IDE7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQt
dGltaW5nLWFwaS5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxMyBAQAoraWYgKHNlbGYuaW1wb3J0U2NyaXB0cykKKyAgICBpbXBvcnRTY3JpcHRzKCIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiKTsKKworaWYgKHNlbGYud2luZG93KQorICAgIGRl
c2NyaXB0aW9uKCJCYXNpYyBJbnRlcmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuIik7
CisKK2RlYnVnKCJQZXJmb3JtYW5jZVBhaW50VGltaW5nIik7CitzaG91bGRCZURlZmluZWQoIlBl
cmZvcm1hbmNlUGFpbnRUaW1pbmciKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VQYWlu
dFRpbWluZy5wcm90b3R5cGUudG9KU09OYCk7CitzaG91bGRUaHJvdyhgbmV3IFBlcmZvcm1hbmNl
UGFpbnRUaW1pbmcoKWApOworCitpZiAoc2VsZi5pbXBvcnRTY3JpcHRzKQorICAgIGZpbmlzaEpT
VGVzdCgpOwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3Jr
ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3Vy
Y2VzL3dvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBA
CitzZWxmLm9ubWVzc2FnZSA9ICgpID0+IHsKKyAgICBzZWxmLnBvc3RNZXNzYWdlKEpTT04uc3Ry
aW5naWZ5KFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcykpOworfQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46
bWltZS10eXBlID0gaW1hZ2UvcG5nCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2ly
Y2xlcy5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCitp
bWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29BQUFB
TlNVaEVVZ0FBQUNRQUFBQklDQVlBQUFDZU5sZTVBQUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFB
ZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6
U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVN
dHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFs
VmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhD
bGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRR
SU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3ek82cllxR2NUdllPa0wyZDlINU9z
OTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFU
U2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1Vl
RjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJo
dVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkx
eXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAr
eFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJY
V2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3
eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxT
SjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJ
WHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82
NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3
L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFBCkNYQklXWE1BQUFzVEFBQUxFd0VB
bXB3WUFBQUdaMGxFUVZSb0JlMmFVVzlWUlJESGQ2OHRFVkpMVzJLQ3hDWStpZ1FEb1lrS2ZnSjgK
OU1rbkV2RWR2b0Nta1MrQTcycENRc0tUai9JSkJDU0IxTlNvUEpxVTFDYWtnTmlBYWVOZGYvK1pP
VDIzNTk3U0Z1N2w2VXl5NSt6TwoyWjJablozZG5abDdjNXJQSmUwS1NzcHBocDc3VTBtUHFEL2RI
RlVSeUp1WVJKOEQ5SmtHODR6NlE5NjlYM3M2TnFwampYYWpLU0xkCkVHUWY5UldJTyttU3pzTDFC
SzFaeWlHS2hGamx1VVNIWHhoem5mWlRFeU9udytEWFE3Q085ZVF4RUo0amtGaVBRVkRFbG0xd0ta
L3kKUHBkS09jM2JoYkFQelFkRFRiaDhrL2VWbFBNUDFpT25JN1FmVU4rZ0ROWlk3bDh5MTBwS2t3
d1paeUN6TG1jUjRtdmFwNHh3U2I5Qwo3eWJ0aFZUeUg3ei9EdnpCbE10Um1KNWt6R253eHdOL0Y2
RytZc3gxMm9mNExvR2VVUHExMVJDb1hpS3R1MXFsZk1mamMyb3NYYjZHCkFKZkIzNkVObW1KOXJG
WFhoUk9VTkllQUY2SHhHUzJZNSsraGNUN0d6ZkNXYlcwVnFpRlFaYmdQYlZEcS9zeUFEeWczR1Bj
Rjczc20KUUxKbEZDSE5WTGJSNVMyQmhKT3RTYlBDdWMybDlDN05iMm1mb2R5RzFvZEJweEtxbW9L
TVpCTTAzMG1LcEFhNnYvTTRDcGR2S0JlRAp3Q3pNdFR3cjZnSFVoTlFTQlllcXBtVS9DT3BlS3Ay
UDZYQ1pjc0ZwZDk0REwxN2lxZVZ6V3BwU05NWkJqUnZSZ21heUNhTjFsekJ2CjAyZUtiK3lndEJi
OXR3b0RzZ2YwVFdVdHhrdzVEV2dsYkVtMHhjT1hYTnBVMlNLUXR2YWJJRmRaYzJ5R1pTcW1tVXZn
MzJIZ1g1VEgKTWFpYVBjMGR3VmxxckdpSVZzcVhuRFk4bkJjOGpYZTE3UE81K0FHRzNiQ2JVdm1S
RGpkTXhkS01DTGs5N01oOUZ4MDYwSDRMbXZkVAo3djdFRzV2S24yRG8ybjJ5cDBleVFzMUNoZ2l3
dFkyNUdiQVFXcDcvVkJrU2lKWm9Bc1lEclJoUElTUkRTUjIvRHRnTmR1aWQ4cTF0CnUwa0dYQzJU
Qmd3RHN0SE1uTzVGUERoR0VtZWI4MTVCZXpQU2tPNG13VGw3SnM0WmdlK21zSG4vTXFSbkoyaERM
bmpaNlcvVTk2ZU8KWDVSOHM1TjFFZlFkSk5WMW9hM29vbHJmb1QxRTgwbndFSy9GNEMxdTJKQnVi
VjJVUlVkNnZoVnNSNkdaNW95Y2gzZ2FiMlNRTElFOQpFYjI1bTZ5bUU5alBoU2FaNGJSRmV5TjRM
VGhKOHh6OElnRXg2MGk3S0ZWZDkvWkluK3MrWlhnNnVBeGpyaEYzSlhScmU5c1BxVkhLClU5OS9G
VTk1QVpzYUdpWHJ2ZEhHcUFYeTlHVGwrRE84L2RZMjFNZ2U0aUZlNHVtZ0syUlRRN28wQVhPdVZJ
bVRXOVdSd1Q0M0QzZzYKdUF5K3kvQ0JIVTZhbEg3N3VqWEZoeUcvUkZ2ZWhRRHZVaEF5WU5TS0Ru
UzV5VlhGVjdaZW96ZnE2c0xXZ2V3bW82RGdnQTdHYVZOZApNWWRjUHZBY2JUbGdjcHg4RGxTR0NL
STVHVHpFNnpnSHNvSUJjWnZXd2ZnczJGNXhwdmpBQXZmMFJxRXArVjVoeU1FcktUSXhycEpsCkhn
SHQ3dUxHNzhwNXg0NDZ4NUJZL3JPOHhNY21udlYvNllkOGRxZVo4Yk5MOXpjb0xzQnZqdmRoZUsx
SVE1SXRUbWFGS2tLWlEwNDEKVFZCZVUyVklJRnFpQ1JnUHNSZFBnV1NJQThmRGtTUG11V1ZDRmZQ
a2NNak5zN05yaFlHMFhodzBWdWVPL0tEN2tCTHRNL0JUV0tRTgpwUURTZzR1SU91U2pQR0NBYnZ6
ekREaUdTM0FCM0NwdCtkVnk4dVd3YS9uMklweTBMNXVaNGozQitEK2gvV1hRdm0yOGpLZEZzMDQz
CkJOSU1kUHR1TUJnZ2Jpb0tnOHk5bEpBZUJ2a01GUWJKVnhLNEtYcTk5MWxwOHcxNnlJQ1hmRElS
QnBWRXRBc1BnVWV4dFhjUkF1bVQKaUl2UkRBWDFLVzVTb0tnNHFyQTlYemhRRk0zK1FCRWtFTHg2
SmlZOTlZQ1dUbXVwam9pb1diRE9Gbkd5STNLNXluZnRDSjFUeTlTVgpPSkRHL29taW0xdTRaUXE3
MWtMcHEweE11MGtSQmpZVG12RW9RN3kyaXNDMmIrYUhmTjExZUcyZmJGaUUrQzIrUHkvWjhCSGYz
NGVoCmx1VXV4c3R1Mm51eXdjYkhRM2FnKzBZQnBHWU00VWpIMkJYenZIU005ZVlxNGdTMlF5L1NN
YjZiOXB5T01XcnhjRzE1cUNRUFFNc0EKSDRyODhJemJXZXhZY0FmUElsOFpNQmVsSjZ5OHJ5Y25k
cGV3R3JCa0lVdmZxOHFNdkk0UWlocDBEQXdHRjNpQ1BwTjArSmQrc2hWaApkNGF0RnJWei81SDM2
Tm4yZzNpOTdKS3RtVjVlV1k1eDBKSVpqa2ViWTlRQ1N4dHV3TDdjVmIweTN6YkgyTnpLdFUxVnRU
Ykg2TGF6Ci9kT3RUSDVVbTJQY1hrdTlYOW9jWTY4MnRxdTNPY2J0Tk5QRXU2UFI1aGliZXFuYmJZ
Nngxc1ZlYW0yT3NkWldtMk9zZFRHNDFqVjAKbTJQczEwNmJZK3pYU1kxcGM0eTFMcnhXaGVKdGpq
SE9GRXZQS1kvVSsyZVVOc2RJaW5mZ0g1cmFIR1AvbitMOGQ2OGxRdjVYbW1QVQpYek5HOTdmQi93
RlpiZzA1RUVOdU53QUFBQUJKUlU1RXJrSmdnZz09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395354</attachid>
            <date>2020-04-03 00:44:57 -0700</date>
            <delta_ts>2020-04-05 23:08:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200403104455.patch</filename>
            <type>text/plain</type>
            <size>146160</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDExOCBAQAorMjAyMC0wNC0wMiAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BhaW50LXRpbWluZy8jZmlyc3QtY29udGVudGZ1bC1wYWludC4KKyAgICAgICAgQ3VycmVu
dGx5IG11dHVhbGx5IGV4Y2x1c2l2ZSB0byB2aXN1YWxseS1ub24tZW1wdHkgaGV1cmlzdGljcy4K
KworICAgICAgICBXaGVuIHRoZSBmcmFtZSBwYWludHMgb3IgZmx1c2hlcyB0aGUgY29tcG9zaXRp
bmcgc3RhdGUsIGl0IG1hcmtzIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgYXMgYSBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IHBlcmZvcm1hbmNlIGVudHJ5LgorCisgICAgICAgIFRlc3RzOiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
dmlzaWJpbGl0eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10ZXh0LWlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdpdGgtcnRsLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9maXJz
dC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5j
ZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sCisgICAgICAgICAg
ICAgICBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAorICAgICAgICAgICAg
ICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBT
b3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRU
aW1pbmcuaDogCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDoKKyAg
ICAgICAgICAgICAgICBBZGQgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNlLgor
CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFibGVk
IGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgUGFpbnRUaW1pbmdFbmFibGVkIHJ1bnRpbWUg
ZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJp
bmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNQYWludCBjb25zdCk6CisgICAgICAgICAgICAgICAgQWRk
IGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgZW50
cmllcy4KKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKToKKyAg
ICAgICAgICAgICAgICBBZGQgInBhaW50IiB0byBzdXBwb3J0ZWRFbnRyeVR5cGVzIHdoZW4gaW4g
ZWxpZ2libGUgYnJvd3NpbmcgY29udGV4dC4KKworICAgICAgICAqIHJlbmRlcmluZy9QYWludFRp
bWluZ1JlbmRlclN1cHBvcnQuaDogCisgICAgICAgICogcmVuZGVyaW5nL1BhaW50VGltaW5nUmVu
ZGVyU3VwcG9ydC5jcHA6CisgICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciBjb21wdXRpbmcg
d2hldGhlciBlbGVtZW50cyBhcmUgY29udGVudGZ1bCAmIHBhaW50YWJsZSwgYXMgcGVyIHNwZWMu
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0OjpoYXNPd25QYWludGFibGVDb250ZW50IGNv
bnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJIVE1MQ2FudmFzOjpoYXNPd25QYWludGFibGVDb250ZW50IGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6
aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojpjb250YWluc1BhaW50YWJsZUNvbnRlbnQgY29uc3QpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWRlby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJWaWRlbzo6aGFzT3duUGFpbnRhYmxlQ29udGVudCBjb25zdCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclZpZGVvLmg6CisgICAgICAgICogcmVuZGVyaW5nL1NWR1JlbmRlclN1cHBv
cnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3VwcG9ydDo6aGFzUmVuZGVyYWJs
ZUNoaWxkcmVuIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5o
OgorICAgICAgICAgICAgICAgIENoZWNrIGNvbnRlbnRmdWxuZXNzIGZvciBzcGVjaWZpYyBlbGVt
ZW50IHR5cGVzLCBhcyBwZXIgc3BlYy4KKworICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxs
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJ
bWFnZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTdHlsZTo6aGFzUGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdlIGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgICAgICAg
ICBBZGQgaGVscGVyIGZvciBmaW5kaW5nIG91dCBpZiBiYWNrZ3JvdW5kIGNvbnRhaW5zIGxvYWRl
ZCBjYWNoZWQgaW1hZ2VzLgorCisgICAgICAgICogcGFnZS9Eb2N1bWVudC5oOgorICAgICAgICAq
IHBhZ2UvRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6Om1hcmtQYWlu
dFRpbWluZ0lmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzdXBwb3J0c1Bh
aW50VGltaW5nKToKKyAgICAgICAgICAgICAgICBNYXJrIEZDUCBvbmNlIGZvciBlbGlnaWJsZSBk
b2N1bWVudHMuCisKK2AgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNGcmFtZSk6CisgICAg
ICAgICAgICAgICAgTWFyayBmaXJzdC1jb250ZW50ZnVsLXBhaW50IHJpZ2h0IGFmdGVyIGZsdXNo
aW5nIGxheWVyIHRyZWUuICAgICAgICAgICAgICAgIAorCiAyMDIwLTA0LTAxICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGluIFdlYkNvcmU6OkhUTUxE
b2N1bWVudFBhcnNlcjo6aW5zZXJ0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24g
MjU5Mzc4KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTkzNiw2ICs5MzYsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBh
Z2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdC5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwK
KyAgICBwYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRs
CiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtOTI2LDYgKzkyNiw3IEBAIEpTX0JJTkRJTkdf
SURMUyA9IFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwgXAog
ICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwgXAorICAg
ICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUp
L3BhZ2UvUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2Uv
UGVyZm9ybWFuY2VUaW1pbmcuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNTkz
NzgpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjE0
OCw2ICsyMTQ4LDcgQEAgcmVuZGVyaW5nL0xheW91dERpc2FsbG93ZWRTY29wZS5jcHAKIHJlbmRl
cmluZy9MYXlvdXRSZXBhaW50ZXIuY3BwCiByZW5kZXJpbmcvTWFya2VkVGV4dC5jcHAKIHJlbmRl
cmluZy9PcmRlckl0ZXJhdG9yLmNwcAorcmVuZGVyaW5nL1BhaW50VGltaW5nUmVuZGVyU3VwcG9y
dC5jcHAKIHJlbmRlcmluZy9Qb2ludGVyRXZlbnRzSGl0UnVsZXMuY3BwCiByZW5kZXJpbmcvUmVu
ZGVyQXR0YWNobWVudC5jcHAKIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTMyMDIsNiAr
MzIwMyw3IEBAIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcAogSlNQZXJmb3JtYW5jZU9ic2Vy
dmVyLmNwcAogSlNQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suY3BwCiBKU1BlcmZvcm1hbmNl
T2JzZXJ2ZXJFbnRyeUxpc3QuY3BwCitKU1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuY3BwCiBKU1Bl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmNw
cAogSlNQZXJmb3JtYW5jZVRpbWluZy5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBj
b3B5KQpAQCAtNDA1Miw2ICs0MDUyLDcgQEAKIAkJQzlGODdDRkUxQjI4RjQwRTAwOTc5QjgzIC8q
IE1lZGlhU2Vzc2lvbkV2ZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzlGODdDRkQxQjI4RTVGNjAwOTc5QjgzIC8qIE1lZGlhU2Vzc2lvbkV2ZW50
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNB
M0JGNjdFMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0EzQkY2N0QxMEQ5OUJBRTAwRTZDRTUz
IC8qIFNjcm9sbEFuaW1hdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJQ0E2QzE1MzAyMjBCOThDQzAwNTVDQkZDIC8qIEpTVmFsdWVJbldyYXBw
ZWRPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkzMUFFM0I4MUZCODBFQUUwMEY1RUZCMiAvKiBKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0E3RTlCNDky
NDM2MURDNTAwNEU4OUY2IC8qIFBhaW50VGltaW5nUmVuZGVyU3VwcG9ydC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0E3RTlCNDcyNDM2MURDNTAwNEU4
OUY2IC8qIFBhaW50VGltaW5nUmVuZGVyU3VwcG9ydC5oICovOyB9OwogCQlDQUU5RjkxMDE0NjQ0
MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0FFOUY5MEUxNDY0NDFGMDAwQzI0NUIwIC8qIENT
U0FzcGVjdFJhdGlvVmFsdWUuaCAqLzsgfTsKIAkJQ0IzOEZENTIxQ0NGOTM5NDAwNTkyQTNGIC8q
IEpTUGVyZm9ybWFuY2VFbnRyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0IzOEZENEUxQ0NGOTM3RTAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VFbnRy
eS5oICovOyB9OwogCQlDQjM4RkQ1QjFDRDIzMjVCMDA1OTJBM0YgLyogSlNQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDQjM4RkQ1OTFDRDIzMTQ1MDA1OTJBM0YgLyogSlNQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nLmggKi87IH07CkBAIC0xMzgxNSw2ICsxMzgxNiw4IEBACiAJCUNBMDkxRDg2MjNDRjkwNzgw
MEFENDM0NiAvKiBTdHlsZUltYWdlU2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlSW1h
Z2VTZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTA5MUQ4OTIzQ0Y5MDg4
MDBBRDQzNDYgLyogU3R5bGVJbWFnZVNldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHlsZUltYWdlU2V0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBMTYzNURDMjA3MkU3NjkwMEU3RDJD
RSAvKiBSZWZlcnJlclBvbGljeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZWZlcnJlclBvbGljeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNB
MTkzM0Q1MjQwN0Q2NDAwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQ0ExOTMzRDgyNDA3RURDRjAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1p
bmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTNCRjY3QjEwRDk5QkFFMDBFNkNFNTMg
LyogU2Nyb2xsQW5pbWF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gU2Nyb2xsQW5pbWF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTNC
RjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xsQW5pbWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0E1MkJBRTUyM0QwQUYxNjAwREUwQjg0IC8qIFN0eWxlQ3Vyc29ySW1hZ2UuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVDdXJzb3JJbWFnZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xMzgyNCw2ICsxMzgyNyw4IEBACiAJCUNBNkMxNTJGMjIwQjRBNTUw
MDU1Q0JGQyAvKiBKU0lEQlJlcXVlc3RDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNJREJSZXF1ZXN0Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQ0E2QzE1MzcyMjBEMUVCMzAwNTVDQkZDIC8qIEpTSURCQ3Vyc29yQ3VzdG9t
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCQ3Vyc29yQ3Vz
dG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0E2QzE1MzgyMjBEMUVCMzAw
NTVDQkZDIC8qIEpTSURCQ3Vyc29yV2l0aFZhbHVlQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCQ3Vyc29yV2l0aFZhbHVlQ3VzdG9tLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0E3RTlCNDcyNDM2MURDNTAwNEU4OUY2IC8qIFBh
aW50VGltaW5nUmVuZGVyU3VwcG9ydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQYWludFRpbWluZ1JlbmRlclN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQ0E3RTlCNDgyNDM2MURDNTAwNEU4OUY2IC8qIFBhaW50VGltaW5nUmVuZGVyU3VwcG9ydC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYWludFRpbWluZ1JlbmRl
clN1cHBvcnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQUU5RjkwRDE0NjQ0
MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0FFOUY5MEUxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJh
dGlvVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTQXNwZWN0UmF0
aW9WYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQjM4RkQ0QTFDQ0NGMkRE
MDA1OTJBM0YgLyogUGVyZm9ybWFuY2VFbnRyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZUVudHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTIwOTYzLDYgKzIwOTY4LDggQEAKIAkJCQlBNUE5OTMzQTFFMzdGQUZEMDA1QjVF
NEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgKi8sCiAJCQkJQTVBOTkzM0Ix
RTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCAqLywKIAkJ
CQlBNUE5OTMzQzFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlz
dC5pZGwgKi8sCisJCQkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcuaCAqLywKKwkJCQlDQTE5MzNEODI0MDdFRENGMDA3MTI0MUEgLyogUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5pZGwgKi8sCiAJCQkJODY1MTJFREIxNTRBMkFFRTAwQTkwNDI2IC8qIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICovLAogCQkJCTg2NTEyRURDMTU0QTJBRUYwMEE5
MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8sCiAJCQkJODY1MTJFREQxNTRB
MkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsICovLApAQCAtMjgw
OTksNiArMjgxMDYsOCBAQAogCQkJCTU1RUM5NTk3MjA2OUM5MkQwMDdERDBBOSAvKiBQYWludEZy
ZXF1ZW5jeVRyYWNrZXIuaCAqLywKIAkJCQkwODg1MDY3RDExREEwNDVCMDAxODJCOTggLyogUGFp
bnRJbmZvLmggKi8sCiAJCQkJMDg4NTA2N0UxMURBMDQ1QjAwMTgyQjk4IC8qIFBhaW50UGhhc2Uu
aCAqLywKKwkJCQlDQTdFOUI0ODI0MzYxREM1MDA0RTg5RjYgLyogUGFpbnRUaW1pbmdSZW5kZXJT
dXBwb3J0LmNwcCAqLywKKwkJCQlDQTdFOUI0NzI0MzYxREM1MDA0RTg5RjYgLyogUGFpbnRUaW1p
bmdSZW5kZXJTdXBwb3J0LmggKi8sCiAJCQkJQjJCMUY3MTQwRDAwQ0FBODAwNEFFQTY0IC8qIFBv
aW50ZXJFdmVudHNIaXRSdWxlcy5jcHAgKi8sCiAJCQkJQjJCMUY3MTUwRDAwQ0FBODAwNEFFQTY0
IC8qIFBvaW50ZXJFdmVudHNIaXRSdWxlcy5oICovLAogCQkJCUI1OUVEMjNBMTgyNzI2NzkwMDZE
NTY0QyAvKiBSZW5kZXJBbmNlc3Rvckl0ZXJhdG9yLmggKi8sCkBAIC0zMjA4OCw2ICszMjA5Nyw3
IEBACiAJCQkJMDg4NTA2N0YxMURBMDQ1QjAwMTgyQjk4IC8qIFBhaW50SW5mby5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMDg4NTA2ODAxMURBMDQ1QjAwMTgyQjk4IC8qIFBhaW50UGhhc2UuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTRCMUUxM0VCMjE3OTM3QjMwMDQyQ0Y5OCAvKiBQYWludFJlbmRlcmlu
Z0NvbnRleHQyRC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0E3RTlCNDkyNDM2MURDNTAwNEU4OUY2
IC8qIFBhaW50VGltaW5nUmVuZGVyU3VwcG9ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEI2QjVD
QzAyMTY0Mzg2NDAwNjAzODE3IC8qIFBhaW50V29ya2xldEdsb2JhbFNjb3BlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBODBFNkNGQjBBMTk4OUNBMDA3RkI4QzUgLyogUGFpci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRkQzMTYwQTMxMkIwMjZGNzAwQzFBMzU5IC8qIFBhbm5lci5oIGluIEhlYWRlcnMg
Ki8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlD
dXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVy
Zm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM1LDkgKzM1LDExIEBACiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVk
ZSAiSlNQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlTWVhc3VyZS5o
IgorI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgogI2luY2x1ZGUgIkpTUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWFyay5oIgog
I2luY2x1ZGUgIlBlcmZvcm1hbmNlTWVhc3VyZS5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCiAKIApA
QCAtNDYsNiArNDgsOSBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBKU1ZhbHVlIHRvSlNOZXds
eUNyZWF0ZWQoSlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBSZWY8UGVyZm9ybWFuY2VFbnRyeT4mJiBlbnRyeSkKIHsKKyAgICBpZiAoaXM8UGVyZm9ybWFu
Y2VQYWludFRpbWluZz4oZW50cnkpKQorICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJm
b3JtYW5jZVBhaW50VGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKKwogICAg
IGlmIChpczxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPihlbnRyeSkpCiAgICAgICAgIHJldHVy
biBjcmVhdGVXcmFwcGVyPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+KGdsb2JhbE9iamVjdCwg
V1RGTW92ZShlbnRyeSkpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJD
b3JlQnVpbHRpbk5hbWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCShyZXZpc2lvbiAyNTkzNzgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTE3OSw2ICsxNzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oUGVyZm9ybWFu
Y2VNZWFzdXJlKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VPYnNlcnZlcikgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QpIFwKKyAgICBtYWNybyhQZXJmb3JtYW5jZVBh
aW50VGltaW5nKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZykgXAogICAg
IG1hY3JvKFBlcmZvcm1hbmNlU2VydmVyVGltaW5nKSBcCiAgICAgbWFjcm8oUG9pbnRlckV2ZW50
KSBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0Nyw3ICsx
NDcsOSBAQAogI2luY2x1ZGUgIlBhZ2VDb25zb2xlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUGFnZUdy
b3VwLmgiCiAjaW5jbHVkZSAiUGFnZVRyYW5zaXRpb25FdmVudC5oIgorI2luY2x1ZGUgIlBhaW50
VGltaW5nUmVuZGVyU3VwcG9ydC5oIgogI2luY2x1ZGUgIlBhaW50V29ya2xldEdsb2JhbFNjb3Bl
LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5o
IgogI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIlBs
YXRmb3JtU2NyZWVuLmgiCkBAIC0zMTQxLDYgKzMxNDMsMzIgQEAgYm9vbCBEb2N1bWVudDo6aXNM
YXlvdXRUaW1lckFjdGl2ZSgpIGNvbgogICAgIHJldHVybiB2aWV3KCkgJiYgdmlldygpLT5sYXlv
dXRDb250ZXh0KCkuaXNMYXlvdXRQZW5kaW5nKCk7CiB9CiAKK2Jvb2wgRG9jdW1lbnQ6OnN1cHBv
cnRzUGFpbnRUaW1pbmcoKSBjb25zdAoreworICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnBhaW50VGltaW5nRW5hYmxlZCgpICYmIHNlY3VyaXR5T3Jp
Z2luKCkuY2FuQWNjZXNzKHRvcE9yaWdpbigpKTsKK30KKwordm9pZCBEb2N1bWVudDo6bWFya1Bh
aW50VGltaW5nSWZOZWVkZWQoKQoreworICAgIGlmIChtX2RpZE1hcmtGaXJzdENvbnRlbnRmdWxQ
YWludCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFzdXBwb3J0c1BhaW50VGltaW5nKCkp
CisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8qIHdpbmRvdyA9IGRvbVdpbmRvdygpOworICAg
IGF1dG8qIHZpZXcgPSByZW5kZXJWaWV3KCk7CisKKyAgICBpZiAoIXZpZXcgfHwgIXdpbmRvdykK
KyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFQYWludFRpbWluZ1JlbmRlclN1cHBvcnQ6Omhh
c0NvbnRlbnRmdWxQYWludGFibGVFbGVtZW50cygqdmlldykpCisgICAgICAgIHJldHVybjsKKwor
ICAgIHdpbmRvdy0+cGVyZm9ybWFuY2UoKS5yZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOwor
ICAgIG1fZGlkTWFya0ZpcnN0Q29udGVudGZ1bFBhaW50ID0gdHJ1ZTsKK30KKwogRXhjZXB0aW9u
T3I8dm9pZD4gRG9jdW1lbnQ6OndyaXRlKERvY3VtZW50KiByZXNwb25zaWJsZURvY3VtZW50LCBT
ZWdtZW50ZWRTdHJpbmcmJiB0ZXh0KQogewogICAgIGlmIChtX2FjdGl2ZVBhcnNlcldhc0Fib3J0
ZWQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMzUsNiArMTAzNSw4
IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2hvdWxkRGVmZXJBc3luY2hyb25vdXNTY3JpcHRzVW50
aWxQYXJzaW5nRmluaXNoZXMoKSBjb25zdDsKIAorICAgIGJvb2wgc3VwcG9ydHNQYWludFRpbWlu
ZygpIGNvbnN0OworCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgdm9pZCBzY2hlZHVsZVRvQXBwbHlY
U0xUcmFuc2Zvcm1zKCk7CiAgICAgdm9pZCBhcHBseVBlbmRpbmdYU0xUcmFuc2Zvcm1zTm93SWZT
Y2hlZHVsZWQoKTsKQEAgLTE1NjksNiArMTU3MSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0
SGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQoKSB7IG1faGFzVmlzdWFsbHlOb25FbXB0
eUN1c3RvbUNvbnRlbnQgPSB0cnVlOyB9CiAgICAgYm9vbCBoYXNWaXN1YWxseU5vbkVtcHR5Q3Vz
dG9tQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNv
bnRlbnQ7IH0KKyAgICB2b2lkIG1hcmtQYWludFRpbWluZ0lmTmVlZGVkKCk7CiAKIHByb3RlY3Rl
ZDoKICAgICBlbnVtIENvbnN0cnVjdGlvbkZsYWdzIHsgU3ludGhlc2l6ZWQgPSAxLCBOb25SZW5k
ZXJlZFBsYWNlaG9sZGVyID0gMSA8PCAxIH07CkBAIC0yMDMyLDYgKzIwMzUsOSBAQCBwcml2YXRl
OgogCiAgICAgYm9vbCBtX2FyZURldmljZU1vdGlvbkFuZE9yaWVudGF0aW9uVXBkYXRlc1N1c3Bl
bmRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3VzZXJEaWRJbnRlcmFjdFdpdGhQYWdlIHsgZmFs
c2UgfTsKKworICAgIGJvb2wgbV9kaWRNYXJrRmlyc3RDb250ZW50ZnVsUGFpbnQgeyBmYWxzZSB9
OworCiAjaWYgQVNTRVJUX0VOQUJMRUQKICAgICBib29sIG1faW5IaXRUZXN0aW5nIHsgZmFsc2Ug
fTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAkocmV2aXNpb24gMjU5
Mzc4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC05ODEsNiArOTgxLDggQEAgYm9vbCBGcmFtZVZpZXc6OmZsdXNoQ29tcG9zaXRpbmdTdGF0
ZUZvcgogI2VuZGlmCiAKICAgICByZW5kZXJWaWV3LT5jb21wb3NpdG9yKCkuZmx1c2hQZW5kaW5n
TGF5ZXJDaGFuZ2VzKCZyb290RnJhbWVGb3JGbHVzaCA9PSBtX2ZyYW1lLnB0cigpKTsKKyAgICBp
ZiAoYXV0byogZG9jdW1lbnQgPSBmcmFtZSgpLmRvY3VtZW50KCkpCisgICAgICAgIGRvY3VtZW50
LT5tYXJrUGFpbnRUaW1pbmdJZk5lZWRlZCgpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkocmV2aXNpb24gMjU5Mzc4KQorKysgU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYg
KzQyLDcgQEAKICNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCiAjaW5jbHVkZSAiUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNlcnZlci5oIgorI2lu
Y2x1ZGUgIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1pbmcuaCIKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZVVzZXJUaW1pbmcuaCIKQEAgLTEyNCw2ICsxMjUsOSBAQCBWZWN0b3I8UmVm
UHRyPFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3JtCiAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVj
dG9yKG1fdXNlclRpbWluZy0+Z2V0TWVhc3VyZXMoKSk7CiAgICAgfQogCisgICAgaWYgKG1fZmly
c3RDb250ZW50ZnVsUGFpbnQpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50
ZnVsUGFpbnQpOworCiAgICAgc3RkOjpzb3J0KGVudHJpZXMuYmVnaW4oKSwgZW50cmllcy5lbmQo
KSwgUGVyZm9ybWFuY2VFbnRyeTo6c3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKTsKICAgICByZXR1
cm4gZW50cmllczsKIH0KQEAgLTEzNSw2ICsxMzksOSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+PiBQZXJmb3JtCiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNl
KGVudHJ5VHlwZSwgInJlc291cmNlIikpCiAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1f
cmVzb3VyY2VUaW1pbmdCdWZmZXIpOwogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQg
JiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkKKyAg
ICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAo
bV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2Fz
ZShlbnRyeVR5cGUsICJtYXJrIikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3Rvciht
X3VzZXJUaW1pbmctPmdldE1hcmtzKCkpOwpAQCAtMTU3LDYgKzE2NCw5IEBAIFZlY3RvcjxSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICAgICAgfQogICAgIH0KIAorICAgIGlm
IChtX2ZpcnN0Q29udGVudGZ1bFBhaW50ICYmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxM
ZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkgJiYgbmFtZSA9PSAi
Zmlyc3QtY29udGVudGZ1bC1wYWludCIpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RD
b250ZW50ZnVsUGFpbnQpOworCiAgICAgaWYgKG1fdXNlclRpbWluZykgewogICAgICAgICBpZiAo
ZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5
VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRp
bWluZy0+Z2V0TWFya3MobmFtZSkpOwpAQCAtMTgwLDYgKzE5MCwxMyBAQCB2b2lkIFBlcmZvcm1h
bmNlOjpzZXRSZXNvdXJjZVRpbWluZ0J1ZmZlCiAgICAgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlckZ1
bGxGbGFnID0gZmFsc2U7CiB9CiAKK3ZvaWQgUGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0Q29udGVu
dGZ1bFBhaW50KCkKK3sKKyAgICBBU1NFUlQoIW1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworICAg
IG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nOjpjcmVhdGVG
aXJzdENvbnRlbnRmdWxQYWludChub3coKSk7CisgICAgcXVldWVFbnRyeSgqbV9maXJzdENvbnRl
bnRmdWxQYWludCk7Cit9CisKIHZvaWQgUGVyZm9ybWFuY2U6OmFkZFJlc291cmNlVGltaW5nKFJl
c291cmNlVGltaW5nJiYgcmVzb3VyY2VUaW1pbmcpCiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCShyZXZpc2lv
biAyNTkzNzgpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ1LDYgKzQ1LDcgQEAgY2xhc3MgTG9hZFRpbWluZzsKIGNsYXNzIFBlcmZvcm1h
bmNlRW50cnk7CiBjbGFzcyBQZXJmb3JtYW5jZU5hdmlnYXRpb247CiBjbGFzcyBQZXJmb3JtYW5j
ZU9ic2VydmVyOworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZzsKIGNsYXNzIFBlcmZvcm1h
bmNlVGltaW5nOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291cmNlVGltaW5n
OwpAQCAtNzcsNiArNzgsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZFJlc291cmNlVGltaW5n
KFJlc291cmNlVGltaW5nJiYpOwogCisgICAgdm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWlu
dCgpOworCiAgICAgdm9pZCByZW1vdmVBbGxPYnNlcnZlcnMoKTsKICAgICB2b2lkIHJlZ2lzdGVy
UGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CiAgICAgdm9pZCB1bnJl
Z2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CkBAIC0xMjEs
NiArMTI0LDcgQEAgcHJpdmF0ZToKIAogICAgIE1vbm90b25pY1RpbWUgbV90aW1lT3JpZ2luOwog
CisgICAgUmVmUHRyPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IG1fZmlyc3RDb250ZW50ZnVsUGFp
bnQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFVzZXJUaW1pbmc+IG1fdXNlclRpbWluZzsKIAogICAg
IEdlbmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV9wZXJmb3JtYW5jZVRp
bWVsaW5lVGFza1F1ZXVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuY3BwCShyZXZpc2lvbiAyNTkzNzgpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlRW50cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCwxMSBAQCBPcHRpb25hbDxQ
ZXJmb3JtYW5jZUVudHJ5OjpUeXBlPiBQZXJmb3JtCiAgICAgICAgICAgICByZXR1cm4gT3B0aW9u
YWw8VHlwZT4oVHlwZTo6UmVzb3VyY2UpOwogICAgIH0KIAorICAgIGlmIChSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnBhaW50VGltaW5nRW5hYmxlZCgpKSB7CisgICAg
ICAgIGlmIChlbnRyeVR5cGUgPT0gInBhaW50IikKKyAgICAgICAgICAgIHJldHVybiBPcHRpb25h
bDxUeXBlPihUeXBlOjpQYWludCk7CisgICAgfQorCiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgJKHJldmlzaW9u
IDI1OTM3OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01Miw2ICs1Miw3IEBAIHB1YmxpYzoKICAgICAgICAgTWFyayA9IDEgPDwg
MSwKICAgICAgICAgTWVhc3VyZSA9IDEgPDwgMiwKICAgICAgICAgUmVzb3VyY2UgPSAxIDw8IDMs
CisgICAgICAgIFBhaW50ID0gMSA8PCA0CiAgICAgfTsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBl
KCkgY29uc3QgPSAwOwpAQCAtNjIsNiArNjMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Jlc291
cmNlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OlJlc291cmNlOyB9CiAgICAgYm9v
bCBpc01hcmsoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWFyazsgfQogICAgIGJv
b2wgaXNNZWFzdXJlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1lYXN1cmU7IH0K
KyAgICBib29sIGlzUGFpbnQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UGFpbnQ7
IH0KIAogICAgIHN0YXRpYyBib29sIHN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbihjb25zdCBSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4mIGEsIGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYg
YikKICAgICB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5jcHAJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMywxNSArMTEzLDIxIEBAIHZvaWQg
UGVyZm9ybWFuY2VPYnNlcnZlcjo6ZGVsaXZlcigpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRGaXJlT2JzZXJ2ZXJDYWxsYmFjaygqY29udGV4dCk7CiB9CiAKLVZlY3RvcjxTdHJp
bmc+IFBlcmZvcm1hbmNlT2JzZXJ2ZXI6OnN1cHBvcnRlZEVudHJ5VHlwZXMoKQorVmVjdG9yPFN0
cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyhTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0KQogewotICAgIHJldHVybiB7CisgICAgVmVjdG9yPFN0cmlu
Zz4gZW50cnlUeXBlcyA9IHsKICAgICAgICAgLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5vcmcv
Yi8xODQzNjM+IEFkZCBzdXBwb3J0IGZvciBOYXZpZ2F0aW9uIFRpbWluZyBMZXZlbCAyCiAgICAg
ICAgIC8vICJuYXZpZ2F0aW9uIl9zLAogICAgICAgICAibWFyayJfcywKLSAgICAgICAgIm1lYXN1
cmUiX3MsCi0gICAgICAgICJyZXNvdXJjZSJfcworICAgICAgICAibWVhc3VyZSJfcwogICAgIH07
CisKKyAgICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpICYmIGRvd25jYXN0PERvY3VtZW50Pihj
b250ZXh0KS5zdXBwb3J0c1BhaW50VGltaW5nKCkpCisgICAgICAgIGVudHJ5VHlwZXMuYXBwZW5k
KCJwYWludCJfcyk7CisKKyAgICBlbnRyeVR5cGVzLmFwcGVuZCgicmVzb3VyY2UiX3MpOworCisg
ICAgcmV0dXJuIGVudHJ5VHlwZXM7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCShyZXZpc2lvbiAyNTkz
NzgpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoY29udGV4dCwgV1RGTW92ZShjYWxsYmFjaykpKTsK
ICAgICB9CiAKLSAgICBzdGF0aWMgVmVjdG9yPFN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlcygp
OworICAgIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmKTsKIAogICAgIHZvaWQgZGlzYXNzb2NpYXRlKCk7CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAkocmV2aXNpb24gMjU5
Mzc4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogXSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VPYnNl
cnZlciB7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIG9ic2VydmUoUGVyZm9ybWFuY2VP
YnNlcnZlckluaXQgb3B0aW9ucyk7CiAgICAgdm9pZCBkaXNjb25uZWN0KCk7Ci0gICAgc3RhdGlj
IHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHN1cHBvcnRlZEVudHJ5
VHlwZXM7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyByZWFk
b25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RE9NU3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVz
OwogfTsKIAogZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdCB7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lN
ZWRpYSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVyZm9y
bWFuY2VFbnRyeS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgZmluYWwgOiBwdWJs
aWMgUGVyZm9ybWFuY2VFbnRyeSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5j
ZVBhaW50VGltaW5nPiBjcmVhdGVGaXJzdENvbnRlbnRmdWxQYWludChET01IaWdoUmVzVGltZVN0
YW1wIHRpbWVTdGFtcCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiX3MsIHRpbWVTdGFtcCkp
OworICAgIH0KKworcHJpdmF0ZToKKyAgICBQZXJmb3JtYW5jZVBhaW50VGltaW5nKGNvbnN0IFN0
cmluZyYgbmFtZSwgRE9NSGlnaFJlc1RpbWVTdGFtcCB0aW1lU3RhbXApCisgICAgICAgIDogUGVy
Zm9ybWFuY2VFbnRyeShuYW1lLCB0aW1lU3RhbXAsIHRpbWVTdGFtcCkKKyAgICB7CisgICAgfQor
CisgICAgQVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJwYWlu
dCJfczsgfQorICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFR5cGU6OlBhaW50
OyB9CisKKyAgICB+UGVyZm9ybWFuY2VQYWludFRpbWluZygpID0gZGVmYXVsdDsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJD
b3JlOjpQZXJmb3JtYW5jZVBhaW50VGltaW5nKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25z
dCBXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnkuaXNQYWlu
dCgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRp
YSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Bh
aW50LXRpbWluZy8KKwordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKworWwor
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGFpbnRUaW1pbmcsCisgICAgRXhwb3NlZD0oV2luZG93KSwK
K10gaW50ZXJmYWNlIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgOiBQZXJmb3JtYW5jZUVudHJ5IHsK
K307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aAkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDkgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0VXNlclRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1VzZXJUaW1p
bmdFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCB1c2VyVGltaW5nRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1faXNVc2VyVGltaW5nRW5hYmxlZDsgfQogCisgICAgdm9pZCBzZXRQYWlu
dFRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1BhaW50VGltaW5nRW5hYmxlZCA9
IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgcGFpbnRUaW1pbmdFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9pc1BhaW50VGltaW5nRW5hYmxlZDsgfQorCiAgICAgYm9vbCBwZXJmb3JtYW5jZVRpbWVs
aW5lRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIHJlc291cmNlVGltaW5nRW5hYmxlZCgpIHx8IHVz
ZXJUaW1pbmdFbmFibGVkKCk7IH0KIAogICAgIHZvaWQgc2V0U2hhZG93RE9NRW5hYmxlZChib29s
IGlzRW5hYmxlZCkgeyBtX2lzU2hhZG93RE9NRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQpAQCAtNDI0
LDYgKzQyNyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzTGlua1ByZWxvYWRFbmFibGVkIHsg
dHJ1ZSB9OwogICAgIGJvb2wgbV9pc0xpbmtQcmVmZXRjaEVuYWJsZWQgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9pc01lZGlhUHJlbG9hZGluZ0VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9p
c1BhaW50VGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzUmVzb3VyY2VUaW1p
bmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNVc2VyVGltaW5nRW5hYmxlZCB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX2lzSW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQgeyBm
YWxzZSB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1BhaW50VGltaW5nUmVuZGVy
U3VwcG9ydC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1BhaW50
VGltaW5nUmVuZGVyU3VwcG9ydC5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1BhaW50VGltaW5nUmVuZGVyU3VwcG9ydC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwxMDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCisgKgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBh
aW50VGltaW5nUmVuZGVyU3VwcG9ydC5oIgorCisjaW5jbHVkZSAiUmVuZGVyQm94TW9kZWxPYmpl
Y3QuaCIKKyNpbmNsdWRlICJSZW5kZXJDaGlsZEl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiUmVuZGVy
U1ZHUm9vdC5oIgorI2luY2x1ZGUgIlJlbmRlclRleHQuaCIKKyNpbmNsdWRlICJSZW5kZXJWaWV3
LmgiCisKKy8vIFRoaXMgaW1wbGVtZW50cyBjaGVja3MgZm9yIGh0dHBzOi8vdzNjLmdpdGh1Yi5p
by9wYWludC10aW1pbmcvI2NvbnRlbnRmdWwgYW5kIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWlu
dC10aW1pbmcvI3BhaW50YWJsZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBib29s
IGhhc0NoaWxkcmVuV2l0aE5vbldoaXRlc3BhY2VUZXh0KGNvbnN0IFJlbmRlckJveE1vZGVsT2Jq
ZWN0JiBlbGVtZW50KQoreworICAgIGZvciAoYXV0byYgY2hpbGQgOiBjaGlsZHJlbk9mVHlwZTxS
ZW5kZXJUZXh0PihlbGVtZW50KSkgeworICAgICAgICBpZiAoIWNoaWxkLmNvbnRhaW5zT25seUhU
TUxXaGl0ZXNwYWNlKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK3N0YXRpYyBib29sIGlzQ29udGVudGZ1bChjb25zdCBSZW5kZXJC
b3hNb2RlbE9iamVjdCYgZWxlbWVudCkKK3sKKyAgICByZXR1cm4gZWxlbWVudC5oYXNPd25QYWlu
dGFibGVDb250ZW50KCkKKyAgICAgICAgfHwgZWxlbWVudC5zdHlsZSgpLmhhc1BhaW50YWJsZUNh
Y2hlZEJhY2tncm91bmRJbWFnZSgpCisgICAgICAgIHx8IGhhc0NoaWxkcmVuV2l0aE5vbldoaXRl
c3BhY2VUZXh0KGVsZW1lbnQpOworfQorCitzdGF0aWMgYm9vbCBoYXNQb3RlbnRpYWxseVZpc2li
bGVSZWdpb25zKGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0JiBlbGVtZW50LCBjb25zdCBJbnRS
ZWN0JiBkb2N1bWVudFJlY3QpCit7CisgICAgQVNTRVJUKCFlbGVtZW50Lm5lZWRzTGF5b3V0KCkp
OworICAgIEFTU0VSVChpc0NvbnRlbnRmdWwoZWxlbWVudCkpOworICAgIEFTU0VSVChlbGVtZW50
Lm9wYWNpdHkoKSk7CisgICAgQVNTRVJUKGVsZW1lbnQuc3R5bGUoKS52aXNpYmlsaXR5KCkgPT0g
VmlzaWJpbGl0eTo6VmlzaWJsZSk7CisKKyAgICBpZiAoaXM8UmVuZGVyQm94PihlbGVtZW50KSkg
eworICAgICAgICBjb25zdCBSZW5kZXJCb3gmIGJveCA9IGRvd25jYXN0PFJlbmRlckJveD4oZWxl
bWVudCk7CisgICAgICAgIGlmICghYm94LndpZHRoKCkgfHwgIWJveC5oZWlnaHQoKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICByZXR1cm4gZWxlbWVudC5sb2NhbFRvQWJz
b2x1dGVRdWFkKEZsb2F0UmVjdCgwLCAwLCBib3gud2lkdGgoKSwgYm94LmhlaWdodCgpKSkuYm91
bmRpbmdCb3goKS5pbnRlcnNlY3RzKGRvY3VtZW50UmVjdCk7CisgICAgfQorCisgICAgVmVjdG9y
PEZsb2F0UXVhZD4gcXVhZHM7CisKKyAgICAvLyBXZSBkb24ndCBuZWVkIHRoZSBleGFjdCBib3Vu
ZGluZyByZWN0LCB3ZSBqdXN0IG5lZWQgdG8gZmluZCBpZiBpdCBpbnRlcnNlY3RzIHdpdGggZG9j
dW1lbnRSZWN0LgorICAgIGVsZW1lbnQuYWJzb2x1dGVRdWFkcyhxdWFkcyk7CisgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBxdWFkcy5zaXplKCk7ICsraSkgeworICAgICAgICBpZiAocXVhZHNb
aV0uYm91bmRpbmdCb3goKS5pbnRlcnNlY3RzKGRvY3VtZW50UmVjdCkpCisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3N0YXRpYyBib29s
IGlzU2VsZkNvbnRlbnRmdWxBbmRQYWludGFibGUoY29uc3QgUmVuZGVyQm94TW9kZWxPYmplY3Qm
IGVsZW1lbnQsIGNvbnN0IEludFJlY3QmIGRvY3VtZW50UmVjdCkKK3sKKyAgICByZXR1cm4gZWxl
bWVudC5zdHlsZSgpLnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlIAorICAgICAg
ICAmJiBpc0NvbnRlbnRmdWwoZWxlbWVudCkgCisgICAgICAgICYmIGhhc1BvdGVudGlhbGx5Vmlz
aWJsZVJlZ2lvbnMoZWxlbWVudCwgZG9jdW1lbnRSZWN0KTsKK30KKworc3RhdGljIGJvb2wgaXNT
ZWxmT3JEZXNjZW5kYW50SXNDb250ZW50ZnVsQW5kUGFpbnRhYmxlKGNvbnN0IFJlbmRlckJveE1v
ZGVsT2JqZWN0JiBlbGVtZW50LCBjb25zdCBJbnRSZWN0JiBkb2N1bWVudFJlY3QpCit7CisgICAg
aWYgKCFlbGVtZW50Lm9wYWNpdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYg
KGlzU2VsZkNvbnRlbnRmdWxBbmRQYWludGFibGUoZWxlbWVudCwgZG9jdW1lbnRSZWN0KSkKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAvLyBUaGlzIGlzIGEgcG90ZW50aWFsbHkgZXhwZW5z
aXZlIG9wZXJhdGlvbiwgYXMgYXQgaXRzIHdvcnN0IGNhc2UgaXQgcnVucyBvbiBldmVyeSBlbGVt
ZW50IG9uIHRoZSB0cmVlIHJlY3Vyc2l2ZWx5IHRvIGNvbXB1dGUgYm91bmRpbmcgcmVjdC4KKyAg
ICAvLyBIb3dldmVyLCB0aGUgd29yc3QgY2FzZSBzY2VuYXJpbyB3b3VsZCBiZSBleHRyZW1lbHkg
cmFyZSBhcyBpdCB3b3VsZCBvbmx5IG1ha2UgdGhlIGZ1bGwgY29tcHV0YXRpb24gZm9yIGVsZW1l
bnRzIHRoYXQgYXJlIGFscmVhZHkgZm91bmQgdG8gYmUgY29udGVudGZ1bAorICAgIC8vIGFuZCB2
aXNpYmxlLCB3b3VsZCBiYWlsIG91dCBmcm9tIHRoZSByZWN1cnNpb24gZm9yIHRoZSBmaXJzdCBl
bGlnaWJsZSBlbGVtZW50LCBhbmQgd291bGQgZG8gdGhpcyBvbmNlIGluIHRoZSB3aG9sZSBsaWZl
Y3ljbGUgb2YgYSBkb2N1bWVudC4KKyAgICBmb3IgKGNvbnN0IGF1dG8mIGNoaWxkIDogY2hpbGRy
ZW5PZlR5cGU8UmVuZGVyQm94TW9kZWxPYmplY3Q+KGVsZW1lbnQpKSB7CisgICAgICAgIGlmIChp
c1NlbGZPckRlc2NlbmRhbnRJc0NvbnRlbnRmdWxBbmRQYWludGFibGUoY2hpbGQsIGRvY3VtZW50
UmVjdCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK2Jvb2wgUGFpbnRUaW1pbmdSZW5kZXJTdXBwb3J0OjpoYXNDb250ZW50ZnVsUGFp
bnRhYmxlRWxlbWVudHMoY29uc3QgUmVuZGVyVmlldyYgdmlldykKK3sKKyAgICByZXR1cm4gaXNT
ZWxmT3JEZXNjZW5kYW50SXNDb250ZW50ZnVsQW5kUGFpbnRhYmxlKHZpZXcsIHZpZXcuZG9jdW1l
bnRSZWN0KCkpOworfQorfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1BhaW50VGlt
aW5nUmVuZGVyU3VwcG9ydC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9QYWludFRpbWluZ1JlbmRlclN1cHBvcnQuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUGFpbnRUaW1pbmdSZW5kZXJTdXBwb3J0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBXaWtpTWVkaWEgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KKyAqCisqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBSZW5kZXJWaWV3OworCitjbGFzcyBQYWludFRpbWluZ1JlbmRlclN1cHBv
cnQgeworcHVibGljOgorICAgIHN0YXRpYyBib29sIGhhc0NvbnRlbnRmdWxQYWludGFibGVFbGVt
ZW50cyhjb25zdCBSZW5kZXJWaWV3Jik7Cit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaAkocmV2aXNpb24gMjU5Mzc4KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTIzOCw2ICsyMzgsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGhh
c092ZXJyaWRlQ29udGFpbmluZ0Jsb2NrQ29udGVudFdpZHRoKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaGFzT3ZlcnJpZGVDb250YWluaW5nQmxvY2tDb250ZW50
SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIHZpcnR1YWwgYm9vbCBoYXNP
d25QYWludGFibGVDb250ZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwogcHJvdGVjdGVk
OgogICAgIFJlbmRlckJveE1vZGVsT2JqZWN0KEVsZW1lbnQmLCBSZW5kZXJTdHlsZSYmLCBCYXNl
VHlwZUZsYWdzKTsKICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdChEb2N1bWVudCYsIFJlbmRlclN0
eWxlJiYsIEJhc2VUeXBlRmxhZ3MpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckhUTUxDYW52YXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJIVE1MQ2FudmFzLmNwcAkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2
ICs1MCwxMSBAQCBSZW5kZXJIVE1MQ2FudmFzOjpSZW5kZXJIVE1MQ2FudmFzKEhUTUxDCiB7CiB9
CiAKK2Jvb2wgUmVuZGVySFRNTENhbnZhczo6aGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIGNhbnZhc0VsZW1lbnQoKS5yZW5kZXJpbmdDb250ZXh0KCk7Cit9CisK
IEhUTUxDYW52YXNFbGVtZW50JiBSZW5kZXJIVE1MQ2FudmFzOjpjYW52YXNFbGVtZW50KCkgY29u
c3QKIHsKICAgICByZXR1cm4gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KG5vZGVGb3JOb25B
bm9ueW1vdXMoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENh
bnZhcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1M
Q2FudmFzLmgJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJIVE1MQ2FudmFzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIGVsZW1lbnQoKSBjb25zdCA9IGRlbGV0ZTsKICAgICBib29sIHJlcXVpcmVz
TGF5ZXIoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGlzQ2FudmFzKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIGJvb2wgaGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNv
bnN0IG92ZXJyaWRlOwogICAgIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiAiUmVuZGVySFRNTENhbnZhcyI7IH0KICAgICB2b2lkIHBhaW50UmVwbGFjZWQo
UGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSBvdmVycmlkZTsKICAgICB2b2lkIGludHJp
bnNpY1NpemVDaGFuZ2VkKCkgb3ZlcnJpZGUgeyBjYW52YXNTaXplQ2hhbmdlZCgpOyB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHJldmlzaW9uIDI1OTM3
OCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTMzOSw2ICszMzksMTEgQEAgdm9pZCBSZW5kZXJJbWFnZTo6dXBkYXRlSW50cmlu
c2ljU2l6ZUlmTgogICAgIHNldEludHJpbnNpY1NpemUobmV3U2l6ZSk7CiB9CiAKK2Jvb2wgUmVu
ZGVySW1hZ2U6Omhhc093blBhaW50YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiBt
X2ltYWdlUmVzb3VyY2UtPmNhY2hlZEltYWdlKCkgJiYgbV9pbWFnZVJlc291cmNlLT5jYWNoZWRJ
bWFnZSgpLT5jYW5SZW5kZXIodGhpcywgMSk7Cit9CisKIHZvaWQgUmVuZGVySW1hZ2U6OnVwZGF0
ZUlubmVyQ29udGVudFJlY3QoKQogewogICAgIC8vIFByb3BhZ2F0ZSBjb250YWluZXIgc2l6ZSB0
byBpbWFnZSByZXNvdXJjZS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bWFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZS5oCShyZXZpc2lvbiAyNTkzNzgpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtNzYsNiArNzYsNyBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIGJvb2wgc2hvdWxkRGlzcGxheUJyb2tlbkltYWdlSWNvbigpIGNvbnN0OwogCisgICAg
Ym9vbCBoYXNPd25QYWludGFibGVDb250ZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBo
YXNOb25CaXRtYXBJbWFnZSgpIGNvbnN0OwogCiAgICAgYm9vbCBpc0VkaXRhYmxlSW1hZ2UoKSBj
b25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAkocmV2aXNpb24g
MjU5Mzc4KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTc5LDcgKzE3OSw3IEBAIHB1YmxpYzoKICAgICBMYXlvdXRVbml0IHRvcE9m
Rmlyc3RUZXh0KCkgY29uc3Q7CiAgICAgCiAgICAgYm9vbCBjb250YWluc09ubHlIVE1MV2hpdGVz
cGFjZSh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgpIGNvbnN0OwotICAgIAorICAgIGJv
b2wgY29udGFpbnNPbmx5SFRNTFdoaXRlc3BhY2UoKSBjb25zdCB7IHJldHVybiBjb250YWluc09u
bHlIVE1MV2hpdGVzcGFjZSgwLCB0ZXh0KCkubGVuZ3RoKCkpOyB9IAogICAgIGJvb2wgY2FuVXNl
U2ltcGxpZmllZFRleHRNZWFzdXJpbmcoKSBjb25zdCB7IHJldHVybiBtX2NhblVzZVNpbXBsaWZp
ZWRUZXh0TWVhc3VyaW5nOyB9CiAKICAgICBWZWN0b3I8c3RkOjpwYWlyPHVuc2lnbmVkLCB1bnNp
Z25lZD4+IGRyYWdnZWRDb250ZW50UmFuZ2VzQmV0d2Vlbk9mZnNldHModW5zaWduZWQgc3RhcnRP
ZmZzZXQsIHVuc2lnbmVkIGVuZE9mZnNldCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJWaWRlby5jcHAJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkyLDYgKzky
LDE0IEBAIHZvaWQgUmVuZGVyVmlkZW86OmludHJpbnNpY1NpemVDaGFuZ2VkKCkKICAgICB1cGRh
dGVJbnRyaW5zaWNTaXplKCk7IAogfQogCitib29sIFJlbmRlclZpZGVvOjpoYXNPd25QYWludGFi
bGVDb250ZW50KCkgY29uc3QKK3sKKyAgICBpZiAodmlkZW9FbGVtZW50KCkuc2hvdWxkRGlzcGxh
eVBvc3RlckltYWdlKCkpCisgICAgICAgIHJldHVybiBSZW5kZXJJbWFnZTo6aGFzT3duUGFpbnRh
YmxlQ29udGVudCgpOworCisgICAgcmV0dXJuIHZpZGVvRWxlbWVudCgpLnJlYWR5U3RhdGUoKSA+
IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6SEFWRV9NRVRBREFUQTsKK30KKwogYm9vbCBSZW5kZXJW
aWRlbzo6dXBkYXRlSW50cmluc2ljU2l6ZSgpCiB7CiAgICAgTGF5b3V0U2l6ZSBzaXplID0gY2Fs
Y3VsYXRlSW50cmluc2ljU2l6ZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZGVvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZGVvLmgJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWRlby5oCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2Nyw3IEBAIHByaXZhdGU6CiAK
ICAgICBib29sIHJlcXVpcmVzTGF5ZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAg
ICAgYm9vbCBpc1ZpZGVvKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIGJvb2wg
aGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdm9pZCBwYWlu
dFJlcGxhY2VkKFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50JikgZmluYWw7CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwCShyZXZpc2lv
biAyNTkzNzgpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzQwLDYgKzM0MCwxNSBAQCBib29sIEZpbGxMYXllcjo6Y29u
dGFpbnNJbWFnZShTdHlsZUltYWdlCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEZpbGxM
YXllcjo6aGFzTG9hZGVkQ2FjaGVkSW1hZ2UoKSBjb25zdAoreworICAgIGZvciAoYXV0byogbGF5
ZXIgPSB0aGlzOyBsYXllcjsgbGF5ZXIgPSBsYXllci0+bV9uZXh0LmdldCgpKSB7CisgICAgICAg
IGlmIChsYXllci0+bV9pbWFnZSAmJiBsYXllci0+bV9pbWFnZS0+aXNMb2FkZWQoKSAmJiBsYXll
ci0+bV9pbWFnZS0+aGFzQ2FjaGVkSW1hZ2UoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgRmlsbExheWVyOjppbWFnZXNBcmVM
b2FkZWQoKSBjb25zdAogewogICAgIGZvciAoYXV0byogbGF5ZXIgPSB0aGlzOyBsYXllcjsgbGF5
ZXIgPSBsYXllci0+bV9uZXh0LmdldCgpKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvRmlsbExheWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL0ZpbGxMYXllci5oCShyZXZpc2lvbiAyNTkzNzgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NSw2ICsx
NDUsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGNvbnRhaW5zSW1hZ2UoU3R5bGVJbWFnZSYpIGNv
bnN0OwogICAgIGJvb2wgaW1hZ2VzQXJlTG9hZGVkKCkgY29uc3Q7CisgICAgYm9vbCBoYXNMb2Fk
ZWRDYWNoZWRJbWFnZSgpIGNvbnN0OwogICAgIGJvb2wgaGFzSW1hZ2UoKSBjb25zdCB7IHJldHVy
biBtX25leHQgPyBoYXNJbWFnZUluQW55TGF5ZXIoKSA6IG1faW1hZ2U7IH0KICAgICBib29sIGhh
c0ZpeGVkSW1hZ2UoKSBjb25zdDsKICAgICBib29sIGhhc09wYXF1ZUltYWdlKGNvbnN0IFJlbmRl
ckVsZW1lbnQmKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmNwcAkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQ0LDYg
KzQ0NCwyMSBAQCBib29sIFJlbmRlclN0eWxlOjpkZXNjZW5kYW50QWZmZWN0aW5nTm9uCiAgICAg
ICAgICYmIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmp1c3RpZnlJdGVtcyA9PSBvdGhlci5tX3Jh
cmVOb25Jbmhlcml0ZWREYXRhLT5qdXN0aWZ5SXRlbXM7CiB9CiAKK2Jvb2wgUmVuZGVyU3R5bGU6
Omhhc1BhaW50YWJsZUNhY2hlZEJhY2tncm91bmRJbWFnZSgpIGNvbnN0Cit7CisgICAgaWYgKCFo
YXNCYWNrZ3JvdW5kSW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgY29uc3Qg
RmlsbExheWVyJiBiYWNrZ3JvdW5kID0gYmFja2dyb3VuZExheWVycygpOworICAgIGlmICghYmFj
a2dyb3VuZC5oYXNMb2FkZWRDYWNoZWRJbWFnZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBpZiAoYmFja2dyb3VuZFNpemVMZW5ndGgoKS5pc0VtcHR5KCkgJiYgYmFja2dyb3VuZFNp
emVUeXBlKCkgPT0gRmlsbFNpemVUeXBlOjpTaXplKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKwogI2lmIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCiAKIHN0
YXRpYyBpbmxpbmUgdW5zaWduZWQgY29tcHV0ZUZvbnRIYXNoKGNvbnN0IEZvbnRDYXNjYWRlJiBm
b250KQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmgJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MTUsNiArNDE1LDcgQEAgcHVibGljOgog
ICAgIGNvbnN0IExlbmd0aFNpemUmIGJhY2tncm91bmRTaXplTGVuZ3RoKCkgY29uc3QgeyByZXR1
cm4gbV9iYWNrZ3JvdW5kRGF0YS0+YmFja2dyb3VuZC5zaXplTGVuZ3RoKCk7IH0KICAgICBGaWxs
TGF5ZXImIGVuc3VyZUJhY2tncm91bmRMYXllcnMoKSB7IHJldHVybiBtX2JhY2tncm91bmREYXRh
LmFjY2VzcygpLmJhY2tncm91bmQ7IH0KICAgICBjb25zdCBGaWxsTGF5ZXImIGJhY2tncm91bmRM
YXllcnMoKSBjb25zdCB7IHJldHVybiBtX2JhY2tncm91bmREYXRhLT5iYWNrZ3JvdW5kOyB9Cisg
ICAgYm9vbCBoYXNQYWludGFibGVDYWNoZWRCYWNrZ3JvdW5kSW1hZ2UoKSBjb25zdDsKIAogICAg
IFN0eWxlSW1hZ2UqIG1hc2tJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRl
ZERhdGEtPm1hc2suaW1hZ2UoKTsgfQogICAgIEZpbGxSZXBlYXQgbWFza1JlcGVhdFgoKSBjb25z
dCB7IHJldHVybiBzdGF0aWNfY2FzdDxGaWxsUmVwZWF0PihtX3JhcmVOb25Jbmhlcml0ZWREYXRh
LT5tYXNrLnJlcGVhdFgoKSk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHUm9vdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdSb290LmNwcAkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQ3
LDQgKzQ0Nyw5IEBAIHZvaWQgUmVuZGVyU1ZHUm9vdDo6YWRkUmVzb3VyY2VGb3JDbGllbnQKICAg
ICBzdmdSb290LT5tX3Jlc291cmNlc05lZWRpbmdUb0ludmFsaWRhdGVDbGllbnRzLmFkZChyZXNv
dXJjZSk7CiB9CiAKK2Jvb2wgUmVuZGVyU1ZHUm9vdDo6aGFzT3duUGFpbnRhYmxlQ29udGVudCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIFNWR1JlbmRlclN1cHBvcnQ6Omhhc1JlbmRlcmFibGVDaGls
ZHJlbigqdGhpcyk7ICAgIAorfQorCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR1Jvb3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jvb3QuaAkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYg
KzYyLDggQEAgcHVibGljOgogICAgIC8vIG1ldGhvZCBkdXJpbmcgbGF5b3V0IHdoZW4gdGhleSBh
cmUgaW52YWxpZGF0ZWQgYnkgYSBmaWx0ZXIuCiAgICAgc3RhdGljIHZvaWQgYWRkUmVzb3VyY2VG
b3JDbGllbnRJbnZhbGlkYXRpb24oUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqKTsKIAorICAg
IGJvb2wgaGFzT3duUGFpbnRhYmxlQ29udGVudCgpIGNvbnN0IG92ZXJyaWRlOworCiBwcml2YXRl
OgogICAgIHZvaWQgZWxlbWVudCgpIGNvbnN0ID0gZGVsZXRlOwogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAJKHJldmlzaW9u
IDI1OTM3OCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9y
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0OCw2ICsxNDgsMjMgQEAgc3RhdGljIGlubGluZSB2
b2lkIHVwZGF0ZU9iamVjdEJvdW5kaW5nQgogICAgIG9iamVjdEJvdW5kaW5nQm94LnVuaXRlRXZl
bklmRW1wdHkob3RoZXJCb3VuZGluZ0JveCk7CiB9CiAKKworYm9vbCBTVkdSZW5kZXJTdXBwb3J0
OjpoYXNSZW5kZXJhYmxlQ2hpbGRyZW4oY29uc3QgUmVuZGVyRWxlbWVudCYgY29udGFpbmVyKQor
eworICAgIGZvciAoYXV0byYgY3VycmVudCA6IGNoaWxkcmVuT2ZUeXBlPFJlbmRlck9iamVjdD4o
Y29udGFpbmVyKSkgeworICAgICAgICBpZiAoY3VycmVudC5pc1NWR0hpZGRlbkNvbnRhaW5lcigp
KQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgLy8gRG9uJ3QgaW5jbHVkZSBlbGVt
ZW50cyBpbiB0aGUgdW5pb24gdGhhdCBkbyBub3QgcmVuZGVyLgorICAgICAgICBpZiAoaXM8UmVu
ZGVyU1ZHU2hhcGU+KGN1cnJlbnQpICYmIGRvd25jYXN0PFJlbmRlclNWR1NoYXBlPihjdXJyZW50
KS5pc1JlbmRlcmluZ0Rpc2FibGVkKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgU1ZH
UmVuZGVyU3VwcG9ydDo6Y29tcHV0ZUNvbnRhaW5lckJvdW5kaW5nQm94ZXMoY29uc3QgUmVuZGVy
RWxlbWVudCYgY29udGFpbmVyLCBGbG9hdFJlY3QmIG9iamVjdEJvdW5kaW5nQm94LCBib29sJiBv
YmplY3RCb3VuZGluZ0JveFZhbGlkLCBGbG9hdFJlY3QmIHN0cm9rZUJvdW5kaW5nQm94LCBGbG9h
dFJlY3QmIHJlcGFpbnRCb3VuZGluZ0JveCkKIHsKICAgICBvYmplY3RCb3VuZGluZ0JveCA9IEZs
b2F0UmVjdCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJT
dXBwb3J0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdS
ZW5kZXJTdXBwb3J0LmgJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oCSh3b3JraW5nIGNvcHkpCkBAIC04OSw2ICs4OSw4
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVuZGVyU1ZHUm9vdCogZmluZFRyZWVSb290T2JqZWN0
KFJlbmRlckVsZW1lbnQmKTsKICAgICBzdGF0aWMgY29uc3QgUmVuZGVyU1ZHUm9vdCogZmluZFRy
ZWVSb290T2JqZWN0KGNvbnN0IFJlbmRlckVsZW1lbnQmKTsKIAorICAgIHN0YXRpYyBib29sIGhh
c1JlbmRlcmFibGVDaGlsZHJlbihjb25zdCBSZW5kZXJFbGVtZW50Jik7CisKIHByaXZhdGU6CiAg
ICAgLy8gVGhpcyBjbGFzcyBpcyBub3QgY29uc3RydWN0YWJsZS4KICAgICBTVkdSZW5kZXJTdXBw
b3J0KCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wNC0wMiAgTm9h
bSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAo
Zmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBhIHJ1bnRpbWUgZmxhZyBmb3IgcGFpbnQtdGltaW5nIChwYWlu
dFRpbWluZ0VuYWJsZWQpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAo
V0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVu
Y2VzR2V0UGFpbnRUaW1pbmdFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlc1JlZlByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0Nv
bnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6dXBkYXRlUHJlZmVyZW5jZXNTdG9yZSk6CisKIDIwMjAt
MDQtMDEgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtD
b2NvYV0gVVRJIGZyb20gTUlNRSB0eXBlIGNhY2hlIGNhbiBiZSByZW1vdmVkIGFmdGVyIHIyNTg5
MTUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAkocmV2aXNp
b24gMjU5Mzc4KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAko
d29ya2luZyBjb3B5KQpAQCAtODM5LDYgKzgzOSwxMyBAQCBVc2VyVGltaW5nRW5hYmxlZDoKICAg
aHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFVzZXJUaW1pbmcgQVBJIgogICB3ZWJj
b3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCitQYWludFRpbWluZ0VuYWJsZWQ6
CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiB0cnVlCisgIGh1bWFuUmVhZGFibGVOYW1l
OiAiUGFpbnQgVGltaW5nIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgUGFp
bnQgVGltaW5nIEFQSSIKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMK
KwogQmVhY29uQVBJRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMu
Y3BwCShyZXZpc2lvbiAyNTkzNzgpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgxOSw2ICsxODE5LDE2IEBAIGJv
b2wgV0tQcmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFcKICAgICByZXR1cm4gdG9JbXBs
KHByZWZlcmVuY2VzUmVmKS0+dXNlclRpbWluZ0VuYWJsZWQoKTsKIH0KIAordm9pZCBXS1ByZWZl
cmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYsIGJvb2wgZmxhZykKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRQYWludFRp
bWluZ0VuYWJsZWQoZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5n
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0
b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5wYWludFRpbWluZ0VuYWJsZWQoKTsKK30KKwogdm9pZCBX
S1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5z
ZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoZmxhZyk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgJKHJldmlz
aW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXNSZWZQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwMCw2ICs1MDAsMTAgQEAgV0tfRVhQ
T1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbgogV0tfRVhQT1JUIGJvb2wgV0tQcmVm
ZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCiAvLyBEZWZh
dWx0cyB0byBmYWxzZQorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5n
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOworV0tfRVhQT1JUIGJvb2wgV0tQ
cmVmZXJlbmNlc0dldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKKworLy8g
RGVmYXVsdHMgdG8gZmFsc2UKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRSZXNvdXJj
ZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9SVCBi
b29sIFdLUHJlZmVyZW5jZXNHZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1Jl
Zik7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAJKHJldmlzaW9u
IDI1OTM3OCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIyLDYgKzEyMiw3IEBA
IHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGEKICAgICBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENhY2hlQVBJRW5hYmxlZChzdG9yZS5n
ZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNhY2hlQVBJRW5hYmxlZEtleSgp
KSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRj
aEFQSUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpm
ZXRjaEFQSUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5
KFdlYlByZWZlcmVuY2VzS2V5Ojp1c2VyVGltaW5nRW5hYmxlZEtleSgpKSk7CisgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJsZWQo
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYWludFRpbWluZ0Vu
YWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQ
cmVmZXJlbmNlc0tleTo6cmVzb3VyY2VUaW1pbmdFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJS2VlcEFsaXZlRW5h
YmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZldGNoQVBJ
S2VlcEFsaXZlRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRSZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzKHN0b3JlLmdldEJv
b2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVzdHJpY3RlZEhUVFBSZXNwb25zZUFj
Y2Vzc0tleSgpKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
NTkzNzgpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wNC0wMiAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWlu
dCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBh
IHByZWZlcmVuY2Uga2V5IGZvciBwYWludCB0aW1pbmcuCisKKyAgICAgICAgKiBXZWJWaWV3L1dl
YlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAg
KC1bV2ViUHJlZmVyZW5jZXMgcGFpbnRUaW1pbmdFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlBy
ZWZlcmVuY2VzIHNldFBhaW50VGltaW5nRW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dl
YlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKwog
MjAyMC0wMy0zMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAg
ICAgICBEYXRhbGlzdCBvcHRpb24ncyBsYWJlbCBub3QgdXNlZApJbmRleDogU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJp
dmF0ZS5oCShyZXZpc2lvbiAyNTkzNzgpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNjAsNiAr
MjYwLDcgQEAKICNkZWZpbmUgV2ViS2l0QXR0YWNobWVudEVsZW1lbnRFbmFibGVkUHJlZmVyZW5j
ZUtleSBAIldlYktpdEF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0SW50
ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEludGVyc2VjdGlv
bk9ic2VydmVyRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TWVudUl0ZW1FbGVtZW50RW5hYmxlZFBy
ZWZlcmVuY2VLZXkgQCJXZWJLaXRNZW51SXRlbUVsZW1lbnRFbmFibGVkIgorI2RlZmluZSBXZWJL
aXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UGFpbnRUaW1pbmdFbmFi
bGVkIgogI2RlZmluZSBXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJL
aXRVc2VyVGltaW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVk
UHJlZmVyZW5jZUtleSBAIldlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZCIKICNkZWZpbmUgV2Vi
S2l0TWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnRQcmVmZXJlbmNlS2V5
IEAiV2ViS2l0TWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQiCkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMu
bW0JKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTY4Myw2ICs2ODMsNyBAQCArICh2
b2lkKWluaXRpYWxpemUKICNpZiBFTkFCTEUoSU5URVJTRUNUSU9OX09CU0VSVkVSKQogICAgICAg
ICBATk8sIFdlYktpdEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXksCiAj
ZW5kaWYKKyAgICAgICAgQE5PLCBXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5
LAogICAgICAgICBATk8sIFdlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAg
ICAgICAgQE5PLCBXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAg
ICAgICBATk8sIFdlYktpdE1lZGlhVXNlckdlc3R1cmVJbmhlcml0c0Zyb21Eb2N1bWVudCwKQEAg
LTMzMDgsNiArMzMwOSwxNiBAQCAtICh2b2lkKXNldFVzZXJUaW1pbmdFbmFibGVkOihCT09MKWZs
YWcKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFVzZXJUaW1pbmdF
bmFibGVkUHJlZmVyZW5jZUtleV07CiB9CiAKKy0gKEJPT0wpcGFpbnRUaW1pbmdFbmFibGVkCit7
CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UGFpbnRUaW1pbmdFbmFi
bGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0UGFpbnRUaW1pbmdFbmFibGVkOihC
T09MKWZsYWcKK3sKKyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFBh
aW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCiAtIChCT09MKXJlc291cmNlVGlt
aW5nRW5hYmxlZAogewogICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFJl
c291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOwpJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCShy
ZXZpc2lvbiAyNTkzNzgpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02NjEsNiArNjYxLDcgQEAgQGlu
dGVyZmFjZSBXZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZSkKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
KSBCT09MIGtleWdlbkVsZW1lbnRFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wg
dXNlclRpbWluZ0VuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCByZXNvdXJjZVRp
bWluZ0VuYWJsZWQ7CitAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBwYWludFRpbWluZ0VuYWJs
ZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBsaW5rUHJlbG9hZEVuYWJsZWQ7CiBAcHJv
cGVydHkgKG5vbmF0b21pYykgQk9PTCBtZWRpYVVzZXJHZXN0dXJlSW5oZXJpdHNGcm9tRG9jdW1l
bnQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBpc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVF
bmFibGVkOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMTk2LDYgKzMxOTYsNyBAQCAtICh2b2lkKV9w
cmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFVzZXJUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnVz
ZXJUaW1pbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldFJlc291cmNlVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5yZXNvdXJjZVRpbWlu
Z0VuYWJsZWQpOworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0UGFpbnRUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnBhaW50VGltaW5nRW5hYmxlZCk7CiAg
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMaW5rUHJlbG9h
ZEVuYWJsZWQocHJlZmVyZW5jZXMubGlua1ByZWxvYWRFbmFibGVkKTsKICAgICBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQo
cHJlZmVyZW5jZXMubWVkaWFQcmVsb2FkaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRJc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFi
bGVkKHByZWZlcmVuY2VzLmlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQpOwpJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dl
YktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAK
KzIwMjAtMDQtMDIgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAg
IEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgcHJlZmVyZW5jZSBrZXkgZm9yIHBh
aW50LXRpbWluZy4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0
ZS5pZGw6CisgICAgICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICog
V2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAg
ICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5n
ZWQpOgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXMuaWRsOgorICAgICAg
ICAqIEludGVyZmFjZXMvV2ViS2l0LmlkbDoKKyAgICAgICAgICAgICAgICBUb3VjaGVkIHRvIHRy
aWdnZXIgYnVpbGQuCisKIDIwMjAtMDMtMzAgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgc2Nyb2xsSW50b1ZpZXcoKSBlcnJvbmVvdXNseSBzY3JvbGxz
IG5vbi1jb250YWluaW5nIGJsb2NrIHNjcm9sbGVycwpJbmRleDogU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDI1OTM3
OCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xOTcsNiArMTk3LDggQEAKIAogI2RlZmluZSBXZWJLaXRVc2Vy
VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFVzZXJUaW1pbmdFbmFibGVkIgogCisj
ZGVmaW5lIFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFBhaW50
VGltaW5nRW5hYmxlZCIKKwogI2RlZmluZSBXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVm
ZXJlbmNlS2V5ICJXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0
TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0TGlua1ByZWxvYWRFbmFibGVk
IgpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkocmV2
aXNpb24gMjU5Mzc4KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjYsNiArMzI2LDggQEAgdm9pZCBXZWJQcmVmZXJlbmNl
czo6aW5pdGlhbGl6ZURlZmF1bHRTZQogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVs
dHMsIENGU1RSKFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZC
b29sZWFuRmFsc2UpOwogCisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RS
KFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2Up
OworCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdExpbmtQ
cmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCiAgICAgQ0ZE
aWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdE1lZGlhUHJlbG9hZGluZ0Vu
YWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKQEAgLTI0MTQsNiArMjQxNiwy
MCBAQCBIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpyZXNvdXJjZVRpbWluZ0VuCiAgICAgcmV0dXJu
IFNfT0s7CiB9CiAKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFBhaW50VGltaW5nRW5hYmxl
ZChCT09MIGVuYWJsZWQpCit7CisgICAgc2V0Qm9vbFZhbHVlKFdlYktpdFBhaW50VGltaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXksIGVuYWJsZWQpOworICAgIHJldHVybiBTX09LOworfQorCitIUkVT
VUxUIFdlYlByZWZlcmVuY2VzOjpwYWludFRpbWluZ0VuYWJsZWQoX091dF8gQk9PTCogZW5hYmxl
ZCkKK3sKKyAgICBpZiAoIWVuYWJsZWQpCisgICAgICAgIHJldHVybiBFX1BPSU5URVI7CisgICAg
KmVuYWJsZWQgPSBib29sVmFsdWVGb3JLZXkoV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVy
ZW5jZUtleSk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6
OnNlcnZlclRpbWluZ0VuYWJsZWQoX091dF8gQk9PTCogZW5hYmxlZCkKIHsKICAgICBpZiAoIWVu
YWJsZWQpCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgJKHJl
dmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2Vz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTMwNyw2ICszMDcsOCBAQCBwdWJsaWM6CiAgICAgLy8gSVdl
YlByZWZlcmVuY2VzUHJpdmF0ZTgKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhfT3V0XyBCT09MKik7CiAgICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldEFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVS
THMoQk9PTCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHBhaW50VGlt
aW5nRW5hYmxlZChfT3V0XyBCT09MKik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIHNldFBhaW50VGltaW5nRW5hYmxlZChCT09MKTsKIAogICAgIC8vIFdlYlByZWZlcmVu
Y2VzCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiAyNTkz
NzgpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTI4NSw2ICs1Mjg1LDExIEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5j
ZXNDaGFuZ2UKICAgICAgICAgcmV0dXJuIGhyOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQoISFlbmFibGVkKTsKIAorICAg
IGhyID0gcHJlZnNQcml2YXRlLT5wYWludFRpbWluZ0VuYWJsZWQoJmVuYWJsZWQpOworICAgIGlm
IChGQUlMRUQoaHIpKQorICAgICAgICByZXR1cm4gaHI7CisgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJsZWQoISFlbmFibGVkKTsK
KwogICAgIGhyID0gcHJlZnNQcml2YXRlLT5yZXNvdXJjZVRpbWluZ0VuYWJsZWQoJmVuYWJsZWQp
OwogICAgIGlmIChGQUlMRUQoaHIpKQogICAgICAgICByZXR1cm4gaHI7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXMu
aWRsCShyZXZpc2lvbiAyNTkzNzgpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZh
Y2VzL0lXZWJQcmVmZXJlbmNlcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDA2LTIwMjAgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkluZGV4OiBTb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZl
cmVuY2VzUHJpdmF0ZS5pZGwJKHJldmlzaW9uIDI1OTM3OCkKKysrIFNvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTI2NSw0ICsyNjUsNiBAQCBpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTgg
OiBJV2ViCiB7CiAgICAgSFJFU1VMVCBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKFtvdXQs
IHJldHZhbF0gQk9PTCogZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBzZXRBbGxvd1RvcE5hdmlnYXRp
b25Ub0RhdGFVUkxzKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIHBhaW50VGltaW5n
RW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKKyAgICBIUkVTVUxUIHNldFBhaW50VGltaW5n
RW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9JbnRlcmZhY2VzL1dlYktpdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExl
Z2FjeS93aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsCShyZXZpc2lvbiAyNTkzNzgpCisrKyBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL1dlYktpdC5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBjcHBfcXVvdGUoIi8qIikKLWNwcF9xdW90ZSgiICog
Q29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDE1IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4iKQorY3BwX3F1b3RlKCIgKiBDb3B5cmlnaHQgKEMpIDIw
MDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTUsIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLiIpCiBjcHBfcXVvdGUoIiAqIikKIGNwcF9xdW90ZSgiICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
IikKIGNwcF9xdW90ZSgiICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIikKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTM3OCkKKysrIFRvb2xzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA0LTAyICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChm
aXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHByZWZlcmVuY2Uga2V5IGZvciBwYWludC10aW1pbmcuCisKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChy
ZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJl
bmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0
Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpyZXNldFByZWZl
cmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKwogMjAyMC0wNC0wMSAgUGVyIEFybmUgVm9sbGFu
ICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBVVEkgZnJvbSBNSU1FIHR5
cGUgY2FjaGUgY2FuIGJlIHJlbW92ZWQgYWZ0ZXIgcjI1ODkxNQpJbmRleDogVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMjU5Mzc4KQorKysgVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0xMDA0LDYgKzEwMDQsNyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVuY2VzVG9Db25z
aXN0CiAgICAgW3ByZWZlcmVuY2VzIHNldE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkOllFU107
CiAgICAgW3ByZWZlcmVuY2VzIHNldFJlc291cmNlVGltaW5nRW5hYmxlZDpZRVNdOwogICAgIFtw
cmVmZXJlbmNlcyBzZXRVc2VyVGltaW5nRW5hYmxlZDpZRVNdOworICAgIFtwcmVmZXJlbmNlcyBz
ZXRQYWludFRpbWluZ0VuYWJsZWQ6WUVTXTsKIAogICAgIFtwcmVmZXJlbmNlcyBzZXRDYWNoZUFQ
SUVuYWJsZWQ6Tk9dOwogICAgIHByZWZlcmVuY2VzLm1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxlZCA9
IFlFUzsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNw
cAkocmV2aXNpb24gMjU5Mzc4KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5k
ZXJUcmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTIxLDYgKzkyMSw3IEBAIHN0YXRpYyB2b2lk
IHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGkKICAgICBwcmVmc1ByaXZhdGUtPnNldEFsbG93
VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMob3B0aW9ucy5hbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFV
UkxzKTsKICAgICBwcmVmZXJlbmNlcy0+c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChvcHRpb25z
LnVzZUVwaGVtZXJhbFNlc3Npb24pOwogICAgIHByZWZlcmVuY2VzLT5zZXRVc2VzUGFnZUNhY2hl
KG9wdGlvbnMuZW5hYmxlQmFja0ZvcndhcmRDYWNoZSk7CisgICAgcHJlZnNQcml2YXRlLT5zZXRQ
YWludFRpbWluZ0VuYWJsZWQoVFJVRSk7CiB9CiAKIHN0YXRpYyBTdHJpbmcgYXBwbGljYXRpb25J
ZCgpCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkocmV2
aXNpb24gMjU5Mzc4KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTkzMSw2ICs5MzEsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVy
OjpyZXNldFByZWZlcmVuY2VzVG9DCiAgICAgV0tQcmVmZXJlbmNlc1NldEZldGNoQVBJS2VlcEFs
aXZlRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFJlc291
cmNlVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1Nl
dFVzZXJUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKKyAgICBXS1ByZWZlcmVuY2Vz
U2V0UGFpbnRUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVu
Y2VzU2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQ
cmVmZXJlbmNlc1NldE1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmUocHJlZmVyZW5jZXMsIHRydWUp
OwogICAgIFdLUHJlZmVyZW5jZXNTZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lu
bGluZUF0dHJpYnV0ZShwcmVmZXJlbmNlcywgZmFsc2UpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5
Mzc4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MzEgQEAKKzIwMjAtMDQtMDIgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisg
ICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0cyBmb3Igc29t
ZSBmaXJzdC1jb250ZW50ZnVsLXBhaW50IChGQ1ApIHVzZS1jYXNlcy4KKworICAgICAgICAqIHBl
cmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanM6IEFk
ZGVkLgorICAgICAgICAgICAgICAgIFRlc3QgZXhpc3RlbmNlIG9mIHBhaW50IHRpbWluZyBBUEkg
b24gdGhlIHdpbmRvdyBvYmplY3QuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3Qt
Y29udGVudGZ1bC1wYWludC1mcmFtZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBw
ZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMuaHRtbDogQWRkZWQu
CisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtd2l0aC13
b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmly
c3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
ZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sOiBBZGRlZC4KKyAgICAg
ICAgICAgICAgICBUZXN0IHRoYXQgRkNQIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNyb3NzLW9yaWdp
biBmcmFtZXMgYW5kIHdvcmtlcnMuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVyZm9y
bWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1j
b250ZW50ZnVsLXBhaW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9y
ZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5jIHdhaXRG
b3JGQ1ApOgorICAgICAgICAgICAgICAgIFRlc3QgdGhhdCBwZXJmb3JtYW5jZSBvYnNlcnZlcnMg
YXJlIGNhbGxlZCBmb3IgRkNQLgorCiAyMDIwLTA0LTAxICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRk
YWRAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIHN2Zy9hcy1iYWNrZ3JvdW5kLWltYWdlL3Rp
bGVkLWJhY2tncm91bmQtaW1hZ2UuaHRtbCBpcyBhIGZsYWt5IGltYWdlIGZhaWx1cmUKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5Mzc4KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDc4
IEBACisyMDIwLTA0LTAyICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wb3J0ZWQgdGVzdC1zdWl0ZSBm
cm9tIHczYyB0byBjb3ZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhc2VzLgorICAgICAgICBU
aGUgZmNwLW9ubHkgY2FzZXMgYXJlIGltcG9ydGVkLCB3aGlsZSB0aGUgb3RoZXIgb25lcyBhcmUg
bm90IHNpbmNlIFdlYktpdCBkb2VzIG5vdCBzdXBwb3J0IGZpcnN0LXBhaW50LgorCisgICAgICAg
ICogcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3
by1zdGVwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS1zY2FsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLXNjYWxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LWRpc3BsYXkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtdGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1l
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2Ut
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xl
LnN2ZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9y
ZXNvdXJjZXMvY2lyY2xlcy5wbmc6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZy
YW1lLXNlbmRpbmctcGFpbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanM6IEFkZGVkLgorICAgICAgICAod2Fp
dFRpbWUpOgorICAgICAgICAoYXN5bmMgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCk6Cisg
ICAgICAgIChhc3luYyBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCk6CisgICAgICAgICh0ZXN0
X2ZjcCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJj
ZXMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDIwLTAzLTMwICBEZXZpbiBSb3Vzc28gIDxk
cm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ1NTIFNlbGVjdG9ycyA0XSBBZGQgc3VwcG9y
dCBmb3IgYDppcygpYCB3aXRoIHRoZSBzYW1lIGxvZ2ljIGZvciB0aGUgZXhpc3RpbmcgYDptYXRj
aGVzKClgCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1l
eHBlY3RhdGlvbnMuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgkocmV2aXNpb24gMjU5Mzc4KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpz
b24JKHdvcmtpbmcgY29weSkKQEAgLTEzLDYgKzEzLDggQEAKICAgICAiY3NzL2dlb21ldHJ5Ijog
ImltcG9ydCIsIAogICAgICJjc3Mvc3VwcG9ydCI6ICJpbXBvcnQiLCAKICAgICAiY3VzdG9tLWVs
ZW1lbnRzIjogImltcG9ydCIsIAorICAgICJwYWludC10aW1pbmcvIjogImltcG9ydCIsIAorICAg
ICJwYWludC10aW1pbmcvZmNwLW9ubHkiOiAiaW1wb3J0IiwgCiAgICAgInNoYWRvdy1kb20iOiAi
aW1wb3J0IiwgCiAgICAgInRvb2xzIjogImltcG9ydCIsIAogICAgICJ3ZWItYW5pbWF0aW9ucyI6
ICJpbXBvcnQiLCAKQEAgLTMxOSw3ICszMjEsOCBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMv
b3JpZW50YXRpb24tZXZlbnQiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvb3Jp
ZW50YXRpb24tc2Vuc29yIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BhZ2Ut
dmlzaWJpbGl0eSI6ICJza2lwIiwgCi0gICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmciOiAic2tpcCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5IjogImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtaGFu
ZGxlciI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LW1ldGhvZC1i
YXNpYy1jYXJkIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtbWV0
aG9kLWlkIjogInNraXAiLCAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgc2l6ZS4gCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWJhY2tncm91bmQtc2l6ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRl
c3Q6IEZDUCBkdWUgdG8gYmFja2dyb3VuZCBzaXplPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFp
biB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4v
cmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDA7Cisg
ICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNj
cmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgYmFja2dyb3VuZC1zaXpl
OiAxMDAlIDEwMCU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxz
Y3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRv
IGJhY2tncm91bmQgc2l6ZS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFj
a2dyb3VuZCBpbWFnZSBpbiBpbWFnZS1zZXQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1h
Z2Utc2V0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tncm91bmQgaW1h
Z2UgaW4gaW1hZ2Utc2V0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250
ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWlu
LmNvbnRlbnRmdWwgeworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWltYWdlLXNl
dCh1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKSAxeCk7CisgICAgICAgIGJhY2tncm91bmQt
aW1hZ2U6IGltYWdlLXNldCh1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKSAxeCk7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2Ug
aW4gaW1hZ2Utc2V0LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxlLiAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIHNob3VsZCBmaXJlIGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2
aXNpYmxlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBw
eDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGFu
ZCBwcmVGQ1AgY2xhc3NlcyBhcmUgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAg
I21haW4ucHJlRkNQIHsKKyAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOworICAgIH0KKworICAg
ICNtYWluLmNvbnRlbnRmdWwsICAjbWFpbi5wcmVGQ1AgeworICAgICAgICBiYWNrZ3JvdW5kLWlt
YWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAjbWFpbi5j
b250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKKyAgICB9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlz
aWJsZS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBDYW52YXMgc2hvdWxkIGNvdW50IGFzIGNvbnRlbnRmdWwgd2hlbiBjb250
ZXh0IGlzIGNyZWF0ZWQgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCB3aGVuIGNhbnZhcyBjb250ZXh0IGlzIGNyZWF0
ZWQ8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0
aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48
L2NhbnZhcz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3Nl
cnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGlt
aW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RD
b250ZW50ZnVsUGFpbnQoKTsKKyAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnY2FudmFzJyk7CisgICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOworICAgIGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgMTAwLCAxMDApOworICAgIGF3YWl0IGFz
c2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdDYW52YXMgc2hvdWxkIGNvdW50IGFz
IGNvbnRlbnRmdWwgd2hlbiBjb250ZXh0IGlzIGNyZWF0ZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBHcmFkaWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBj
b250ZW50ZnVsIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtZ3JhZGllbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0
OiBGQ1Agc2hvdWxkIG5vdCBmaXJlIHdpdGggZ3JhZGllbnQtb25seSBiYWNrZ3JvdW5kczwvdGl0
bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVu
dCh0byBib3R0b20sIG9yYW5nZSwgYmx1ZSk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJt
YWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAg
IGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWlu
dCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAgY29uc3QgbWFpbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdtYWluJyk7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9G
aXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAgJ0dyYWRpZW50cyBzaG91bGQgbm90IGNvdW50
IGFzIGNvbnRlbnRmdWwnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNk
LXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBp
dHMgYW5jZXN0b3IgZ2V0dGluZyByb3RhdGluZyBpbnRvIHZpZXcuIAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIDNkIHJl
dmVhbGluZyBvZiBkZXNjZW5kYW50czwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAg
ICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6
IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAg
ICAgIHRyYW5zZm9ybTogcm90YXRlWCg0NWRlZyk7CisgICAgICAgIHRyYW5zZm9ybS1zdHlsZTog
cHJlc2VydmUtM2Q7CisgICAgfQorCisgICAgLyoKKyAgICAgICBUaGlzIHRlc3RzIHRoYXQgZ2l2
ZW4gbXVsdGlwbGljYXRpb24gZWZmZWN0IG9mIDNkIHRyYW5zZm9ybXMgb24gYm91bmRpbmcgcmVj
dCwKKyAgICAgICBBbiBlbGVtZW50IGNvdW50cyBhcyBjb250ZW50ZnVsL3BhaW50YWJsZSBvbmx5
IHdoZW4gaXRzIGJvdW5kaW5nIHJlY3QgaXMgdHJ1bHkgbm9uLWVtcHR5ICovCisgICAgI2NoaWxk
IHsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDQ1ZGVnKTsKKyAgICB9CisKKyAgICAvKiBj
b250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNt
YWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJjaGlsZCI+VGV4dDwvZGl2PgorPC9k
aXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyByb3RhdGluZyBpbnRvIHZpZXcuIik7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qt
cm90YXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LTNkLXJvdGF0ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWlu
dmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NCBAQAorVGV4dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIDNk
IHJvdGF0aW9uIGludG8gdmlldy4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qt
cm90YXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3Rh
dGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0
ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8g
M2Qgcm90YXRpb24gaW50byB2aWV3PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDog
MHB4OworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoOTBkZWcpOworICAgICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVs
IGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRl
bnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2
IGlkPSJtYWluIj5UZXh0PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXcuIikKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2Fs
ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2Fs
ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mg
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gc2NhbGUgYmVjb21pbmcgcG9zaXRp
dmUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJh
bnNpdGlvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQgQEAKK1RFWFQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4g
cmV2ZWFsZWQgZHVyaW5nIHRyYW5zaXRpb24uIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBh
aW50IFRpbWluZyBUZXN0OiBGQ1AgaW4gdHJhbnNpdGlvbjwvdGl0bGU+Cis8c3R5bGU+CisgICAg
I21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKKyAgICAgICAg
dHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwczsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwor
ICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZp
bmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAg
ICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4i
PlRFWFQ8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcgdHJhbnNpdGlvbi4iKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJm
b3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBzY2FsZSBjaGFuZ2U8L3RpdGxl
PgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogc2Nh
bGUoMCk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAg
ICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAg
ICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2Ny
aXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7
CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91
dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAg
dGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHNjYWxlIGJlY29t
aW5nIHBvc2l0aXZlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNCBAQAorSU5WSVNJQkxFCisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4gCisKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1p
bnZpc2libGUtdGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBz
aG91bGQgc3RpbGwgZmlyZSBmb3IgaW52aXNpYmxlIHRleHQ8L3RpdGxlPgorPHN0eWxlPgorICAg
ICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAw
cHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsK
KyAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CisgICAgfQorCisgICAgLyogY29udGVu
dGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5j
b250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKKyAgICB9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIElOVklTSUJMRQorPC9kaXY+Cis8c2NyaXB0PgorICAg
IHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxl
bWVudCBiZWNvbWluZyB2aXNpYmxlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4dAorCitQQVNTIEZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHBvc2l0aXZlIG9w
YWNpdHkuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBl
cmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGFuY2VzdG9yIG9wYWNpdHk8
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9u
OiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0KKworICAgICNjaGlsZCB7CisgICAg
ICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBhbmQgaW50ZXJtZWRp
YXRlIGNsYXNzZXMgYXJlIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWlu
LmNvbnRlbnRmdWwgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0eTogMTsKKyAgICB9CisKKyAgICAj
bWFpbi5pbnRlcm1lZGlhdGUgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0eTogMTsKKyAgICB9CisK
KyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgeworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKwor
ICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFjaXR5OiAwLjU7CisgICAgfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJjaGlsZCI+VGV4dDwvZGl2Pgor
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiIpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVsZW1lbnQuIAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3BhY2l0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBl
cmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIG9wYWNpdHk8L3RpdGxlPgor
PHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2
ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVz
b3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAv
KiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAg
ICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFjaXR5OiAwLjE7CisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIG9wYWNpdHktcmV2ZWFsZWQgZWxlbWVudC4i
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1v
Zi1ib3VuZHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2Yt
Ym91bmRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9m
LWJvdW5kcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaW50ZXJzZWN0aW9uIHdpdGgg
ZG9jdW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRy
YW5zbGF0ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1v
Zi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byB0cmFuc2Zv
cm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBh
aW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBpbnRlcnNlY3Rpb24g
d2l0aCBkb2N1bWVudDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0
aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAg
ICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMDBweCk7CisgICAgICAgIHBvc2l0aW9uOiBy
ZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwo
Li4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNs
YXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRm
dWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlk
PSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1
bWVudC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3V0LW9mLWJvdW5kcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91
bmRzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGludGVy
c2VjdGlvbiB3aXRoIGRvY3VtZW50PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDog
LTEwMDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7Cisg
ICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOwor
ICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBz
Y3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIGxlZnQ6IDBweDsKKyAg
ICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxz
LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0
X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaW50ZXJzZWN0aW9uIHdp
dGggZG9jdW1lbnQuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4gCisKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+
Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAj
bWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgZGlzcGxheTog
bm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBk
aXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGltYWdlLiAKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5j
ZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZTwvdGl0
bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cisg
ICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAg
ICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLwor
ICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBjb250ZW50OiB1cmwoLi4vcmVz
b3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgor
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisK
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0
eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAor
CitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50
IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1vcGFjaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LW9wYWNpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtb3BhY2l0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRl
c3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5PC90
aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKwor
ICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiOworICAgICAgICBvcGFj
aXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0
ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAg
IG9wYWNpdHk6IDAuNTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIikKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRl
eHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC10ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBA
CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1l
bnQgdGV4dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0
bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1l
bnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjog
cmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Ag
c2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBjb250ZW50
OiAiVEVYVCIKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2Ny
aXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBw
c2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlz
aWJpbGl0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVj
b21pbmcgdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNp
YmlsaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZp
c2liaWxpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtdmlzaWJpbGl0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6
IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZTwvdGl0bGU+Cis8c3R5
bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjph
ZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgdmlzaWJpbGl0eTogaGlk
ZGVuOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0
X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAgIHZp
c2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwv
ZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4iKQorPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gU1ZHIGJlY29t
ZXMgY29udGVudGZ1bC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXN2Zy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCB3aXRo
IFNWRzwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7
CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgcG9z
aXRpb246IHJlbGF0aXZlOworICAgIH0KKworICAgICNjaXJjbGUgeworICAgICAgZGlzcGxheTog
bm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI2NpcmNsZSB7CisgICAgICAg
IGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgIDxz
dmcgdmlld0JveD0iMCAwIDEwIDEwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
CisgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKyAgICA8
ZGVmcz4KKyAgICAgIDxjaXJjbGUgaWQ9Im15Q2lyY2xlIiBjeD0iNSIgY3k9IjUiIHI9IjQiIHN0
cm9rZT0iYmx1ZSIvPgorICAgIDwvZGVmcz4KKyAgICA8dXNlIGlkPSJjaXJjbGUiIGhyZWY9IiNt
eUNpcmNsZSIgZmlsbD0iZ3JlZW4iIC8+CisgIDwvc3ZnPgorPC9kaXY+Cis8c2NyaXB0PgorICAg
IHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gU1ZHIGJlY29tZXMg
Y29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAor
CisKK1BBU1MgVGV4dCBpbnB1dCBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBpdHMgdmFs
dWUgaXMgbm9uLWVtcHR5IAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50
IFRpbWluZyBUZXN0OiBGQ1AgZHVlIGZvciBub24tZW1wdHkgdGV4dCBpbnB1dDwvdGl0bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PGlucHV0IGlkPSJpbnB1dCIgdHlwZT0idGV4dCIgLz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVz
dChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1h
bmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAg
YXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIp
KTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICAgIGNv
bnN0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0Jyk7CisgICAgICBpbnB1
dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJyAgJyk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0
Q29udGVudGZ1bFBhaW50KCk7CisgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ3Zh
bHVlJyk7CisgICAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAn
VGV4dCBpbnB1dCBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBpdHMgdmFsdWUgaXMgbm9u
LWVtcHR5Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNCBAQAorQQorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
b25seSB3aGVuIHNvbWUgb2YgdGhlIHRleHQgaXMgdmlzaWJsZSwgY29uc2lkZXJpbmcgOjpmaXJz
dC1sZXR0ZXIuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIG5vdCBmaXJlIHdoZW4g
YWxsIHRleHQgaXMgaGlkZGVuIGR1ZSB0byB0eXBvZ3JhcGhpYyBwc2V1ZG8tZWxlbWVudHM8L3Rp
dGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwor
ICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisg
ICAgI21haW4gKjo6Zmlyc3QtbGV0dGVyIHsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisK
KyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAq
LworICAgICNtYWluLmNvbnRlbnRmdWwgKjo6Zmlyc3QtbGV0dGVyIHsKKyAgICAgICAgb3BhY2l0
eTogMTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXY+QTwvZGl2
PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIG9ubHkgd2hlbiBzb21lIG9mIHRoZSB0ZXh0IGlzIHZpc2libGUsIGNvbnNpZGVyaW5n
IDo6Zmlyc3QtbGV0dGVyLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NCBAQAorCisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gZmlyc3Qg
ZnJhbWUgaXMgbG9hZGVkIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBh
aW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRlZCB2aWRlbyBmcmFtZTwvdGl0bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHZpZGVvIGlkPSJ2aWRlbyIgYXV0b3BsYXk+PC92aWRlbz4KKzxzY3JpcHQ+CisgIHByb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAg
ICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcs
IHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICAg
IGNvbnN0IHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpZGVvJyk7CisgICAgICB2
aWRlby5zZXRBdHRyaWJ1dGUoJ3NyYycsICcvbWVkaWEvdGVzdC5tcDQnKTsKKyAgICAgIGF3YWl0
IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICB2aWRlby5vbmNhbnBsYXkgPSByZXNv
bHZlOworICAgICAgfSk7CisgICAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgp
OworICB9LCAnVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gZmlyc3QgZnJhbWUg
aXMgbG9hZGVkJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBA
QAorCisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9zdGVyIGlz
IGxvYWRlZCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBU
aW1pbmcgVGVzdDogRkNQIGR1ZSB0byBsb2FkZWQgdmlkZW8gcG9zdGVyPC90aXRsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8dmlk
ZW8gaWQ9InZpZGVvIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvdmlkZW8+Cis8c2NyaXB0Pgor
ICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5k
b3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQu
Iik7CisgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcign
bG9hZCcsIHIpKTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7Cisg
ICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmlkZW8nKTsKKyAgICBj
b25zdCBzcmMgPSAnLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nJzsKKyAgICBjb25zdCBpbWFnZSA9
IG5ldyBJbWFnZSgpOworICAgIGltYWdlLnNyYyA9IHNyYzsKKyAgICB2aWRlby5zZXRBdHRyaWJ1
dGUoJ3Bvc3RlcicsIHNyYyk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Cisg
ICAgICAgIGltYWdlLm9ubG9hZCA9IGFzeW5jICgpID0+IHJlc29sdmUoKTsKKyAgICB9KQorICAg
IGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdWaWRlbyBzaG91bGQg
YmVjb21lIGNvbnRlbnRmdWwgd2hlbiBwb3N0ZXIgaXMgbG9hZGVkJyk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNTIFdoaXRlc3BhY2Ugc2hvdWxk
IG5vdCBjb3VudCBhcyBjb250ZW50ZnVsLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3Bh
Y2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogV2hpdGVzcGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNv
bnRlbnRmdWw8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246
IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcp
OworICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDAgMDsKKyAgICB9CisKKyAgICAjdGV4dCB7Cisg
ICAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBp
cyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICN0
ZXh0eworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9
Im1haW4iPgorICAgIDxkaXYgaWQ9IndoaXRlc3BhY2UiPiAgIDwvZGl2PgorICAgIDxkaXYgaWQ9
InRleHQiPlRFWFQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiV2hpdGVz
cGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwuIikKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgRkNQIHNob3VsZCBmaXJlIHdoZW4gY29vcmRp
bmF0ZXMgYXJlIG5lZ2F0aXZlLCBpZiB3aXRoaW4gZG9jdW1lbnQgc2Nyb2xsYWJsZSBhcmVhIAor
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atd2l0aC1ydGwuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1y
dGwuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRv
IGRpcmVjdGlvbiBjaGFuZ2U8L3RpdGxlPgorPHN0eWxlPgorICAjdGV4dCB7CisgICAgcmlnaHQ6
IC0xMDBweDsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgIH0KKworICBib2R5IHsKKyAgICBk
aXJlY3Rpb246IHJ0bDsKKyAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IGRpcmVjdGlvbj0i
UlRMIj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0i
dGV4dCI+VEVYVDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewor
ICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywg
IlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJvbWlz
ZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQg
YXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgICAgZG9jdW1lbnQuYm9keS5zdHls
ZS5kaXJlY3Rpb24gPSAnbHRyJworICAgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFp
bnQoKTsKKyAgfSwgJ0ZDUCBzaG91bGQgZmlyZSB3aGVuIGNvb3JkaW5hdGVzIGFyZSBuZWdhdGl2
ZSwgaWYgd2l0aGluIGRvY3VtZW50IHNjcm9sbGFibGUgYXJlYScpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS93M2MtaW1wb3J0LmxvZwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS93M2Mt
aW1wb3J0LmxvZwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACitUaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0Rv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNv
bS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2lt
cG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3Ig
cmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5k
LXNpemUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWJnLWltYWdlLXNldC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Z3JhZGllbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJv
dGF0ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLXRleHQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFu
c2xhdGUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLW92ZXJmbG93Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtdGV4dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBv
Z3JhcGhpYy1wc2V1ZG8uaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdp
dGgtcnRsLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy9jaXJjbGUuc3ZnCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3Zn
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSI+CisgICA8Y2lyY2xlIGN4PSIxMDAiIGN5PSI1
MCIgcj0iNDAiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgLz4K
Kzwvc3ZnPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KKzxkaXYgaWQ9ImltYWdlIj48L2Rpdj4K
KzxzY3JpcHQ+CisgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0lNRycpOwor
ICBpbWcuc3JjID0gJ2NpcmNsZXMucG5nJzsKKyAgaW1nLm9ubG9hZCA9IGZ1bmN0aW9uKCkgewor
ICAgIGZ1bmN0aW9uIHNlbmRQYWludEVudHJpZXMoKSB7CisgICAgICBjb25zdCBwYWludEVudHJp
ZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdwYWludCcpOworICAgICAgaWYgKHBh
aW50RW50cmllcy5sZW5ndGggPCAyKSB7CisgICAgICAgIHNldFRpbWVvdXQoc2VuZFBhaW50RW50
cmllcywgMjApOworICAgICAgICByZXR1cm47CisgICAgICB9CisgICAgICBsZXQgZW50cnlDb250
ZW50cyA9IHBhaW50RW50cmllcy5sZW5ndGggKyAnJzsKKyAgICAgIGZvciAobGV0IGkgPSAwOyBp
IDwgcGFpbnRFbnRyaWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gcGFp
bnRFbnRyaWVzW2ldOworICAgICAgICBlbnRyeUNvbnRlbnRzICs9ICcgJyArIGVudHJ5LmVudHJ5
VHlwZSArICcgJyAgKyBlbnRyeS5uYW1lOworICAgICAgfQorICAgICAgcGFyZW50LnBvc3RNZXNz
YWdlKGVudHJ5Q29udGVudHMsICcqJyk7CisgICAgfTsKKyAgICBzZW5kUGFpbnRFbnRyaWVzKCk7
CisgIH07CisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWFnZScpLmFwcGVuZENoaWxkKGlt
Zyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFt
ZS1zZW5kaW5nLXBhaW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNl
bmRpbmctcGFpbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2Vu
ZGluZy1wYWludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPHNjcmlwdD4KKyAgc2VsZi5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVu
Y3Rpb24oZSkgeworICAgIC8vIFNlbmQgcGFpbnQtdGltaW5nIGVudHJpZXMgdXBvbiByZWNlaXZp
bmcgYSBtZXNzYWdlLgorICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeVR5cGUoJ3BhaW50Jyk7CisgICAgbGV0IGVudHJ5Q29udGVudHMgPSBwYWludEVudHJp
ZXMubGVuZ3RoICsgJyc7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYWludEVudHJpZXMubGVu
Z3RoOyBpKyspIHsKKyAgICAgIGNvbnN0IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAgICAg
ZW50cnlDb250ZW50cyArPSAnICcgKyBlbnRyeS5lbnRyeVR5cGUgKyAnICcgICsgZW50cnkubmFt
ZTsKKyAgICB9CisgICAgcGFyZW50LnBvc3RNZXNzYWdlKGVudHJ5Q29udGVudHMsICcqJyk7Cisg
IH0pOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3V0aWxzLmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU2IEBACisvLyBOdW1iZXIgbWlsbGlzZWNvbmRzIHRv
IHdhaXQgZm9yIENTUyByZXNvdXJjZXMgdG8gbG9hZC4KK2NvbnN0IG51bU1pbGxpc2Vjb25kc1dh
aXQgPSA1MDsKKworLy8gV2UgdXNlIHJlcXVlc3RBbmltYXRpb25GcmFtZSgpIGNhbGxzIHRvIGZv
cmNlIHRoZSB1c2VyIGFnZW50IHRvIHBhaW50IGFuZCBnaXZlIGVub3VnaAorLy8gdGltZSBmb3Ig
RkNQIHRvIHNob3cgdXAgaW4gdGhlIHBlcmZvcm1hbmNlIHRpbWVsaW5lLiBIZW5jZSwgc2V0IHxu
dW1GcmFtZXNXYWl0aW5nfCB0bworLy8gMyBhbmQgdXNlIHRoYXQgY29uc3RhbnQgd2hlbmV2ZXIg
dGhlIHRlc3QgbmVlZHMgdG8gd2FpdCBmb3IgdGhlIG5leHQgcGFpbnQgdG8gb2NjdXIuCitjb25z
dCBudW1GcmFtZXNXYWl0aW5nID0gMzsKKworZnVuY3Rpb24gd2FpdFRpbWUodCkgeworICByZXR1
cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0LnN0ZXBfdGltZW91dChyZXNvbHZlLCBudW1NaWxs
aXNlY29uZHNXYWl0KSk7Cit9CisKK2Z1bmN0aW9uIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoY291
bnQpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGlmIChjb3VudC0t
IDw9IDApIHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9IGVsc2UgeworICAgICAgcmVxdWVzdEFu
aW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgd2FpdEZvckFuaW1hdGlvbkZyYW1lcyhjb3Vu
dCkudGhlbihyZXNvbHZlKTsKKyAgICAgIH0pOworICAgIH0KKyAgfSk7Cit9CisKKy8vIEFzc2Vy
dHMgdGhhdCB0aGVyZSBpcyBjdXJyZW50bHkgbm8gRkNQIHJlcG9ydGVkLCBldmVuIGFmdGVyIHNv
bWUgd2FpdC4KK2FzeW5jIGZ1bmN0aW9uIGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCkg
eworICBpZiAodCkKKyAgICBhd2FpdCB3YWl0VGltZSh0KTsKKworICBhd2FpdCB3YWl0Rm9yQW5p
bWF0aW9uRnJhbWVzKG51bUZyYW1lc1dhaXRpbmcpOworICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1h
bmNlLmdldEVudHJpZXNCeU5hbWUoJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5ndGgsIDAs
ICdGaXJzdCBjb250ZW50ZnVsIHBhaW50IG1hcmtlZCB0b28gZWFybHkuICcpOworfQorCisvLyBB
c3NlcnRzIHRoYXQgRkNQIGlzIHJlcG9ydGVkLCBwb3NzaWJseSBhZnRlciBzb21lIHdhaXQuIFRo
ZSB3YWl0IGlzIG5lZWRlZAorLy8gYmVjYXVzZSBzb21ldGltZXMgdGhlIEZDUCByZWxpZXMgb24g
c29tZSBDU1MgcmVzb3VyY2VzIHRvIGZpbmlzaCBsb2FkaW5nLgorYXN5bmMgZnVuY3Rpb24gYXNz
ZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQodCkgeworICBpZiAodCkKKyAgICBhd2FpdCB3YWl0VGlt
ZSh0KTsKKyAgYXdhaXQgd2FpdEZvckFuaW1hdGlvbkZyYW1lcyhudW1GcmFtZXNXYWl0aW5nKTsK
KyAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1jb250
ZW50ZnVsLXBhaW50JykubGVuZ3RoLCAxLCAnRXhwZWN0ZWQgZmlyc3QgY29udGVudGZ1bCBwYWlu
dCBub3QgZm91bmQuICcpOworfQorCitmdW5jdGlvbiB0ZXN0X2ZjcChsYWJlbCkgeworICBjb25z
dCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CisgIGRvY3VtZW50Lmhl
YWQuYXBwZW5kQ2hpbGQoc3R5bGUpOworICByZXR1cm4gcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4g
eworICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcs
ICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgIGNvbnN0IG1haW4gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbicpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4g
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgYXdhaXQgYXNzZXJ0Tm9G
aXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIG1haW4uY2xhc3NOYW1lID0gJ3ByZUZDUCc7Cisg
ICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIG1haW4uY2xhc3NO
YW1lID0gJ2NvbnRlbnRmdWwnOworICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50
KCk7CisgIH0sIGxhYmVsKTsKK30KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVz
b3VyY2VzL3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjEgQEAKK1Ro
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJ
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6
Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9U
IG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRp
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZp
bGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2Np
cmNsZS5zdmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNl
cy9jaXJjbGVzLnBuZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVz
b3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwpJbmRl
eDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGlt
aW5nLWFwaXMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxMyBAQAorQmFzaWMgSW50ZXJmYWNlIHRlc3QgZm9yIHBhaW50LXRpbWluZyBB
UElzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUGVyZm9ybWFuY2VQYWludFRp
bWluZworUEFTUyBQZXJmb3JtYW5jZVBhaW50VGltaW5nIGlzIGRlZmluZWQuCitQQVNTIFBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcucHJvdG90eXBlLnRvSlNPTiBpcyBkZWZpbmVkLgorUEFTUyBuZXcg
UGVyZm9ybWFuY2VQYWludFRpbWluZygpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IGZ1bmN0
aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgUGVyZm9ybWFuY2VQYWlu
dFRpbWluZygpJykuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1h
cGlzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50
LXRpbWluZy1hcGlzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
MCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZy
YW1lcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACitQYWludCBBUEkgc2hvdWxkIGJlIGF2
YWlsYWJsZSBmb3Igc2FtZS1vcmlnaW4gZnJhbWVzIGJ1dCBub3QgdG8gY3Jvc3Mtb3JpZ2luL3Nh
bmRib3hlZCBmcmFtZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHJl
Y2VpdmVkRXZlbnQuc291cmNlIGlzIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94
ZWQnKS5jb250ZW50V2luZG93CitQQVNTIHJlY2VpdmVkRW50cnkubmFtZSBpcyAnZmlyc3QtY29u
dGVudGZ1bC1wYWludCcKK1BBU1MgZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1l
IGlzIGZhbHNlCitQQVNTIEFycmF5LmlzQXJyYXkobm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzKSBp
cyB0cnVlCitQQVNTIEFycmF5LmlzQXJyYXkoc2FuZGJveFN1cHBvcnRlZFR5cGVzKSBpcyB0cnVl
CitQQVNTIGRpZFJlY2VpdmVNZXNzYWdlIGlzIHRydWUKK1BBU1Mgbm9uU2FuZGJveFN1cHBvcnRl
ZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIHRydWUKK1BBU1Mgc2FuZGJveFN1cHBvcnRlZFR5
cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIGZhbHNlCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIg
Zmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXMgZmlyZWQgZm9yIHNhbWUtb3JpZ2lu
IGZyYW1lIGJ1dCBub3QgZm9yIGNyb3NzLW9yaWdpbiBmcmFtZQorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKKworVEVYVApJbmRleDogTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmct
ZnJhbWVzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhU
TUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxz
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rp
dj4KKyAgICA8aWZyYW1lIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBpZD0ibm9uU2FuZGJveGVk
IiBzcmM9Ii4vcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sIj48L2lmcmFtZT4KKzxkaXYgY2xh
c3M9InNwYWNlciI+PC9kaXY+Cis8aWZyYW1lIGlkPSJzYW5kYm94ZWQiIHNyYz0iLi9yZXNvdXJj
ZXMvZmNwLXN1YmZyYW1lLmh0bWwiIHNhbmRib3g9ImFsbG93LXNjcmlwdHMiPjwvaWZyYW1lPgor
PGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKworICAgIFRFWFQKKworPHNjcmlwdD4KK2Rlc2Ny
aXB0aW9uKCJQYWludCBBUEkgc2hvdWxkIGJlIGF2YWlsYWJsZSBmb3Igc2FtZS1vcmlnaW4gZnJh
bWVzIGJ1dCBub3QgdG8gY3Jvc3Mtb3JpZ2luL3NhbmRib3hlZCBmcmFtZXMuIik7Cit3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7Cit3aW5kb3cuZGlkUmVjZWl2ZU1lc3NhZ2UgPSBmYWxzZTsK
Kword2luZG93Lm9ubG9hZCA9IGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBzYW5kYm94ZWQgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2FuZGJveGVkJyk7CisgICAgY29uc3Qgbm9uU2FuZGJv
eGVkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNhbmRib3hlZCcpOworICAgIGNvbnN0
IGZjcE1lc3NhZ2VQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIHdp
bmRvdy5vbm1lc3NhZ2UgPSBldmVudCA9PiB7CisgICAgICAgICAgICB3aW5kb3cucmVjZWl2ZWRF
dmVudCA9IGV2ZW50OworICAgICAgICAgICAgY29uc3QgaXNGcm9tU2FuZGJveGVkID0gZXZlbnQu
c291cmNlID09PSBzYW5kYm94ZWQuY29udGVudFdpbmRvdzsKKyAgICAgICAgICAgIGNvbnN0IG1l
c3NhZ2UgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpOworICAgICAgICAgICAgc3dpdGNoIChtZXNz
YWdlLnR5cGUpIHsKKyAgICAgICAgICAgICAgICBjYXNlICdzdXBwb3J0ZWQnOgorICAgICAgICAg
ICAgICAgICAgICBpZiAoaXNGcm9tU2FuZGJveGVkKQorICAgICAgICAgICAgICAgICAgICAgICAg
d2luZG93LnNhbmRib3hTdXBwb3J0ZWRUeXBlcyA9IG1lc3NhZ2Uuc3VwcG9ydGVkOworICAgICAg
ICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cubm9uU2Fu
ZGJveFN1cHBvcnRlZFR5cGVzID0gbWVzc2FnZS5zdXBwb3J0ZWQ7CisgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgJ3JlY2VpdmVkJzoKKyAgICAgICAgICAg
ICAgICAgICAgd2luZG93LmRpZFJlY2VpdmVNZXNzYWdlRnJvbVNhbmRib3hlZElmcmFtZSA9IGlz
RnJvbVNhbmRib3hlZDsKKyAgICAgICAgICAgICAgICAgICAgd2luZG93LnJlY2VpdmVkRW50cnkg
PSBtZXNzYWdlLmVudHJ5OworICAgICAgICAgICAgICAgICAgICBkaWRSZWNlaXZlTWVzc2FnZSA9
IHRydWU7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCdyZWNlaXZlZEV2ZW50LnNvdXJj
ZScsICJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJykuY29udGVudFdpbmRv
dyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgncmVjZWl2ZWRFbnRyeS5uYW1lJywg
IidmaXJzdC1jb250ZW50ZnVsLXBhaW50JyIpOworICAgICAgICAgICAgICAgICAgICByZXNvbHZl
KCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9
OworICAgIH0pOworCisgICAgc2FuZGJveGVkLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoInBh
aW50IiwgIioiKTsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgbm9uU2FuZGJveGVkLmNv
bnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoInBhaW50IiwgIioiKTsKKyAgICBhd2FpdCB3YWl0Rm9y
RkNQKCk7CisgICAgYXdhaXQgZmNwTWVzc2FnZVByb21pc2U7CisgICAgc2hvdWxkQmVGYWxzZSgn
ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1lJyk7CisgICAgc2hvdWxkQmVUcnVl
KCdBcnJheS5pc0FycmF5KG5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcyknKTsKKyAgICBzaG91bGRC
ZVRydWUoJ0FycmF5LmlzQXJyYXkoc2FuZGJveFN1cHBvcnRlZFR5cGVzKScpOworICAgIHNob3Vs
ZEJlVHJ1ZSgnZGlkUmVjZWl2ZU1lc3NhZ2UnKTsKKyAgICBzaG91bGRCZVRydWUoJ25vblNhbmRi
b3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygicGFpbnQiKScpOworICAgIHNob3VsZEJlRmFsc2Uo
J3NhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygicGFpbnQiKScpOworICAgIHRlc3RQYXNz
ZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3
YXMgZmlyZWQgZm9yIHNhbWUtb3JpZ2luIGZyYW1lIGJ1dCBub3QgZm9yIGNyb3NzLW9yaWdpbiBm
cmFtZSIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0
aC13b3JrZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3Jr
ZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKK1BhaW50IEFQ
SSBzaG91bGQgbm90IGJlIGF2YWlsYWJsZSBpbiB3b3JrZXIgY29udGV4dHMuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVk
RW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyB0cnVlCitQQVNTIHdvcmtlclN1cHBvcnRl
ZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgZmFsc2UKK1BBU1Mgd29ya2VyU3VwcG9y
dGVkRW50cnlUeXBlcy5pbmNsdWRlcygibWFyayIpIGlzIHRydWUKK1BBU1MgUGVyZm9ybWFuY2VP
YnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzIGRpZCBub3QgaW5jbHVkZSAncGFpbnQnIGZvciB3
b3JrZXJzCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdv
cmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWlu
dC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJQYWludCBBUEkgc2hvdWxkIG5vdCBiZSBh
dmFpbGFibGUgaW4gd29ya2VyIGNvbnRleHRzLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOworY29uc3Qgd29ya2VyID0gbmV3IFdvcmtlcigiLi9yZXNvdXJjZXMvd29ya2VyLmh0bWwi
KTsKK3dvcmtlci5vbm1lc3NhZ2UgPSBldmVudCA9PiB7CisgICAgd2luZG93LndvcmtlclN1cHBv
cnRlZEVudHJ5VHlwZXMgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpOworICAgIHNob3VsZEJlVHJ1
ZSgnUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWlu
dCIpJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnd29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5pbmNs
dWRlcygicGFpbnQiKScpOworICAgIHNob3VsZEJlVHJ1ZSgnd29ya2VyU3VwcG9ydGVkRW50cnlU
eXBlcy5pbmNsdWRlcygibWFyayIpJyk7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNl
cnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzIGRpZCBub3QgaW5jbHVkZSAncGFpbnQnIGZvciB3b3Jr
ZXJzIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCit3b3JrZXIucG9zdE1lc3NhZ2UoInN0
YXJ0Iik7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
ZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Ut
b2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxMCBAQAorUEFTUyBkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQg
aXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKCkubGVuZ3RoIGlzIDEKK1BBU1Mg
cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIpLmxl
bmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQiLCAicGFpbnQiKS5sZW5ndGggaXMgMQorUEFTUyBwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCBpcyAxCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2
ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXNuJ3QgZmlyZWQgYWdhaW4gCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK1RFWFQyCklu
ZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmly
c3QtY29udGVudGZ1bC1wYWludC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1h
bmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkVuc3VyZSBQZXJmb3JtYW5jZU9ic2VydmVycyBh
cmUgbm90aWZpZWQgb25jZSBmb3IgZmlyc3QtY29udGVudGZ1bC1wYWludC4iKTsKK3dpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAKKyhhc3luYyAoKSA9PiB7CisgICAgd2luZG93LmRpZFJl
Y2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCA9IGZhbHNlOworICAgIHdpbmRvdy5zdGFydFRpbWUg
PSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgYXdhaXQg
bmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBl
cmZvcm1hbmNlT2JzZXJ2ZXIoZW50cnlMaXN0ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5lbnRy
eUxpc3QgPSBlbnRyeUxpc3Q7CisgICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0LmdldEVu
dHJpZXMoKS5sZW5ndGgnLCAiMSIpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2VudHJ5TGlzdC5n
ZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikubGVuZ3RoJywgMSk7Cisg
ICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0LmdldEVudHJpZXNCeVR5cGUoInBhaW50Iiku
bGVuZ3RoJywgIjEiKTsKKyAgICAgICAgICAgIHdpbmRvdy5mY3BFbnRyeSA9IGVudHJ5TGlzdC5n
ZXRFbnRyaWVzKClbMF07CisgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCdkaWRSZWNlaXZlRmly
c3RDb250ZW50ZnVsUGFpbnQnKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5uYW1l
JywgJyJmaXJzdC1jb250ZW50ZnVsLXBhaW50IicpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2Zj
cEVudHJ5LmVudHJ5VHlwZScsICcicGFpbnQiJyk7CisgICAgICAgICAgICBzaG91bGRCZVRydWUo
J2ZjcEVudHJ5LnN0YXJ0VGltZSA+IHdpbmRvdy5zdGFydFRpbWUnKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlVHJ1ZSgnZmNwRW50cnkuc3RhcnRUaW1lIDwgcGVyZm9ybWFuY2Uubm93KCknKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5kdXJhdGlvbicsICIwIik7CisgICAgICAgICAg
ICBkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQgPSB0cnVlOworICAgICAgICAgICAgcmVz
b2x2ZSgpOworICAgICAgICB9KTsKKworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5
cGVzOiBbJ3BhaW50J119KTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAnVEVY
VCc7CisgICAgfSkKKyAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICdURVhUMic7CisgICAg
YXdhaXQgd2FpdEZvckZDUCgpOworICAgIHNob3VsZEJlVHJ1ZSgnZGlkUmVjZWl2ZUZpcnN0Q29u
dGVudGZ1bFBhaW50Jyk7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXMoKS5s
ZW5ndGgnLCAiMSIpOworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1l
KCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgn
cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIsICJw
YWludCIpLmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeVR5cGUoInBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3Jt
YW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2Fzbid0IGZpcmVk
IGFnYWluICIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSkoKTsKKworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMv
ZmNwLXN1YmZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQ+CisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihs
aXN0ID0+IHsKKyAgICAgICAgbGlzdC5nZXRFbnRyaWVzKCkuZm9yRWFjaChlbnRyeSA9PiB7Cisg
ICAgICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHt0eXBl
OiAncmVjZWl2ZWQnLCBlbnRyeX0pLCAnKicpOworICAgICAgICB9KTsKKyAgICB9KTsKKworICAg
IG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsicGFpbnQiXX0pOworICAgIHdpbmRvdy5v
bm1lc3NhZ2UgPSBlID0+IHsKKyAgICAgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZShKU09O
LnN0cmluZ2lmeSh7c3VwcG9ydGVkOiBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5
VHlwZXMsIHR5cGU6ICdzdXBwb3J0ZWQnfSksICcqJyk7CisgICAgICAgIGRvY3VtZW50LmJvZHku
aW5uZXJUZXh0ID0gIlRFWFQiOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3Vy
Y2VzL3BhaW50LWFwaS11dGlscy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcwkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUgQEAKK2FzeW5jIGZ1bmN0aW9uIHdhaXRGb3JGQ1Ao
KQoreworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVxdWVzdEFuaW1hdGlvbkZy
YW1lKCgpID0+IHJlc29sdmUoKSkpOworICAgIHJldHVybiB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0
RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0aCA9PSAxOworfQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanMJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10
aW1pbmctYXBpLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKK2lmIChzZWxmLmlt
cG9ydFNjcmlwdHMpCisgICAgaW1wb3J0U2NyaXB0cygiLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIik7CisKK2lmIChzZWxmLndpbmRvdykKKyAgICBkZXNjcmlwdGlvbigiQmFzaWMgSW50
ZXJmYWNlIHRlc3QgZm9yIHBhaW50LXRpbWluZyBBUElzLiIpOworCitkZWJ1ZygiUGVyZm9ybWFu
Y2VQYWludFRpbWluZyIpOworc2hvdWxkQmVEZWZpbmVkKCJQZXJmb3JtYW5jZVBhaW50VGltaW5n
Iik7CitzaG91bGRCZURlZmluZWQoYFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcucHJvdG90eXBlLnRv
SlNPTmApOworc2hvdWxkVGhyb3coYG5ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKClgKTsKKwor
aWYgKHNlbGYuaW1wb3J0U2NyaXB0cykKKyAgICBmaW5pc2hKU1Rlc3QoKTsKSW5kZXg6IExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtl
ci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorc2VsZi5vbm1lc3NhZ2UgPSAo
KSA9PiB7CisgICAgc2VsZi5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShQZXJmb3JtYW5jZU9i
c2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMpKTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxh
eTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3Bu
ZwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIworaW1hZ2UvcG5nClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDUUFBQUJJQ0FZ
QUFBQ2VObGU1QUFBQzdtbERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRB
aUNGcHJEcko0a0NKSldhdG9SZFEyL1JGaWF3emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3Jl
UmUyaApCLytBSG5yd1pDOUtoVnBGS042cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhB
RFhMU05QV0FCT1FOeDFLaUVXbHNmRUpxCi9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9Q
Z1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZ
OHV5UE9VNTVlTUcxRHlzOXhGa2lmRUExTGM1L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RC
Mmx1WnNiSQpFTDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFq
TlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0eHFwCitEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2Sktn
bkNRT01wa1lZQnpXa2hQMTB4dStMcUhCWDBtMXhPdjRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdE
aDBNR2d5YURVaFFFRVVFWVppd1VFQ0dQQm94TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050
dzl0MUdrM1R6KwpLQ0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVa
bTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1
WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsr
NnF2SlBtVmZsUFh2WHgvR2ZOeEdQaUtURW1kb3JuSVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGlu
U2JaSDZKTlZnWUpxOAo5UzlkUDF0NHZVWi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhm
OEYrVDNpdWVmS0FJdmJPREltYnB0VTNIdkVLRmxwVzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5
ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJW
TEZyT1pWV0xwZHRpWjB4MXVIS0U1UXZmRXAwcGxrL3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2
YjhDOC9VWEFlSXVKQUFBQQpDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFHWjBsRVFWUm9CZTJh
VVc5VlJSREhkNjh0RVZKTFcyS0N4Q1kraWdRRG9Za0tmZ0o4CjlNa25FdkVkdm9DbWtTK0E3MnBD
UXNLVGovSUpCQ1NCMU5Tb1BKcVUxQ2FrZ05pQWFlTmRmLytaT1QyMzU5N1NGdTdsNlV5eTUrek8K
MloyWm5aM2RuWmw3YzVyUEplMEtTc3BwaHA3N1UwbVBxRC9kSEZVUnlKdVlSSjhEOUprRzg0ejZR
OTY5WDNzNk5xcGpqWGFqS1NMZApFR1FmOVJXSU8rbVN6c0wxQksxWnlpR0toRmpsdVVTSFh4aHpu
ZlpURXlPbncrRFhRN0NPOWVReEVKNGprRmlQUVZERWxtMXdLWi95ClBwZEtPYzNiaGJBUHpRZERU
Ymg4ay9lVmxQTVAxaU9uSTdRZlVOK2dETlpZN2w4eTEwcEtrd3daWnlDekxtY1I0bXZhcDR4d1Ni
OUMKN3lidGhWVHlIN3ovRHZ6QmxNdFJtSjVrekdud3h3Ti9GNkcrWXN4MTJvZjRMb0dlVVBxMTFS
Q29YaUt0dTFxbGZNZmpjMm9zWGI2RwpBSmZCMzZFTm1tSjlyRlhYaFJPVU5JZUFGNkh4R1MyWTUr
K2hjVDdHemZDV2JXMFZxaUZRWmJnUGJWRHEvc3lBRHlnM0dQY0Y3M3NtClFMSmxGQ0hOVkxiUjVT
MkJoSk90U2JQQ3VjMmw5QzdOYjJtZm9keUcxb2RCcHhLcW1vS01aQk0wMzBtS3BBYTZ2L000Q3Bk
dktCZUQKd0N6TXRUd3I2Z0hVaE5RU0JZZXFwbVUvQ09wZUtwMlA2WENaY3NGcGQ5NERMMTdpcWVW
eldwcFNOTVpCalJ2UmdtYXlDYU4xbHpCdgowMmVLYit5Z3RCYjl0d29Ec2dmMFRXVXR4a3c1RFdn
bGJFbTB4Y09YWE5wVTJTS1F0dmFiSUZkWmMyeUdaU3FtbVV2ZzMySGdYNVRICk1haWFQYzBkd1Zs
cXJHaUlWc3FYbkRZOG5CYzhqWGUxN1BPNStBR0czYkNiVXZtUkRqZE14ZEtNQ0xrOTdNaDlGeDA2
MEg0TG12ZFQKN3Y3RUc1dktuMkRvMm4yeXAwZXlRczFDaGdpd3RZMjVHYkFRV3A3L1ZCa1NpSlpv
QXNZRHJSaFBJU1JEU1IyL0R0Z05kdWlkOHExdAp1MGtHWEMyVEJnd0RzdEhNbk81RlBEaEdFbWVi
ODE1QmV6UFNrTzRtd1RsN0pzNFpnZSttc0huL01xUm5KMmhETG5qWjZXL1U5NmVPClg1UjhzNU4x
RWZRZEpOVjFvYTNvb2xyZm9UMUU4MG53RUsvRjRDMXUySkJ1YlYyVVJVZDZ2aFZzUjZHWjVveWNo
M2dhYjJTUUxJRTkKRWIyNW02eW1FOWpQaFNhWjRiUkZleU40TFRoSjh4ejhJZ0V4NjBpN0tGVmQ5
L1pJbitzK1pYZzZ1QXhqcmhGM0pYUnJlOXNQcVZISwpVOTkvRlU5NUFac2FHaVhydmRIR3FBWHk5
R1RsK0RPOC9kWTIxTWdlNGlGZTR1bWdLMlJUUTdvMEFYT3VWSW1UVzlXUndUNDNEM2c2CnVBeSt5
L0NCSFU2YWxINzd1alhGaHlHL1JGdmVoUUR2VWhBeVlOU0tEblM1eVZYRlY3WmVvemZxNnNMV2dl
d21vNkRnZ0E3R2FWTmQKTVlkY1B2QWNiVGxnY3B4OERsU0dDS0k1R1R6RTZ6Z0hzb0lCY1p2V3dm
Z3MyRjV4cHZqQUF2ZjBScUVwK1Y1aHlNRXJLVEl4cnBKbApIZ0h0N3VMRzc4cDV4NDQ2eDVCWS9y
Tzh4TWNtbnZWLzZZZDhkcWVaOGJOTDl6Y29Mc0J2anZkaGVLMUlRNUl0VG1hRktrS1pRMDQxClRW
QmVVMlZJSUZxaUNSZ1BzUmRQZ1dTSUE4ZkRrU1BtdVdWQ0ZmUGtjTWpOczdOcmhZRzBYaHcwVnVl
Ty9LRDdrQkx0TS9CVFdLUU4KcFFEU2c0dUlPdVNqUEdDQWJ2enpERGlHUzNBQjNDcHQrZFZ5OHVX
d2EvbjJJcHkwTDV1WjRqM0IrRCtoL1dYUXZtMjhqS2RGczA0MwpCTklNZFB0dU1CZ2diaW9LZzh5
OWxKQWVCdmtNRlFiSlZ4SzRLWHE5OTFscDh3MTZ5SUNYZkRJUkJwVkV0QXNQZ1VleHRYY1JBdW1U
CmlJdlJEQVgxS1c1U29LZzRxckE5WHpoUUZNMytRQkVrRUx4NkppWTk5WUNXVG11cGpvaW9XYkRP
Rm5HeUkzSzV5bmZ0Q0oxVHk5U1YKT0pERy9vbWltMXU0WlFxNzFrTHBxMHhNdTBrUkJqWVRtdkVv
UTd5MmlzQzJiK2FIZk4xMWVHMmZiRmlFK0MyK1B5L1o4QkhmMzRlaApsdVV1eHN0dTJudXl3Y2JI
UTNhZyswWUJwR1lNNFVqSDJCWHp2SFNNOWVZcTRnUzJReS9TTWI2YjlweU9NV3J4Y0cxNXFDUVBR
TXNBCkg0cjg4SXpiV2V4WWNBZlBJbDhaTUJlbEo2eThyeWNuZHBld0dyQmtJVXZmcThxTXZJNFFp
aHAwREF3R0YzaUNQcE4wK0pkK3NoVmgKZDRhdEZyVnovNUgzNk5uMmczaTk3Skt0bVY1ZVdZNXgw
SklaamtlYlk5UUNTeHR1d0w3Y1ZiMHkzemJIMk56S3RVMVZ0VGJINkxhegovZE90VEg1VW0yUGNY
a3U5WDlvY1k2ODJ0cXUzT2NidE5OUEV1NlBSNWhpYmVxbmJiWTZ4MXNWZWFtMk9zZFpXbTJPc2RU
RzQxalYwCm0yUHMxMDZiWSt6WFNZMXBjNHkxTHJ4V2hlSnRqakhPRkV2UEtZL1UrMmVVTnNkSWlu
ZmdINXJhSEdQL24rTDhkNjhsUXY1WG1tUFUKWHpORzk3ZkIvd0ZaYmcwNUVFTnVOd0FBQUFCSlJV
NUVya0pnZ2c9PQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395549</attachid>
            <date>2020-04-05 23:08:52 -0700</date>
            <delta_ts>2020-04-10 11:23:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200406090849.patch</filename>
            <type>text/plain</type>
            <size>140719</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTU0OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEwNCBAQAorMjAyMC0wNC0wNSAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BhaW50LXRpbWluZy8jZmlyc3QtY29udGVudGZ1bC1wYWludC4KKyAgICAgICAgQ3VycmVu
dGx5IG11dHVhbGx5IGV4Y2x1c2l2ZSB0byB2aXN1YWxseS1ub24tZW1wdHkgaGV1cmlzdGljcy4K
KworICAgICAgICBXaGVuIHRoZSBmcmFtZSBwYWludHMgb3IgZmx1c2hlcyB0aGUgY29tcG9zaXRp
bmcgc3RhdGUsIGl0IG1hcmtzIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgYXMgYSBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IHBlcmZvcm1hbmNlIGVudHJ5LgorCisgICAgICAgIFRlc3RzOiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
dmlzaWJpbGl0eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10ZXh0LWlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdpdGgtcnRsLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9maXJz
dC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5j
ZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sCisgICAgICAgICAg
ICAgICBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAorICAgICAgICAgICAg
ICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBT
b3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRU
aW1pbmcuaDogCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDoKKyAg
ICAgICAgICAgICAgICBBZGQgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNlLgor
CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFibGVk
IGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgUGFpbnRUaW1pbmdFbmFibGVkIHJ1bnRpbWUg
ZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJp
bmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNQYWludCBjb25zdCk6CisgICAgICAgICAgICAgICAgQWRk
IGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgZW50
cmllcy4KKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKToKKyAg
ICAgICAgICAgICAgICBBZGQgInBhaW50IiB0byBzdXBwb3J0ZWRFbnRyeVR5cGVzIHdoZW4gaW4g
ZWxpZ2libGUgYnJvd3NpbmcgY29udGV4dC4KKworICAgICAgICAqIHJlbmRlcmluZy9Db250ZW50
ZnVsUGFpbnRDaGVja2VyLmg6IAorICAgICAgICAqIHJlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRD
aGVja2VyLmNwcDoKKyAgICAgICAgICAgICAgICBBZGQgbG9naWMgZm9yIGNvbXB1dGluZyB3aGV0
aGVyIGVsZW1lbnRzIGFyZSBjb250ZW50ZnVsICYgcGFpbnRhYmxlLCBhcyBwZXIgc3BlYy4KKwor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3VwcG9ydDo6aGFzUmVuZGVyYWJsZUNoaWxkcmVu
IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5oOgorICAgICAg
ICAgICAgICAgIFV0aWxpdHkgdG8gc2VlIGlmIGFuIFNWRyByb290IGhhcyBhbnkgcmVuZGVyYWJs
ZSBjaGlsZHJlbi4KKworICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSBjb25zdCk6
CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oOgorICAgICAgICAqIHJlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHls
ZTo6aGFzUGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdlIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgICAgICAgICBBZGQgaGVscGVy
IGZvciBmaW5kaW5nIG91dCBpZiBiYWNrZ3JvdW5kIGNvbnRhaW5zIGxvYWRlZCBjYWNoZWQgaW1h
Z2VzLgorCisgICAgICAgICogcGFnZS9Eb2N1bWVudC5oOgorICAgICAgICAqIHBhZ2UvRG9jdW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6Om1hcmtQYWludFRpbWluZ0lmTmVl
ZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzdXBwb3J0c1BhaW50VGltaW5nKToK
KyAgICAgICAgICAgICAgICBNYXJrIEZDUCBvbmNlIGZvciBlbGlnaWJsZSBkb2N1bWVudHMuCisK
K2AgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNGcmFtZSk6CisgICAgICAgICAgICAgICAg
TWFyayBmaXJzdC1jb250ZW50ZnVsLXBhaW50IHJpZ2h0IGFmdGVyIGZsdXNoaW5nIGxheWVyIHRy
ZWUuICAgICAgICAgICAgICAgIAorCiAyMDIwLTA0LTA0ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxp
YS5jb20+CiAKICAgICAgICAgUmVtb3ZlIExvY2tIaXN0b3J5IHBhcmFtZXRlciBmcm9tIGxvYWRX
aXRoTmF2aWdhdGlvbkFjdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDI1
OTU0OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC05MzYsNiArOTM2LDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBwYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsCisg
ICAgcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbAog
ICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UJKHJldmlzaW9uIDI1OTU0OSkKKysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTkyNiw2ICs5MjYsNyBAQCBKU19CSU5ESU5HX0lE
TFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwgXAogICAgICQoV2ViQ29y
ZSkvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9w
YWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1Bl
cmZvcm1hbmNlVGltaW5nLmlkbCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjU5NTQ5
KQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIxMjAs
NiArMjEyMCw3IEBAIHJlbmRlcmluZy9CcmVha0xpbmVzLmNwcAogcmVuZGVyaW5nL0NTU0ZpbHRl
ci5jcHAKIHJlbmRlcmluZy9DbGlwUmVjdC5jcHAKIHJlbmRlcmluZy9Db21wbGV4TGluZUxheW91
dC5jcHAKK3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAogcmVuZGVyaW5nL0Nv
dW50ZXJOb2RlLmNwcAogcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNwcAogcmVuZGVyaW5nL0V2ZW50
UmVnaW9uLmNwcApAQCAtMzE5OCw2ICszMTk5LDcgQEAgSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24u
Y3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxs
YmFjay5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAKK0pTUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKIEpTUGVy
Zm9ybWFuY2VTZXJ2ZXJUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcApJbmRleDog
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gMjU5NTQ5KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MDUyLDYgKzQwNTIsNyBAQAogCQlDOUY4
N0NGRTFCMjhGNDBFMDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOUY4N0NGRDFCMjhFNUY2MDA5NzlC
ODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0EzQkY2N0UxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFu
aW1hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
QTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDQTZDMTUzMDIyMEI5OENDMDA1
NUNCRkMgLyogSlNWYWx1ZUluV3JhcHBlZE9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMxQUUzQjgxRkI4MEVBRTAwRjVFRkIyIC8qIEpTVmFs
dWVJbldyYXBwZWRPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlDQTdFOUI0OTI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50
Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0E3RTlCNDcyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIuaCAqLzsg
fTsKIAkJQ0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENBRTlGOTBFMTQ2
NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggKi87IH07CiAJCUNCMzhGRDUy
MUNDRjkzOTQwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENCMzhGRDRFMUNDRjkzN0UwMDU5MkEzRiAv
KiBKU1BlcmZvcm1hbmNlRW50cnkuaCAqLzsgfTsKIAkJQ0IzOEZENUIxQ0QyMzI1QjAwNTkyQTNG
IC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0IzOEZENTkxQ0QyMzE0NTAwNTkyQTNGIC8qIEpTUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovOyB9OwpAQCAtMTM4MTQsNiArMTM4MTUsOCBAQAog
CQlDQTA5MUQ4NjIzQ0Y5MDc4MDBBRDQzNDYgLyogU3R5bGVJbWFnZVNldC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTdHlsZUltYWdlU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0EwOTFEODkyM0NGOTA4ODAwQUQ0MzQ2IC8qIFN0eWxlSW1hZ2VTZXQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU3R5bGVJbWFnZVNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTE2
MzVEQzIwNzJFNzY5MDBFN0QyQ0UgLyogUmVmZXJyZXJQb2xpY3kuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmZXJyZXJQb2xpY3kuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDQTE5MzNENTI0MDdENjQwMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQ
YWludFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkzM0Q4MjQwN0VEQ0YwMDcxMjQxQSAvKiBQ
ZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJmb3Jt
YW5jZVBhaW50VGltaW5nLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2
N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9y
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNTJCQUU1MjNEMEFGMTYwMERFMEI4NCAvKiBT
dHlsZUN1cnNvckltYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlQ3Vyc29ySW1hZ2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM4MjMsNiArMTM4MjYsOCBAQAog
CQlDQTZDMTUyRjIyMEI0QTU1MDA1NUNCRkMgLyogSlNJREJSZXF1ZXN0Q3VzdG9tLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCUmVxdWVzdEN1c3RvbS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNkMxNTM3MjIwRDFFQjMwMDU1Q0JGQyAv
KiBKU0lEQkN1cnNvckN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0lEQkN1cnNvckN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUNBNkMxNTM4MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0lEQkN1cnNvcldpdGhW
YWx1ZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBN0U5QjQ3MjQz
NjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRmdWxQYWludENoZWNrZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0E3RTlCNDgyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQ
YWludENoZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29u
dGVudGZ1bFBhaW50Q2hlY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNB
RTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0FzcGVjdFJhdGlvVmFsdWUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQUU5RjkwRTE0NjQ0MUYwMDBDMjQ1QjAgLyog
Q1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
U1NBc3BlY3RSYXRpb1ZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNCMzhG
RDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRW50cnkuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMjA5NTYsNiArMjA5NjEsOCBAQAogCQkJCUE1QTk5MzNBMUUz
N0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCAqLywKIAkJ
CQlBNUE5OTMzQjFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlz
dC5oICovLAogCQkJCUE1QTk5MzNDMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2Vy
dmVyRW50cnlMaXN0LmlkbCAqLywKKwkJCQlDQTE5MzNENTI0MDdENjQwMDA3MTI0MUEgLyogUGVy
Zm9ybWFuY2VQYWludFRpbWluZy5oICovLAorCQkJCUNBMTkzM0Q4MjQwN0VEQ0YwMDcxMjQxQSAv
KiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLywKIAkJCQk4NjUxMkVEQjE1NEEyQUVFMDBB
OTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi8sCiAJCQkJODY1MTJFREMx
NTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCAqLywKIAkJCQk4
NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwg
Ki8sCkBAIC0yODAzMyw2ICsyODA0MCw4IEBACiAJCQkJQkNERDQ1NEQxMjM2Qzk1QzAwOUE3OTg1
IC8qIENvbHVtbkluZm8uaCAqLywKIAkJCQlCQ0VBNDgxMzA5N0Q5MzAyMDA5NEM5RTQgLyogQ29t
cGxleExpbmVMYXlvdXQuY3BwICovLAogCQkJCUU0QTFBQzc4MjJGQUZENTAwMDE3Qjc1QiAvKiBD
b21wbGV4TGluZUxheW91dC5oICovLAorCQkJCUNBN0U5QjQ4MjQzNjFEQzUwMDRFODlGNiAvKiBD
b250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcCAqLywKKwkJCQlDQTdFOUI0NzI0MzYxREM1MDA0RTg5
RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oICovLAogCQkJCTkzOTJGMTRGMEFEMTg2MjMw
MDY5MUJENCAvKiBDb3VudGVyTm9kZS5jcHAgKi8sCiAJCQkJOTM5MkYxNEIwQUQxODYxQjAwNjkx
QkQ0IC8qIENvdW50ZXJOb2RlLmggKi8sCiAJCQkJMEY1M0ZCODEyMTNCMUJCODAwQzQwRDM0IC8q
IENTU0ZpbHRlci5jcHAgKi8sCkBAIC0yOTczNyw2ICsyOTc0Niw3IEBACiAJCQkJQTE0OTc4NkYx
QUJBRjMzODAwQ0VGN0U0IC8qIENvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTVD
RENEREM2MjNEODBBMUMwMEJBMzRBMSAvKiBDb250ZW50RmlsdGVyQ2xpZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBMTQwOTBGRDFBQTUxRTQ4MDA5MTE5MUEgLyogQ29udGVudEZpbHRlclVuYmxv
Y2tIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDQTdFOUI0OTI0MzYxREM1MDA0RTg5RjYg
LyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUM5QzJEQjUy
MjQxQTY3QjAwOTk2QjBCIC8qIENvbnRlbnRSdWxlTGlzdFJlc3VsdHMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTk3QzQ3MURDMTJGOTI1QkQwMDg2MzU0QiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3ku
aCBpbiBIZWFkZXJzICovLAogCQkJCUNFNUZBMjU1MjA5RTQ4QzUwMDUxRDcwMCAvKiBDb250ZW50
U2VjdXJpdHlQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3Bw
CShyZXZpc2lvbiAyNTk1NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZv
cm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSwxMSBAQAog
I2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgi
CiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1h
bmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1l
YXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcg
bmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+
JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkK
KyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aAkocmV2aXNpb24gMjU5NTQ5KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNiArMTc5LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3VyZSkgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWluZykgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVNlcnZl
clRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXApJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCShyZXZpc2lvbiAyNTk1NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiQ29tcG9z
aXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkNvbnN0YW50UHJvcGVydHlNYXAuaCIKICNpbmNsdWRl
ICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIKKyNpbmNsdWRlICJDb250ZW50ZnVsUGFpbnRDaGVj
a2VyLmgiCiAjaW5jbHVkZSAiQ29va2llSmFyLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRWxlbWVudFJl
YWN0aW9uUXVldWUuaCIKICNpbmNsdWRlICJDdXN0b21FbGVtZW50UmVnaXN0cnkuaCIKQEAgLTE0
OCw2ICsxNDksNyBAQAogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlBhZ2VUcmFu
c2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQYWludFdvcmtsZXRHbG9iYWxTY29wZS5oIgorI2lu
Y2x1ZGUgIlBlcmZvcm1hbmNlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Mb2NhbGUuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVNj
cmVlbi5oIgpAQCAtMzE0MSw2ICszMTQzLDMzIEBAIGJvb2wgRG9jdW1lbnQ6OmlzTGF5b3V0VGlt
ZXJBY3RpdmUoKSBjb24KICAgICByZXR1cm4gdmlldygpICYmIHZpZXcoKS0+bGF5b3V0Q29udGV4
dCgpLmlzTGF5b3V0UGVuZGluZygpOwogfQogCitib29sIERvY3VtZW50OjpzdXBwb3J0c1BhaW50
VGltaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQoKSAmJiBzZWN1cml0eU9yaWdpbigpLmNh
bkFjY2Vzcyh0b3BPcmlnaW4oKSk7Cit9CisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWlu
dC10aW1pbmcvI3JlZi1mb3ItbWFyay1wYWludC10aW1pbmcKK3ZvaWQgRG9jdW1lbnQ6Om1hcmtQ
YWludFRpbWluZ0lmTmVlZGVkKCkKK3sKKyAgICBpZiAobV9kaWRNYXJrRmlyc3RDb250ZW50ZnVs
UGFpbnQpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghc3VwcG9ydHNQYWludFRpbWluZygp
KQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvKiB3aW5kb3cgPSBkb21XaW5kb3coKTsKKyAg
ICBhdXRvKiB2aWV3ID0gcmVuZGVyVmlldygpOworCisgICAgaWYgKCF2aWV3IHx8ICF3aW5kb3cp
CisgICAgICAgIHJldHVybjsKKworICAgIGlmICghcXVhbGlmaWVzRm9yQ29udGVudGZ1bFBhaW50
KCp2aWV3KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2luZG93LT5wZXJmb3JtYW5jZSgpLnJl
cG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgbV9kaWRNYXJrRmlyc3RDb250ZW50ZnVs
UGFpbnQgPSB0cnVlOworfQorCiBFeGNlcHRpb25Pcjx2b2lkPiBEb2N1bWVudDo6d3JpdGUoRG9j
dW1lbnQqIHJlc3BvbnNpYmxlRG9jdW1lbnQsIFNlZ21lbnRlZFN0cmluZyYmIHRleHQpCiB7CiAg
ICAgaWYgKG1fYWN0aXZlUGFyc2VyV2FzQWJvcnRlZCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
CShyZXZpc2lvbiAyNTk1NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMTAzNSw2ICsxMDM1LDggQEAgcHVibGljOgogCiAgICAgYm9vbCBzaG91
bGREZWZlckFzeW5jaHJvbm91c1NjcmlwdHNVbnRpbFBhcnNpbmdGaW5pc2hlcygpIGNvbnN0Owog
CisgICAgYm9vbCBzdXBwb3J0c1BhaW50VGltaW5nKCkgY29uc3Q7CisKICNpZiBFTkFCTEUoWFNM
VCkKICAgICB2b2lkIHNjaGVkdWxlVG9BcHBseVhTTFRyYW5zZm9ybXMoKTsKICAgICB2b2lkIGFw
cGx5UGVuZGluZ1hTTFRyYW5zZm9ybXNOb3dJZlNjaGVkdWxlZCgpOwpAQCAtMTU2OSw2ICsxNTcx
LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRIYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29u
dGVudCgpIHsgbV9oYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCA9IHRydWU7IH0KICAg
ICBib29sIGhhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50KCkgY29uc3QgeyByZXR1cm4g
bV9oYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudDsgfQorICAgIHZvaWQgbWFya1BhaW50
VGltaW5nSWZOZWVkZWQoKTsKIAogcHJvdGVjdGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9uRmxh
Z3MgeyBTeW50aGVzaXplZCA9IDEsIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEgfTsK
QEAgLTIwMzIsNiArMjAzNSw5IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fYXJlRGV2aWNlTW90
aW9uQW5kT3JpZW50YXRpb25VcGRhdGVzU3VzcGVuZGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1f
dXNlckRpZEludGVyYWN0V2l0aFBhZ2UgeyBmYWxzZSB9OworCisgICAgYm9vbCBtX2RpZE1hcmtG
aXJzdENvbnRlbnRmdWxQYWludCB7IGZhbHNlIH07CisKICNpZiBBU1NFUlRfRU5BQkxFRAogICAg
IGJvb2wgbV9pbkhpdFRlc3RpbmcgeyBmYWxzZSB9OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiAyNTk1NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk4MSw2ICs5ODEsOCBAQCBib29sIEZy
YW1lVmlldzo6Zmx1c2hDb21wb3NpdGluZ1N0YXRlRm9yCiAjZW5kaWYKIAogICAgIHJlbmRlclZp
ZXctPmNvbXBvc2l0b3IoKS5mbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoJnJvb3RGcmFtZUZvckZs
dXNoID09IG1fZnJhbWUucHRyKCkpOworICAgIGlmIChhdXRvKiBkb2N1bWVudCA9IGZyYW1lKCku
ZG9jdW1lbnQoKSkKKyAgICAgICAgZG9jdW1lbnQtPm1hcmtQYWludFRpbWluZ0lmTmVlZGVkKCk7
CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
Y3BwCShyZXZpc2lvbiAyNTk1NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlBlcmZvcm1h
bmNlRW50cnkuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZU9ic2VydmVyLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VQYWludFRpbWlu
Zy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQ
ZXJmb3JtYW5jZVRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVXNlclRpbWluZy5oIgpA
QCAtMTI0LDYgKzEyNSw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZv
cm0KICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNZWFzdXJl
cygpKTsKICAgICB9CiAKKyAgICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCkKKyAgICAgICAg
ZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBzdGQ6OnNvcnQo
ZW50cmllcy5iZWdpbigpLCBlbnRyaWVzLmVuZCgpLCBQZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRp
bWVDb21wYXJlTGVzc1RoYW4pOwogICAgIHJldHVybiBlbnRyaWVzOwogfQpAQCAtMTM1LDYgKzEz
OSw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICBpZiAo
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicmVzb3VyY2UiKSkKICAg
ICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV9yZXNvdXJjZVRpbWluZ0J1ZmZlcik7CiAKKyAg
ICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJ
Q2FzZShlbnRyeVR5cGUsICJwYWludCIpKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0
Q29udGVudGZ1bFBhaW50KTsKKwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYg
KGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkKICAgICAg
ICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MoKSk7CkBA
IC0xNTcsNiArMTY0LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9y
bQogICAgICAgICB9CiAgICAgfQogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYg
KGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRy
eVR5cGUsICJwYWludCIpKSAmJiBuYW1lID09ICJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikKKyAg
ICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAo
bV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxM
ZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAibWFyayIpKQogICAgICAgICAgICAg
ZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNYXJrcyhuYW1lKSk7CkBAIC0x
ODAsNiArMTkwLDEzIEBAIHZvaWQgUGVyZm9ybWFuY2U6OnNldFJlc291cmNlVGltaW5nQnVmZmUK
ICAgICBtX3Jlc291cmNlVGltaW5nQnVmZmVyRnVsbEZsYWcgPSBmYWxzZTsKIH0KIAordm9pZCBQ
ZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKQoreworICAgIEFTU0VSVCgh
bV9maXJzdENvbnRlbnRmdWxQYWludCk7CisgICAgbV9maXJzdENvbnRlbnRmdWxQYWludCA9IFBl
cmZvcm1hbmNlUGFpbnRUaW1pbmc6OmNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KG5vdygpKTsK
KyAgICBxdWV1ZUVudHJ5KCptX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKK30KKwogdm9pZCBQZXJm
b3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRpbWlu
ZykKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlLmgJKHJldmlzaW9uIDI1OTU0OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBjbGFz
cyBMb2FkVGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VFbnRyeTsKIGNsYXNzIFBlcmZvcm1hbmNl
TmF2aWdhdGlvbjsKIGNsYXNzIFBlcmZvcm1hbmNlT2JzZXJ2ZXI7CitjbGFzcyBQZXJmb3JtYW5j
ZVBhaW50VGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VUaW1pbmc7CiBjbGFzcyBSZXNvdXJjZVJl
c3BvbnNlOwogY2xhc3MgUmVzb3VyY2VUaW1pbmc7CkBAIC03Nyw2ICs3OCw4IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgYWRkUmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJik7CiAKKyAgICB2
b2lkIHJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisKICAgICB2b2lkIHJlbW92ZUFsbE9i
c2VydmVycygpOwogICAgIHZvaWQgcmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1h
bmNlT2JzZXJ2ZXImKTsKICAgICB2b2lkIHVucmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBl
cmZvcm1hbmNlT2JzZXJ2ZXImKTsKQEAgLTEyMSw2ICsxMjQsNyBAQCBwcml2YXRlOgogCiAgICAg
TW9ub3RvbmljVGltZSBtX3RpbWVPcmlnaW47CiAKKyAgICBSZWZQdHI8UGVyZm9ybWFuY2VQYWlu
dFRpbWluZz4gbV9maXJzdENvbnRlbnRmdWxQYWludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXNl
clRpbWluZz4gbV91c2VyVGltaW5nOwogCiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxTY3JpcHRFeGVj
dXRpb25Db250ZXh0PiBtX3BlcmZvcm1hbmNlVGltZWxpbmVUYXNrUXVldWU7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAJKHJldmlzaW9uIDI1OTU0OSkKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY0LDYgKzY0LDExIEBAIE9wdGlvbmFsPFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IFBlcmZv
cm0KICAgICAgICAgICAgIHJldHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpSZXNvdXJjZSk7CiAg
ICAgfQogCisgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
cGFpbnRUaW1pbmdFbmFibGVkKCkpIHsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9PSAicGFpbnQi
KQorICAgICAgICAgICAgcmV0dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6OlBhaW50KTsKKyAgICB9
CisKICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlRW50cnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlRW50cnkuaAkocmV2aXNpb24gMjU5NTQ5KQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDcgQEAg
cHVibGljOgogICAgICAgICBNYXJrID0gMSA8PCAxLAogICAgICAgICBNZWFzdXJlID0gMSA8PCAy
LAogICAgICAgICBSZXNvdXJjZSA9IDEgPDwgMywKKyAgICAgICAgUGFpbnQgPSAxIDw8IDQKICAg
ICB9OwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC02Miw2ICs2Myw3
IEBAIHB1YmxpYzoKICAgICBib29sIGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkg
PT0gVHlwZTo6UmVzb3VyY2U7IH0KICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5
cGUoKSA9PSBUeXBlOjpNYXJrOyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJldHVy
biB0eXBlKCkgPT0gVHlwZTo6TWVhc3VyZTsgfQorICAgIGJvb2wgaXNQYWludCgpIGNvbnN0IHsg
cmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpQYWludDsgfQogCiAgICAgc3RhdGljIGJvb2wgc3RhcnRU
aW1lQ29tcGFyZUxlc3NUaGFuKGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYSwgY29u
c3QgUmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+JiBiKQogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkocmV2aXNpb24gMjU5NTQ5KQorKysg
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTEzLDE1ICsxMTMsMjEgQEAgdm9pZCBQZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVy
KCkKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpcmVPYnNlcnZlckNhbGxiYWNr
KCpjb250ZXh0KTsKIH0KIAotVmVjdG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3Vw
cG9ydGVkRW50cnlUeXBlcygpCitWZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpz
dXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiB7Ci0g
ICAgcmV0dXJuIHsKKyAgICBWZWN0b3I8U3RyaW5nPiBlbnRyeVR5cGVzID0gewogICAgICAgICAv
LyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NDM2Mz4gQWRkIHN1cHBvcnQgZm9yIE5h
dmlnYXRpb24gVGltaW5nIExldmVsIDIKICAgICAgICAgLy8gIm5hdmlnYXRpb24iX3MsCiAgICAg
ICAgICJtYXJrIl9zLAotICAgICAgICAibWVhc3VyZSJfcywKLSAgICAgICAgInJlc291cmNlIl9z
CisgICAgICAgICJtZWFzdXJlIl9zCiAgICAgfTsKKworICAgIGlmIChpczxEb2N1bWVudD4oY29u
dGV4dCkgJiYgZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpLnN1cHBvcnRzUGFpbnRUaW1pbmco
KSkKKyAgICAgICAgZW50cnlUeXBlcy5hcHBlbmQoInBhaW50Il9zKTsKKworICAgIGVudHJ5VHlw
ZXMuYXBwZW5kKCJyZXNvdXJjZSJfcyk7CisKKyAgICByZXR1cm4gZW50cnlUeXBlczsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmgJKHJldmlzaW9uIDI1OTU0OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihj
b250ZXh0LCBXVEZNb3ZlKGNhbGxiYWNrKSkpOwogICAgIH0KIAotICAgIHN0YXRpYyBWZWN0b3I8
U3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzKCk7CisgICAgc3RhdGljIFZlY3RvcjxTdHJpbmc+
IHN1cHBvcnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogCiAgICAgdm9p
ZCBkaXNhc3NvY2lhdGUoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlT2JzZXJ2ZXIuaWRsCShyZXZpc2lvbiAyNTk1NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBA
CiBdIGludGVyZmFjZSBQZXJmb3JtYW5jZU9ic2VydmVyIHsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHZvaWQgb2JzZXJ2ZShQZXJmb3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKICAgICB2
b2lkIGRpc2Nvbm5lY3QoKTsKLSAgICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFy
cmF5PERPTVN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlczsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0
RXhlY3V0aW9uQ29udGV4dF0gc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxE
T01TdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXM7CiB9OwogCiBkaWN0aW9uYXJ5IFBlcmZvcm1h
bmNlT2JzZXJ2ZXJJbml0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQ
YWludFRpbWluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VQYWludFRpbWluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMg
UmVzZXJ2ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVyZm9y
bWFuY2VQYWludFRpbWluZyBmaW5hbCA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IGNyZWF0ZUZpcnN0Q29u
dGVudGZ1bFBhaW50KERPTUhpZ2hSZXNUaW1lU3RhbXAgdGltZVN0YW1wKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygiZmlyc3QtY29u
dGVudGZ1bC1wYWludCJfcywgdGltZVN0YW1wKSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFBl
cmZvcm1hbmNlUGFpbnRUaW1pbmcoY29uc3QgU3RyaW5nJiBuYW1lLCBET01IaWdoUmVzVGltZVN0
YW1wIHRpbWVTdGFtcCkKKyAgICAgICAgOiBQZXJmb3JtYW5jZUVudHJ5KG5hbWUsIHRpbWVTdGFt
cCwgdGltZVN0YW1wKQorICAgIHsKKyAgICB9CisKKyAgICBBU0NJSUxpdGVyYWwgZW50cnlUeXBl
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gInBhaW50Il9zOyB9CisgICAgVHlwZSB0eXBlKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gVHlwZTo6UGFpbnQ7IH0KKworICAgIH5QZXJmb3JtYW5jZVBhaW50
VGltaW5nKCkgPSBkZWZhdWx0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcp
CisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnkm
IGVudHJ5KSB7IHJldHVybiBlbnRyeS5pc1BhaW50KCk7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJ
VFNfRU5EKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWlu
Zy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50
VGltaW5nLmlkbAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlUGFpbnRUaW1pbmcuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVz
ZXJ2ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGFpbnQtdGltaW5nLworCit0eXBlZGVmIGRvdWJs
ZSBET01IaWdoUmVzVGltZVN0YW1wOworCitbCisgICAgRW5hYmxlZEF0UnVudGltZT1QYWludFRp
bWluZywKKyAgICBFeHBvc2VkPShXaW5kb3cpLAorXSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VQYWlu
dFRpbWluZyA6IFBlcmZvcm1hbmNlRW50cnkgeworfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCShyZXZpc2lvbiAyNTk1NDkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkod29ya2luZyBjb3B5KQpA
QCAtNjIsNiArNjIsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVc2VyVGltaW5nRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX2lzVXNlclRpbWluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAg
ICBib29sIHVzZXJUaW1pbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1VzZXJUaW1pbmdF
bmFibGVkOyB9CiAKKyAgICB2b2lkIHNldFBhaW50VGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxl
ZCkgeyBtX2lzUGFpbnRUaW1pbmdFbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCBwYWlu
dFRpbWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzUGFpbnRUaW1pbmdFbmFibGVkOyB9
CisKICAgICBib29sIHBlcmZvcm1hbmNlVGltZWxpbmVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4g
cmVzb3VyY2VUaW1pbmdFbmFibGVkKCkgfHwgdXNlclRpbWluZ0VuYWJsZWQoKTsgfQogCiAgICAg
dm9pZCBzZXRTaGFkb3dET01FbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNTaGFkb3dET01F
bmFibGVkID0gaXNFbmFibGVkOyB9CkBAIC00MjQsNiArNDI3LDcgQEAgcHJpdmF0ZToKICAgICBi
b29sIG1faXNMaW5rUHJlbG9hZEVuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2lzTGlua1By
ZWZldGNoRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzTWVkaWFQcmVsb2FkaW5nRW5h
YmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzUGFpbnRUaW1pbmdFbmFibGVkIHsgZmFsc2Ug
fTsKICAgICBib29sIG1faXNSZXNvdXJjZVRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV9pc1VzZXJUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNJbnRlcmFj
dGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCB7IGZhbHNlIH07CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwCShub25leGlz
dGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2Vy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyNSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMCBXaWtpTWVkaWEgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
KyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIgorCisjaW5jbHVk
ZSAiSFRNTENhbnZhc0VsZW1lbnQuaCIKKyNpbmNsdWRlICJMaW5lTGF5b3V0VHJhdmVyc2FsLmgi
CisjaW5jbHVkZSAiUmVuZGVyQW5jZXN0b3JJdGVyYXRvci5oIgorI2luY2x1ZGUgIlJlbmRlckNo
aWxkSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJSZW5kZXJEZXNjZW5kYW50SXRlcmF0b3IuaCIKKyNp
bmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVySFRNTENhbnZhcy5oIgor
I2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUm9vdC5oIgorI2lu
Y2x1ZGUgIlJlbmRlclRleHQuaCIKKyNpbmNsdWRlICJSZW5kZXJWaWRlby5oIgorI2luY2x1ZGUg
IlJlbmRlclZpZXcuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBodHRwczovL3czYy5n
aXRodWIuaW8vcGFpbnQtdGltaW5nLyNwYWludGFibGUtYm91bmRpbmctcmVjdCAKK3N0YXRpYyBi
b29sIGludGVyc2VjdHNXaXRoRG9jdW1lbnRSZWN0KGNvbnN0IFJlbmRlck9iamVjdCYgb2JqZWN0
LCBjb25zdCBJbnRSZWN0JiBkb2N1bWVudFJlY3QpCit7CisgICAgQVNTRVJUKCFvYmplY3QubmVl
ZHNMYXlvdXQoKSk7CisKKyAgICBpZiAoaXM8UmVuZGVyVGV4dD4ob2JqZWN0KSkgeworICAgICAg
ICBjb25zdCBhdXRvJiB0ZXh0UmVuZGVyZXIgPSBkb3duY2FzdDxSZW5kZXJUZXh0PihvYmplY3Qp
OworICAgICAgICBmb3IgKGF1dG8mIGJveCA6IExpbmVMYXlvdXRUcmF2ZXJzYWw6OnRleHRCb3hl
c0Zvcih0ZXh0UmVuZGVyZXIpKSB7CisgICAgICAgICAgICBpZiAodGV4dFJlbmRlcmVyLmxvY2Fs
VG9BYnNvbHV0ZVF1YWQoRmxvYXRRdWFkKGJveC5yZWN0KCkpKS5ib3VuZGluZ0JveCgpLmludGVy
c2VjdHMoZG9jdW1lbnRSZWN0KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg
ICAgfQorCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAoaXM8UmVuZGVy
UmVwbGFjZWQ+KG9iamVjdCkpIHsKKyAgICAgICAgY29uc3QgYXV0byYgcmVwbGFjZWQgPSBkb3du
Y2FzdDxSZW5kZXJSZXBsYWNlZD4ob2JqZWN0KTsKKyAgICAgICAgRmxvYXRSZWN0IGxvY2FsUmVj
dCgwLCAwLCByZXBsYWNlZC53aWR0aCgpLCByZXBsYWNlZC5oZWlnaHQoKSk7CisgICAgICAgIHJl
dHVybiBvYmplY3QubG9jYWxUb0Fic29sdXRlUXVhZChsb2NhbFJlY3QpLmJvdW5kaW5nQm94KCku
aW50ZXJzZWN0cyhkb2N1bWVudFJlY3QpOworICAgIH0KKworICAgIFZlY3RvcjxGbG9hdFF1YWQ+
IHF1YWRzOworICAgIG9iamVjdC5hYnNvbHV0ZVF1YWRzKHF1YWRzKTsKKyAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IHF1YWRzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChxdWFkc1tpXS5i
b3VuZGluZ0JveCgpLmludGVyc2VjdHMoZG9jdW1lbnRSZWN0KSkKKyAgICAgICAgICAgIHJldHVy
biB0cnVlOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKworLy8gaHR0cHM6Ly93M2Mu
Z2l0aHViLmlvL3BhaW50LXRpbWluZy8jY29udGVudGZ1bCAKK3N0YXRpYyBib29sIGlzQ29udGVu
dGZ1bChjb25zdCBSZW5kZXJPYmplY3QmIG9iamVjdCkKK3sKKyAgICBpZiAob2JqZWN0LnN0eWxl
KCkuaGFzUGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdlKCkpCisgICAgICAgIHJldHVybiB0
cnVlOworCisgICAgaWYgKGlzPFJlbmRlclRleHQ+KG9iamVjdCkpCisgICAgICAgIHJldHVybiAh
ZG93bmNhc3Q8UmVuZGVyVGV4dD4ob2JqZWN0KS5jb250YWluc09ubHlIVE1MV2hpdGVzcGFjZSgp
OworCisgICAgaWYgKGlzPFJlbmRlckhUTUxDYW52YXM+KG9iamVjdCkpCisgICAgICAgIHJldHVy
biBkb3duY2FzdDxSZW5kZXJIVE1MQ2FudmFzPihvYmplY3QpLmNhbnZhc0VsZW1lbnQoKS5yZW5k
ZXJpbmdDb250ZXh0KCk7CisKKyAgICBpZiAoaXM8UmVuZGVyVmlkZW8+KG9iamVjdCkpIHsKKyAg
ICAgICAgY29uc3QgYXV0byYgdmlkZW8gPSBkb3duY2FzdDxSZW5kZXJWaWRlbz4ob2JqZWN0KTsK
KyAgICAgICAgaWYgKCF2aWRlby52aWRlb0VsZW1lbnQoKS5zaG91bGREaXNwbGF5UG9zdGVySW1h
Z2UoKSkKKyAgICAgICAgICAgIHJldHVybiB2aWRlby52aWRlb0VsZW1lbnQoKS5yZWFkeVN0YXRl
KCkgPiBIVE1MTWVkaWFFbGVtZW50RW51bXM6OkhBVkVfTUVUQURBVEE7CisgICAgfQorCisgICAg
aWYgKGlzPFJlbmRlckltYWdlPihvYmplY3QpKSB7CisgICAgICAgIGNvbnN0IGF1dG8mIGltYWdl
ID0gZG93bmNhc3Q8UmVuZGVySW1hZ2U+KG9iamVjdCk7CisgICAgICAgIGF1dG8qIGNhY2hlZElt
YWdlID0gaW1hZ2UuaW1hZ2VSZXNvdXJjZSgpLmNhY2hlZEltYWdlKCk7CisgICAgICAgIHJldHVy
biBjYWNoZWRJbWFnZSAmJiBjYWNoZWRJbWFnZS0+Y2FuUmVuZGVyKCZpbWFnZSwgMSk7CisgICAg
fQorCisgICAgaWYgKGlzPFJlbmRlclNWR1Jvb3Q+KG9iamVjdCkpCisgICAgICAgIHJldHVybiBT
VkdSZW5kZXJTdXBwb3J0OjpoYXNSZW5kZXJhYmxlQ2hpbGRyZW4oZG93bmNhc3Q8UmVuZGVyU1ZH
Um9vdD4ob2JqZWN0KSk7ICAgIAorCisgICAgcmV0dXJuIGZhbHNlOworfQorCisvLyBodHRwczov
L3czYy5naXRodWIuaW8vcGFpbnQtdGltaW5nLyNwYWludGFibGUgCitzdGF0aWMgYm9vbCBpc1Bh
aW50YWJsZShjb25zdCBSZW5kZXJPYmplY3QmIG9iamVjdCwgY29uc3QgSW50UmVjdCYgZG9jdW1l
bnRSZWN0KQoreworICAgIGlmIChvYmplY3Quc3R5bGUoKS52aXNpYmlsaXR5KCkgIT0gVmlzaWJp
bGl0eTo6VmlzaWJsZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZm9yIChhdXRvJiBh
bmNlc3RvciA6IGxpbmVhZ2VPZlR5cGU8UmVuZGVyT2JqZWN0PihvYmplY3QpKSB7CisgICAgICAg
IGlmICghYW5jZXN0b3Iuc3R5bGUoKS5vcGFjaXR5KCkpCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorCisgICAgcmV0dXJuIGludGVyc2VjdHNXaXRoRG9jdW1lbnRSZWN0KG9iamVj
dCwgZG9jdW1lbnRSZWN0KTsKK30KKworYm9vbCBxdWFsaWZpZXNGb3JDb250ZW50ZnVsUGFpbnQo
UmVuZGVyVmlldyYgdmlldykKK3sKKyAgICBhdXRvIGRvY3VtZW50UmVjdCA9IHZpZXcuZG9jdW1l
bnRSZWN0KCk7CisgICAgZm9yIChhdXRvJiBvYmplY3QgOiBkZXNjZW5kYW50c09mVHlwZTxSZW5k
ZXJPYmplY3Q+KHZpZXcpKSB7CisgICAgICAgIGlmIChpc0NvbnRlbnRmdWwob2JqZWN0KSAmJiBp
c1BhaW50YWJsZShvYmplY3QsIGRvY3VtZW50UmVjdCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuaAkobm9uZXhpc3Rl
bnQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgV2lraU1lZGlhIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
ICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorKi8KKworI3ByYWdtYSBvbmNlCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUmVuZGVyVmlldzsKKworYm9vbCBxdWFsaWZp
ZXNGb3JDb250ZW50ZnVsUGFpbnQoUmVuZGVyVmlldyYpOworCit9CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJKHJldmlzaW9uIDI1OTU0OSkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTE3OSw3ICsxNzks
NyBAQCBwdWJsaWM6CiAgICAgTGF5b3V0VW5pdCB0b3BPZkZpcnN0VGV4dCgpIGNvbnN0OwogICAg
IAogICAgIGJvb2wgY29udGFpbnNPbmx5SFRNTFdoaXRlc3BhY2UodW5zaWduZWQgZnJvbSwgdW5z
aWduZWQgbGVuZ3RoKSBjb25zdDsKLSAgICAKKyAgICBib29sIGNvbnRhaW5zT25seUhUTUxXaGl0
ZXNwYWNlKCkgY29uc3QgeyByZXR1cm4gY29udGFpbnNPbmx5SFRNTFdoaXRlc3BhY2UoMCwgdGV4
dCgpLmxlbmd0aCgpKTsgfSAKICAgICBib29sIGNhblVzZVNpbXBsaWZpZWRUZXh0TWVhc3VyaW5n
KCkgY29uc3QgeyByZXR1cm4gbV9jYW5Vc2VTaW1wbGlmaWVkVGV4dE1lYXN1cmluZzsgfQogCiAg
ICAgVmVjdG9yPHN0ZDo6cGFpcjx1bnNpZ25lZCwgdW5zaWduZWQ+PiBkcmFnZ2VkQ29udGVudFJh
bmdlc0JldHdlZW5PZmZzZXRzKHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBlbmRPZmZz
ZXQpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXll
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxM
YXllci5jcHAJKHJldmlzaW9uIDI1OTU0OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9GaWxsTGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDAsNiArMzQwLDE1IEBAIGJv
b2wgRmlsbExheWVyOjpjb250YWluc0ltYWdlKFN0eWxlSW1hZ2UKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKK2Jvb2wgRmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSgpIGNvbnN0Cit7Cisg
ICAgZm9yIChhdXRvKiBsYXllciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5tX25leHQu
Z2V0KCkpIHsKKyAgICAgICAgaWYgKGxheWVyLT5tX2ltYWdlICYmIGxheWVyLT5tX2ltYWdlLT5p
c0xvYWRlZCgpICYmIGxheWVyLT5tX2ltYWdlLT5oYXNDYWNoZWRJbWFnZSgpKQorICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBGaWxs
TGF5ZXI6OmltYWdlc0FyZUxvYWRlZCgpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvKiBsYXllciA9
IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5tX25leHQuZ2V0KCkpIHsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgJKHJldmlzaW9uIDI1OTU0OSkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMTQ1LDYgKzE0NSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgY29udGFpbnNJbWFn
ZShTdHlsZUltYWdlJikgY29uc3Q7CiAgICAgYm9vbCBpbWFnZXNBcmVMb2FkZWQoKSBjb25zdDsK
KyAgICBib29sIGhhc0xvYWRlZENhY2hlZEltYWdlKCkgY29uc3Q7CiAgICAgYm9vbCBoYXNJbWFn
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmV4dCA/IGhhc0ltYWdlSW5BbnlMYXllcigpIDogbV9pbWFn
ZTsgfQogICAgIGJvb2wgaGFzRml4ZWRJbWFnZSgpIGNvbnN0OwogICAgIGJvb2wgaGFzT3BhcXVl
SW1hZ2UoY29uc3QgUmVuZGVyRWxlbWVudCYpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiAyNTk1NDkpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00NDQsNiArNDQ0LDIxIEBAIGJvb2wgUmVuZGVyU3R5bGU6OmRlc2NlbmRhbnRB
ZmZlY3RpbmdOb24KICAgICAgICAgJiYgbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+anVzdGlmeUl0
ZW1zID09IG90aGVyLm1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmp1c3RpZnlJdGVtczsKIH0KIAor
Ym9vbCBSZW5kZXJTdHlsZTo6aGFzUGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdlKCkgY29u
c3QKK3sKKyAgICBpZiAoIWhhc0JhY2tncm91bmRJbWFnZSgpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBjb25zdCBGaWxsTGF5ZXImIGJhY2tncm91bmQgPSBiYWNrZ3JvdW5kTGF5ZXJz
KCk7CisgICAgaWYgKCFiYWNrZ3JvdW5kLmhhc0xvYWRlZENhY2hlZEltYWdlKCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIGlmIChiYWNrZ3JvdW5kU2l6ZUxlbmd0aCgpLmlzRW1wdHko
KSAmJiBiYWNrZ3JvdW5kU2l6ZVR5cGUoKSA9PSBGaWxsU2l6ZVR5cGU6OlNpemUpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOworfQorCiAjaWYgRU5BQkxFKFRFWFRf
QVVUT1NJWklORykKIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBjb21wdXRlRm9udEhhc2goY29u
c3QgRm9udENhc2NhZGUmIGZvbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaAkocmV2aXNpb24gMjU5NTQ5KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQxNSw2ICs0
MTUsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgTGVuZ3RoU2l6ZSYgYmFja2dyb3VuZFNpemVMZW5n
dGgoKSBjb25zdCB7IHJldHVybiBtX2JhY2tncm91bmREYXRhLT5iYWNrZ3JvdW5kLnNpemVMZW5n
dGgoKTsgfQogICAgIEZpbGxMYXllciYgZW5zdXJlQmFja2dyb3VuZExheWVycygpIHsgcmV0dXJu
IG1fYmFja2dyb3VuZERhdGEuYWNjZXNzKCkuYmFja2dyb3VuZDsgfQogICAgIGNvbnN0IEZpbGxM
YXllciYgYmFja2dyb3VuZExheWVycygpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2dyb3VuZERhdGEt
PmJhY2tncm91bmQ7IH0KKyAgICBib29sIGhhc1BhaW50YWJsZUNhY2hlZEJhY2tncm91bmRJbWFn
ZSgpIGNvbnN0OwogCiAgICAgU3R5bGVJbWFnZSogbWFza0ltYWdlKCkgY29uc3QgeyByZXR1cm4g
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bWFzay5pbWFnZSgpOyB9CiAgICAgRmlsbFJlcGVhdCBt
YXNrUmVwZWF0WCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEZpbGxSZXBlYXQ+KG1fcmFy
ZU5vbkluaGVyaXRlZERhdGEtPm1hc2sucmVwZWF0WCgpKTsgfQpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwCShyZXZpc2lvbiAy
NTk1NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNiArMTQ4LDIzIEBAIHN0YXRpYyBpbmxpbmUgdm9p
ZCB1cGRhdGVPYmplY3RCb3VuZGluZ0IKICAgICBvYmplY3RCb3VuZGluZ0JveC51bml0ZUV2ZW5J
ZkVtcHR5KG90aGVyQm91bmRpbmdCb3gpOwogfQogCisKK2Jvb2wgU1ZHUmVuZGVyU3VwcG9ydDo6
aGFzUmVuZGVyYWJsZUNoaWxkcmVuKGNvbnN0IFJlbmRlckVsZW1lbnQmIGNvbnRhaW5lcikKK3sK
KyAgICBmb3IgKGF1dG8mIGN1cnJlbnQgOiBjaGlsZHJlbk9mVHlwZTxSZW5kZXJPYmplY3Q+KGNv
bnRhaW5lcikpIHsKKyAgICAgICAgaWYgKGN1cnJlbnQuaXNTVkdIaWRkZW5Db250YWluZXIoKSkK
KyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIC8vIERvbid0IGluY2x1ZGUgZWxlbWVu
dHMgaW4gdGhlIHVuaW9uIHRoYXQgZG8gbm90IHJlbmRlci4KKyAgICAgICAgaWYgKGlzPFJlbmRl
clNWR1NoYXBlPihjdXJyZW50KSAmJiBkb3duY2FzdDxSZW5kZXJTVkdTaGFwZT4oY3VycmVudCku
aXNSZW5kZXJpbmdEaXNhYmxlZCgpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCiB2b2lkIFNWR1Jl
bmRlclN1cHBvcnQ6OmNvbXB1dGVDb250YWluZXJCb3VuZGluZ0JveGVzKGNvbnN0IFJlbmRlckVs
ZW1lbnQmIGNvbnRhaW5lciwgRmxvYXRSZWN0JiBvYmplY3RCb3VuZGluZ0JveCwgYm9vbCYgb2Jq
ZWN0Qm91bmRpbmdCb3hWYWxpZCwgRmxvYXRSZWN0JiBzdHJva2VCb3VuZGluZ0JveCwgRmxvYXRS
ZWN0JiByZXBhaW50Qm91bmRpbmdCb3gpCiB7CiAgICAgb2JqZWN0Qm91bmRpbmdCb3ggPSBGbG9h
dFJlY3QoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3Vw
cG9ydC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVu
ZGVyU3VwcG9ydC5oCShyZXZpc2lvbiAyNTk1NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuaAkod29ya2luZyBjb3B5KQpAQCAtODksNiArODksOCBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIFJlbmRlclNWR1Jvb3QqIGZpbmRUcmVlUm9vdE9iamVjdChS
ZW5kZXJFbGVtZW50Jik7CiAgICAgc3RhdGljIGNvbnN0IFJlbmRlclNWR1Jvb3QqIGZpbmRUcmVl
Um9vdE9iamVjdChjb25zdCBSZW5kZXJFbGVtZW50Jik7CiAKKyAgICBzdGF0aWMgYm9vbCBoYXNS
ZW5kZXJhYmxlQ2hpbGRyZW4oY29uc3QgUmVuZGVyRWxlbWVudCYpOworCiBwcml2YXRlOgogICAg
IC8vIFRoaXMgY2xhc3MgaXMgbm90IGNvbnN0cnVjdGFibGUuCiAgICAgU1ZHUmVuZGVyU3VwcG9y
dCgpOwpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTU0OSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDQtMDUgIE5vYW0g
Um9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZp
cnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgYSBydW50aW1lIGZsYWcgZm9yIHBhaW50LXRpbWluZyAocGFpbnRU
aW1pbmdFbmFibGVkKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdL
UHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJlbmNl
c0dldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGF0ZVByZWZlcmVuY2VzU3RvcmUpOgorCiAyMDIwLTA0
LTA0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIEFk
ZCBhIGZvdXJ0aCByb3VuZCBvZiBsb2dnaW5nIHRvIGhlbHAgZGlhZ25vc2UgPHdlYmtpdC5vcmcv
Yi8yMDk2ODU+CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJ
KHJldmlzaW9uIDI1OTU0OSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
LnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTgzOSw2ICs4MzksMTMgQEAgVXNlclRpbWluZ0VuYWJs
ZWQ6CiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBVc2VyVGltaW5nIEFQSSIK
ICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAorUGFpbnRUaW1pbmdF
bmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogdHJ1ZQorICBodW1hblJlYWRh
YmxlTmFtZTogIlBhaW50IFRpbWluZyIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5h
YmxlIFBhaW50IFRpbWluZyBBUEkiCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzCisKIEJlYWNvbkFQSUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVl
OiB0cnVlCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzLmNwcAkocmV2aXNpb24gMjU5NTQ5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4MTksNiArMTgxOSwx
NiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRVc2VyVGltaW5nRW5hYmxlZChXCiAgICAgcmV0dXJu
IHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnVzZXJUaW1pbmdFbmFibGVkKCk7CiB9CiAKK3ZvaWQg
V0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZl
cmVuY2VzUmVmLCBib29sIGZsYWcpCit7CisgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0
UGFpbnRUaW1pbmdFbmFibGVkKGZsYWcpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRQYWlu
dFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICBy
ZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+cGFpbnRUaW1pbmdFbmFibGVkKCk7Cit9CisK
IHZvaWQgV0tQcmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2Vz
UmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2Vz
UmVmKS0+c2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKGZsYWcpOwpJbmRleDogU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5o
CShyZXZpc2lvbiAyNTk1NDkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MDAsNiArNTAwLDEwIEBA
IFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRVc2VyVGltaW4KIFdLX0VYUE9SVCBib29s
IFdLUHJlZmVyZW5jZXNHZXRVc2VyVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIAog
Ly8gRGVmYXVsdHMgdG8gZmFsc2UKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRQYWlu
dFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKK1dLX0VYUE9SVCBi
b29sIFdLUHJlZmVyZW5jZXNHZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7
CisKKy8vIERlZmF1bHRzIHRvIGZhbHNlCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0
UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19F
WFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
V0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCShy
ZXZpc2lvbiAyNTk1NDkpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
V0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMiw2ICsx
MjIsNyBAQCB2b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjp1cGRhCiAgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRDYWNoZUFQSUVuYWJsZWQo
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpjYWNoZUFQSUVuYWJs
ZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0RmV0Y2hBUElFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNl
c0tleTo6ZmV0Y2hBUElFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLnNldFVzZXJUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6dXNlclRpbWluZ0VuYWJsZWRLZXkoKSkpOworICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1pbmdF
bmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFpbnRU
aW1pbmdFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnNldFJlc291cmNlVGltaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JL
ZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlc291cmNlVGltaW5nRW5hYmxlZEtleSgpKSk7CiAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUtlZXBB
bGl2ZUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpm
ZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVzdHJpY3RlZEhUVFBSZXNwb25zZUFjY2VzcyhzdG9y
ZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlc3RyaWN0ZWRIVFRQUmVz
cG9uc2VBY2Nlc3NLZXkoKSkpOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2
aXNpb24gMjU5NTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDQtMDUgIE5vYW0gUm9zZW50aGFsICA8
bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgYSBwcmVmZXJlbmNlIGtleSBmb3IgcGFpbnQgdGltaW5nLgorCisgICAgICAgICogV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6Cisg
ICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHBhaW50VGltaW5nRW5hYmxlZF0pOgorICAgICAgICAo
LVtXZWJQcmVmZXJlbmNlcyBzZXRQYWludFRpbWluZ0VuYWJsZWQ6XSk6CisgICAgICAgICogV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcu
bW06CisKIDIwMjAtMDQtMDQgIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KIAogICAg
ICAgICBSRUdSRVNTSU9OIChyMjU5MDk1KTogQVNTRVJUSU9OIEZBSUxFRDogbV92aWRlb0Z1bGxz
Y3JlZW5Nb2RlICE9IFZpZGVvRnVsbHNjcmVlbk1vZGVOb25lIHNlZW4gd2l0aCBUZXN0V2ViS2l0
QVBJLldlYktpdExlZ2FjeS5BdWRpb1Nlc3Npb25DYXRlZ29yeUlPUwpJbmRleDogU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlz
UHJpdmF0ZS5oCShyZXZpc2lvbiAyNTk1NDkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNjAs
NiArMjYwLDcgQEAKICNkZWZpbmUgV2ViS2l0QXR0YWNobWVudEVsZW1lbnRFbmFibGVkUHJlZmVy
ZW5jZUtleSBAIldlYktpdEF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEludGVyc2Vj
dGlvbk9ic2VydmVyRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TWVudUl0ZW1FbGVtZW50RW5hYmxl
ZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZW51SXRlbUVsZW1lbnRFbmFibGVkIgorI2RlZmluZSBX
ZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UGFpbnRUaW1pbmdF
bmFibGVkIgogI2RlZmluZSBXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRVc2VyVGltaW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFi
bGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZCIKICNkZWZpbmUg
V2ViS2l0TWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnRQcmVmZXJlbmNl
S2V5IEAiV2ViS2l0TWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQiCklu
ZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0JKHJldmlzaW9uIDI1OTU0OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTY4Myw2ICs2ODMsNyBAQCAr
ICh2b2lkKWluaXRpYWxpemUKICNpZiBFTkFCTEUoSU5URVJTRUNUSU9OX09CU0VSVkVSKQogICAg
ICAgICBATk8sIFdlYktpdEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXks
CiAjZW5kaWYKKyAgICAgICAgQE5PLCBXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNl
S2V5LAogICAgICAgICBATk8sIFdlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwK
ICAgICAgICAgQE5PLCBXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAog
ICAgICAgICBATk8sIFdlYktpdE1lZGlhVXNlckdlc3R1cmVJbmhlcml0c0Zyb21Eb2N1bWVudCwK
QEAgLTMzMDgsNiArMzMwOSwxNiBAQCAtICh2b2lkKXNldFVzZXJUaW1pbmdFbmFibGVkOihCT09M
KWZsYWcKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFVzZXJUaW1p
bmdFbmFibGVkUHJlZmVyZW5jZUtleV07CiB9CiAKKy0gKEJPT0wpcGFpbnRUaW1pbmdFbmFibGVk
Cit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UGFpbnRUaW1pbmdF
bmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0UGFpbnRUaW1pbmdFbmFibGVk
OihCT09MKWZsYWcKK3sKKyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktp
dFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCiAtIChCT09MKXJlc291cmNl
VGltaW5nRW5hYmxlZAogewogICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktp
dFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOwpJbmRleDogU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5o
CShyZXZpc2lvbiAyNTk1NDkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02NjEsNiArNjYxLDcgQEAg
QGludGVyZmFjZSBXZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZSkKIEBwcm9wZXJ0eSAobm9uYXRv
bWljKSBCT09MIGtleWdlbkVsZW1lbnRFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJP
T0wgdXNlclRpbWluZ0VuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCByZXNvdXJj
ZVRpbWluZ0VuYWJsZWQ7CitAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBwYWludFRpbWluZ0Vu
YWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBsaW5rUHJlbG9hZEVuYWJsZWQ7CiBA
cHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBtZWRpYVVzZXJHZXN0dXJlSW5oZXJpdHNGcm9tRG9j
dW1lbnQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBpc1NlY3VyZUNvbnRleHRBdHRyaWJ1
dGVFbmFibGVkOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQkocmV2aXNpb24gMjU5NTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMjAxLDYgKzMyMDEsNyBAQCAtICh2b2lk
KV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAKICAgICBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFVzZXJUaW1pbmdFbmFibGVkKHByZWZlcmVuY2Vz
LnVzZXJUaW1pbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnNldFJlc291cmNlVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5yZXNvdXJjZVRp
bWluZ0VuYWJsZWQpOworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkuc2V0UGFpbnRUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnBhaW50VGltaW5nRW5hYmxlZCk7
CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMaW5rUHJl
bG9hZEVuYWJsZWQocHJlZmVyZW5jZXMubGlua1ByZWxvYWRFbmFibGVkKTsKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldE1lZGlhUHJlbG9hZGluZ0VuYWJs
ZWQocHJlZmVyZW5jZXMubWVkaWFQcmVsb2FkaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRJc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVF
bmFibGVkKHByZWZlcmVuY2VzLmlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQpOwpJbmRl
eDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5NTQ5KQorKysgU291cmNl
L1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMjAtMDQtMDUgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAg
ICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgcHJlZmVyZW5jZSBrZXkgZm9y
IHBhaW50LXRpbWluZy4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJp
dmF0ZS5pZGw6CisgICAgICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAg
ICogV2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAg
ICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0No
YW5nZWQpOgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXMuaWRsOgorICAg
ICAgICAqIEludGVyZmFjZXMvV2ViS2l0LmlkbDoKKyAgICAgICAgICAgICAgICBUb3VjaGVkIHRv
IHRyaWdnZXIgYnVpbGQuCisKIDIwMjAtMDQtMDMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0
ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgU1BJIHRvIG1ha2UgV0tVc2VyU2NyaXB0
cyB3YWl0IGZvciBhIG5vdGlmaWNhdGlvbgpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDI1OTU0OSkKKysr
IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xOTcsNiArMTk3LDggQEAKIAogI2RlZmluZSBXZWJLaXRVc2VyVGltaW5n
RW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFVzZXJUaW1pbmdFbmFibGVkIgogCisjZGVmaW5l
IFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFBhaW50VGltaW5n
RW5hYmxlZCIKKwogI2RlZmluZSBXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNl
S2V5ICJXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0TGlua1By
ZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkIgpJbmRl
eDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24g
MjU5NTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMjYsNiArMzI2LDggQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6aW5p
dGlhbGl6ZURlZmF1bHRTZQogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENG
U1RSKFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFu
RmFsc2UpOwogCisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktp
dFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOworCiAg
ICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdExpbmtQcmVsb2Fk
RW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCiAgICAgQ0ZEaWN0aW9u
YXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdE1lZGlhUHJlbG9hZGluZ0VuYWJsZWRQ
cmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKQEAgLTI0MTQsNiArMjQxNiwyMCBAQCBI
UkVTVUxUIFdlYlByZWZlcmVuY2VzOjpyZXNvdXJjZVRpbWluZ0VuCiAgICAgcmV0dXJuIFNfT0s7
CiB9CiAKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFBhaW50VGltaW5nRW5hYmxlZChCT09M
IGVuYWJsZWQpCit7CisgICAgc2V0Qm9vbFZhbHVlKFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFBy
ZWZlcmVuY2VLZXksIGVuYWJsZWQpOworICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFdl
YlByZWZlcmVuY2VzOjpwYWludFRpbWluZ0VuYWJsZWQoX091dF8gQk9PTCogZW5hYmxlZCkKK3sK
KyAgICBpZiAoIWVuYWJsZWQpCisgICAgICAgIHJldHVybiBFX1BPSU5URVI7CisgICAgKmVuYWJs
ZWQgPSBib29sVmFsdWVGb3JLZXkoV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtl
eSk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNlcnZl
clRpbWluZ0VuYWJsZWQoX091dF8gQk9PTCogZW5hYmxlZCkKIHsKICAgICBpZiAoIWVuYWJsZWQp
CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgJKHJldmlzaW9u
IDI1OTU0OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTMwNyw2ICszMDcsOCBAQCBwdWJsaWM6CiAgICAgLy8gSVdlYlByZWZl
cmVuY2VzUHJpdmF0ZTgKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgYWxs
b3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhfT3V0XyBCT09MKik7CiAgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIHNldEFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoQk9P
TCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHBhaW50VGltaW5nRW5h
YmxlZChfT3V0XyBCT09MKik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IHNldFBhaW50VGltaW5nRW5hYmxlZChCT09MKTsKIAogICAgIC8vIFdlYlByZWZlcmVuY2VzCiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiAyNTk1NDkpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTI4NSw2ICs1Mjg1LDExIEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFu
Z2UKICAgICAgICAgcmV0dXJuIGhyOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQoISFlbmFibGVkKTsKIAorICAgIGhyID0g
cHJlZnNQcml2YXRlLT5wYWludFRpbWluZ0VuYWJsZWQoJmVuYWJsZWQpOworICAgIGlmIChGQUlM
RUQoaHIpKQorICAgICAgICByZXR1cm4gaHI7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJsZWQoISFlbmFibGVkKTsKKwogICAg
IGhyID0gcHJlZnNQcml2YXRlLT5yZXNvdXJjZVRpbWluZ0VuYWJsZWQoJmVuYWJsZWQpOwogICAg
IGlmIChGQUlMRUQoaHIpKQogICAgICAgICByZXR1cm4gaHI7CkluZGV4OiBTb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXMuaWRsCShy
ZXZpc2lvbiAyNTk1NDkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lX
ZWJQcmVmZXJlbmNlcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAvKgogICog
Q29weXJpZ2h0IChDKSAyMDA2LTIwMjAgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkluZGV4OiBTb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5pZGwJKHJldmlzaW9uIDI1OTU0OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI2NSw0ICsyNjUsNiBAQCBpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTggOiBJV2Vi
CiB7CiAgICAgSFJFU1VMVCBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKFtvdXQsIHJldHZh
bF0gQk9PTCogZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBzZXRBbGxvd1RvcE5hdmlnYXRpb25Ub0Rh
dGFVUkxzKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIHBhaW50VGltaW5nRW5hYmxl
ZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKKyAgICBIUkVTVUxUIHNldFBhaW50VGltaW5nRW5hYmxl
ZChbaW5dIEJPT0wgZW5hYmxlZCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9J
bnRlcmZhY2VzL1dlYktpdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93
aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsCShyZXZpc2lvbiAyNTk1NDkpCisrKyBTb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL1dlYktpdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0
LDcgKzI0LDcgQEAKICAqLwogCiBjcHBfcXVvdGUoIi8qIikKLWNwcF9xdW90ZSgiICogQ29weXJp
Z2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDE1IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4iKQorY3BwX3F1b3RlKCIgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIw
MDcsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTUsIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLiIpCiBjcHBfcXVvdGUoIiAqIikKIGNwcF9xdW90ZSgiICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IikKIGNw
cF9xdW90ZSgiICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIikKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTU0OSkKKysrIFRvb2xzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA0LTA1ICBOb2FtIFJvc2Vu
dGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBj
b250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIHByZWZlcmVuY2Uga2V5IGZvciBwYWludC10aW1pbmcuCisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChyZXNldFdl
YlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1Rv
Q29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2Vz
VG9Db25zaXN0ZW50VmFsdWVzKToKKwogMjAyMC0wNC0wNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBmb3VydGggcm91bmQgb2YgbG9nZ2lu
ZyB0byBoZWxwIGRpYWdub3NlIDx3ZWJraXQub3JnL2IvMjA5Njg1PgpJbmRleDogVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMjU5NTQ5KQorKysg
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDA0LDYgKzEwMDQsNyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVuY2VzVG9D
b25zaXN0CiAgICAgW3ByZWZlcmVuY2VzIHNldE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkOllF
U107CiAgICAgW3ByZWZlcmVuY2VzIHNldFJlc291cmNlVGltaW5nRW5hYmxlZDpZRVNdOwogICAg
IFtwcmVmZXJlbmNlcyBzZXRVc2VyVGltaW5nRW5hYmxlZDpZRVNdOworICAgIFtwcmVmZXJlbmNl
cyBzZXRQYWludFRpbWluZ0VuYWJsZWQ6WUVTXTsKIAogICAgIFtwcmVmZXJlbmNlcyBzZXRDYWNo
ZUFQSUVuYWJsZWQ6Tk9dOwogICAgIHByZWZlcmVuY2VzLm1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxl
ZCA9IFlFUzsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVl
LmNwcAkocmV2aXNpb24gMjU5NTQ5KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBS
ZW5kZXJUcmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTIxLDYgKzkyMSw3IEBAIHN0YXRpYyB2
b2lkIHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGkKICAgICBwcmVmc1ByaXZhdGUtPnNldEFs
bG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMob3B0aW9ucy5hbGxvd1RvcE5hdmlnYXRpb25Ub0Rh
dGFVUkxzKTsKICAgICBwcmVmZXJlbmNlcy0+c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChvcHRp
b25zLnVzZUVwaGVtZXJhbFNlc3Npb24pOwogICAgIHByZWZlcmVuY2VzLT5zZXRVc2VzUGFnZUNh
Y2hlKG9wdGlvbnMuZW5hYmxlQmFja0ZvcndhcmRDYWNoZSk7CisgICAgcHJlZnNQcml2YXRlLT5z
ZXRQYWludFRpbWluZ0VuYWJsZWQoVFJVRSk7CiB9CiAKIHN0YXRpYyBTdHJpbmcgYXBwbGljYXRp
b25JZCgpCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAko
cmV2aXNpb24gMjU5NTQ5KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzMSw2ICs5MzEsNyBAQCB2b2lkIFRlc3RDb250cm9s
bGVyOjpyZXNldFByZWZlcmVuY2VzVG9DCiAgICAgV0tQcmVmZXJlbmNlc1NldEZldGNoQVBJS2Vl
cEFsaXZlRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFJl
c291cmNlVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNl
c1NldFVzZXJUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKKyAgICBXS1ByZWZlcmVu
Y2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZl
cmVuY2VzU2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAg
V0tQcmVmZXJlbmNlc1NldE1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmUocHJlZmVyZW5jZXMsIHRy
dWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5
c0lubGluZUF0dHJpYnV0ZShwcmVmZXJlbmNlcywgZmFsc2UpOwpJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
MjU5NTQ5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMzEgQEAKKzIwMjAtMDQtMDUgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgor
CisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0cyBmb3Ig
c29tZSBmaXJzdC1jb250ZW50ZnVsLXBhaW50IChGQ1ApIHVzZS1jYXNlcy4KKworICAgICAgICAq
IHBlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanM6
IEFkZGVkLgorICAgICAgICAgICAgICAgIFRlc3QgZXhpc3RlbmNlIG9mIHBhaW50IHRpbWluZyBB
UEkgb24gdGhlIHdpbmRvdyBvYmplY3QuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmly
c3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtd2l0
aC13b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkv
Zmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sOiBBZGRlZC4KKyAg
ICAgICAgICAgICAgICBUZXN0IHRoYXQgRkNQIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNyb3NzLW9y
aWdpbiBmcmFtZXMgYW5kIHdvcmtlcnMuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVy
Zm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJz
dC1jb250ZW50ZnVsLXBhaW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFw
aS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5jIHdh
aXRGb3JGQ1ApOgorICAgICAgICAgICAgICAgIFRlc3QgdGhhdCBwZXJmb3JtYW5jZSBvYnNlcnZl
cnMgYXJlIGNhbGxlZCBmb3IgRkNQLgorCiAyMDIwLTA0LTA1ICBBbGV4ZXkgU2h2YXlrYSAgPHNo
dmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBPY3RhbCBlc2NhcGVzIHNob3VsZCBiZSBt
YXggMyBkaWdpdHMgYW5kIHN5bnRheCBlcnJvcnMgaW4gVW5pY29kZSBwYXR0ZXJucwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTk1NDkpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzgg
QEAKKzIwMjAtMDQtMDUgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAg
ICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBvcnRlZCB0ZXN0LXN1aXRlIGZy
b20gdzNjIHRvIGNvdmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FzZXMuCisgICAgICAgIFRo
ZSBmY3Atb25seSBjYXNlcyBhcmUgaW1wb3J0ZWQsIHdoaWxlIHRoZSBvdGhlciBvbmVzIGFyZSBu
b3Qgc2luY2UgV2ViS2l0IGRvZXMgbm90IHN1cHBvcnQgZmlyc3QtcGFpbnQuCisKKyAgICAgICAg
KiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdv
LXN0ZXBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1p
bnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24t
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtc2NhbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtZGlzcGxheS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC10ZXh0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtdGV4dC1pbnB1dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUu
c3ZnOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy9jaXJjbGVzLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJh
bWUtc2VuZGluZy1wYWludC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qczogQWRkZWQuCisgICAgICAgICh3YWl0
VGltZSk6CisgICAgICAgIChhc3luYyBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAg
ICAgICAgKGFzeW5jIGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKHRlc3Rf
ZmNwKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNl
cy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisKIDIwMjAtMDQtMDQgIEFudHRpIEtvaXZpc3RvICA8
YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCB0aGUgY3NzLWNvbG9yLTQgYmVo
YXZpb3IgZm9yIGluaGVyaXRhbmNlIG9mIGN1cnJlbnRDb2xvcgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRp
b25zLmpzb24JKHJldmlzaW9uIDI1OTU0OSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9y
ZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCSh3b3JraW5nIGNvcHkpCkBAIC0xMyw2
ICsxMyw4IEBACiAgICAgImNzcy9nZW9tZXRyeSI6ICJpbXBvcnQiLCAKICAgICAiY3NzL3N1cHBv
cnQiOiAiaW1wb3J0IiwgCiAgICAgImN1c3RvbS1lbGVtZW50cyI6ICJpbXBvcnQiLCAKKyAgICAi
cGFpbnQtdGltaW5nLyI6ICJpbXBvcnQiLCAKKyAgICAicGFpbnQtdGltaW5nL2ZjcC1vbmx5Ijog
ImltcG9ydCIsIAogICAgICJzaGFkb3ctZG9tIjogImltcG9ydCIsIAogICAgICJ0b29scyI6ICJp
bXBvcnQiLCAKICAgICAid2ViLWFuaW1hdGlvbnMiOiAiaW1wb3J0IiwgCkBAIC0zMTksNyArMzIx
LDggQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL29yaWVudGF0aW9uLWV2ZW50IjogInNraXAi
LCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL29yaWVudGF0aW9uLXNlbnNvciI6ICJza2lwIiwg
CiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYWdlLXZpc2liaWxpdHkiOiAic2tpcCIsIAotICAg
ICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nIjogInNraXAiLCAKKyAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seSI6ICJpbXBvcnQiLCAKKyAgICAid2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMiOiAiaW1wb3J0IiwgCiAgICAg
IndlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LWhhbmRsZXIiOiAic2tpcCIsIAogICAgICJ3ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1tZXRob2QtYmFzaWMtY2FyZCI6ICJza2lwIiwgCiAgICAg
IndlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LW1ldGhvZC1pZCI6ICJza2lwIiwgCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBiYWNrZ3JvdW5kIHNpemUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1z
aXplLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRp
dGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tncm91bmQg
c2l6ZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVs
YXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7Cisg
ICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwg
Y2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVu
dGZ1bCB7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOworICAgIH0KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2Ny
aXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemUuIik7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0
LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldDwvdGl0bGU+Cis8
c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGlu
IHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgYmFj
a2dyb3VuZC1pbWFnZTogLXdlYmtpdC1pbWFnZS1zZXQodXJsKC4uL3Jlc291cmNlcy9jaXJjbGVz
LnBuZykgMXgpOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS1zZXQodXJsKC4uL3Jl
c291cmNlcy9jaXJjbGVzLnBuZykgMXgpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFp
biI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldC4iKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVw
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1z
dGVwcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdl
LXR3by1zdGVwcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dyb3VuZCBpbWFnZSBv
bmx5IHdoZW4gdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3Rl
cHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+
Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgZmlyZSBm
b3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBhbmQgcHJlRkNQIGNsYXNzZXMgYXJlIGRlZmlu
ZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLnByZUZDUCB7CisgICAgICAgIHZp
c2liaWxpdHk6IGhpZGRlbjsKKyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVsLCAgI21haW4u
cHJlRkNQIHsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJj
bGVzLnBuZyk7CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHZpc2li
aWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4K
KzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZm9y
IGJhY2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGUuIik7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ2FudmFzIHNob3Vs
ZCBjb3VudCBhcyBjb250ZW50ZnVsIHdoZW4gY29udGV4dCBpcyBjcmVhdGVkIAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtY2FudmFzLWNvbnRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBG
Q1Agd2hlbiBjYW52YXMgY29udGV4dCBpcyBjcmVhdGVkPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Y2FudmFzIGlkPSJj
YW52YXMiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8c2NyaXB0PgorICBwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVy
Zm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7Cisg
ICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcs
IHIpKTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgY29u
c3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhbnZhcycpOworICAgIGNvbnN0
IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICBjb250ZXh0LmZpbGxSZWN0
KDAsIDAsIDEwMCwgMTAwKTsKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgp
OworICB9LCAnQ2FudmFzIHNob3VsZCBjb3VudCBhcyBjb250ZW50ZnVsIHdoZW4gY29udGV4dCBp
cyBjcmVhdGVkJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Z3JhZGllbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFk
aWVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mg
R3JhZGllbnRzIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bCAKKwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWdyYWRpZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBub3QgZmlyZSB3aXRo
IGdyYWRpZW50LW9ubHkgYmFja2dyb3VuZHM8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsK
KyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBi
YWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBvcmFuZ2UsIGJsdWUp
OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
dXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICBw
cm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRv
dy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4i
KTsKKyAgICAgIGNvbnN0IG1haW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbicpOwor
ICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9h
ZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAg
fSwgICdHcmFkaWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsJyk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1y
b3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90YXRp
bmcgaW50byB2aWV3LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUt
ZGVzY2VuZGFudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qt
cm90YXRlLWRlc2NlbmRhbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWlu
dCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byAzZCByZXZlYWxpbmcgb2YgZGVzY2VuZGFudHM8L3Rp
dGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiBy
ZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVk
ZWcpOworICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOworICAgIH0KKworICAg
IC8qCisgICAgICAgVGhpcyB0ZXN0cyB0aGF0IGdpdmVuIG11bHRpcGxpY2F0aW9uIGVmZmVjdCBv
ZiAzZCB0cmFuc2Zvcm1zIG9uIGJvdW5kaW5nIHJlY3QsCisgICAgICAgQW4gZWxlbWVudCBjb3Vu
dHMgYXMgY29udGVudGZ1bC9wYWludGFibGUgb25seSB3aGVuIGl0cyBib3VuZGluZyByZWN0IGlz
IHRydWx5IG5vbi1lbXB0eSAqLworICAgICNjaGlsZCB7CisgICAgICAgIHRyYW5zZm9ybTogcm90
YXRlWCg0NWRlZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVk
IGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAg
dHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAg
PGRpdiBpZD0iY2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2Zj
cCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRp
bmcgcm90YXRpbmcgaW50byB2aWV3LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXcuIAorCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNl
IFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldzwvdGl0
bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiBy
b3RhdGVZKDkwZGVnKTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6
IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3Rf
ZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3Jt
OiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+VGV4dDwvZGl2PgorPHNj
cmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8g
M2Qgcm90YXRpb24gaW50byB2aWV3LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIHJldmVhbGVkIGR1cmluZyB0cmFuc2l0aW9u
LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0
aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGluIHRy
YW5zaXRpb248L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEw
MHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAg
IHRyYW5zZm9ybTogc2NhbGUoMCk7CisgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMHM7
CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0KKwor
ICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICov
CisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7Cisg
ICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj5URVhUPC9kaXY+Cis8c2NyaXB0PgorICAg
IHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gcmV2ZWFsZWQgZHVy
aW5nIHRyYW5zaXRpb24uIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLXNjYWxlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWlu
dmlzaWJsZS1zY2FsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6
IEZDUCBkdWUgdG8gc2NhbGUgY2hhbmdlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7Cisg
ICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVm
dDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAgICAgICBwb3NpdGlvbjog
cmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJs
KC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBj
bGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50
ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBp
ZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byBzY2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4iKQorPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK0lOVklTSUJMRQorCitQ
QVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJl
Y29taW5nIHZpc2libGUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZv
cm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIHN0aWxsIGZpcmUgZm9yIGludmlz
aWJsZSB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9u
OiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgICAgIGNvbG9yOiByZ2JhKDAsIDAs
IDAsIDApOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0
ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHZpc2li
aWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICBJ
TlZJU0lCTEUKKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4iKQor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1k
ZXNjZW5kYW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0
eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBp
dHMgYW5jZXN0b3IgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiAKKwpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVz
dDogRkNQIGR1ZSB0byBhbmNlc3RvciBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFp
biB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDog
MDsKKyAgICB9CisKKyAgICAjY2hpbGQgeworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKwor
ICAgIC8qIGNvbnRlbnRmdWwgYW5kIGludGVybWVkaWF0ZSBjbGFzc2VzIGFyZSBkZWZpbmVkIGlu
IHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICNjaGlsZCB7CisgICAg
ICAgIG9wYWNpdHk6IDE7CisgICAgfQorCisgICAgI21haW4uaW50ZXJtZWRpYXRlICNjaGlsZCB7
CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorCisgICAgI21haW4uaW50ZXJtZWRpYXRlIHsK
KyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAg
ICAgICAgb3BhY2l0eTogMC41OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cisg
ICAgPGRpdiBpZD0iY2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0
X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdl
dHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBA
CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gb3BhY2l0eS1yZXZl
YWxlZCBlbGVtZW50LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1vcGFjaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVz
dDogRkNQIGR1ZSB0byBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDog
MHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAg
ICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAg
ICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZp
bmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAg
ICAgb3BhY2l0eTogMC4xOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVsZW1lbnQuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQg
ZmlyZXMgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiAKKwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVu
dGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlvbiB3aXRo
IGRvY3VtZW50LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRl
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNs
YXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0
byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQ8L3RpdGxlPgorPHN0
eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRl
KC0xMDAwcHgpOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsK
KyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7
CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNw
IHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBu
b25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0Pgor
ICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byB0cmFuc2Zv
cm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIikKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWlu
dCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudDwvdGl0
bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IC0xMDAwcHg7CisgICAgICAgIHBvc2l0aW9u
OiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1
cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVs
IGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRl
bnRmdWwgeworICAgICAgICBsZWZ0OiAwcHg7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJt
YWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiIpCis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtZGlzcGxheS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBz
ZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVk
by1lbGVtZW50IHRleHQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlz
cGxheS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRp
c3BsYXkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVl
IHRvIHBzZXVkby1lbGVtZW50IHRleHQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAg
ICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBjb250
ZW50OiAiVEVYVCI7CisgICAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAgLyogY29u
dGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFp
bi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgi
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4i
KQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0
byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC1pbWFnZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC1pbWFnZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC1pbWFnZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBk
dWUgdG8gcHNldWRvLWVsZW1lbnQgaW1hZ2U8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsK
KyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBk
ZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFmdGVy
IHsKKyAgICAgICAgY29udGVudDogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0
X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQg
aW1hZ2UuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHku
IAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRp
dGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVt
ZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAg
IGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBj
b250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNt
YWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBvcGFjaXR5OiAwLjU7CisgICAgfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgi
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0dGlu
ZyBwb3NpdGl2ZSBvcGFjaXR5LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWlu
ZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQ8L3RpdGxlPgorPHN0eWxlPgor
ICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDog
MTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1
bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250
ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiCisgICAgfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+
Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4iKQorPC9z
Y3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQg
ZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50
IGJlY29taW5nIHZpc2libGU8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAg
cG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAi
VEVYVCI7CisgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICB9CisKKyAgICAvKiBjb250
ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWlu
LmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOworICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJl
Y29taW5nIHZpc2libGUuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2
Zy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVu
dGZ1bCBwYWludCBmaXJlcyB3aGVuIFNWRyBiZWNvbWVzIGNvbnRlbnRmdWwuIAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atc3ZnLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1h
bmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agd2l0aCBTVkc8L3RpdGxlPgorPHN0eWxlPgorICAg
ICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICB9CisK
KyAgICAjY2lyY2xlIHsKKyAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAgLyogY29u
dGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFp
bi5jb250ZW50ZnVsICNjaXJjbGUgeworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICA8c3ZnIHZpZXdCb3g9IjAgMCAxMCAxMCIgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgorICAgICB4bWxuczp4bGluaz0iaHR0cDov
L3d3dy53My5vcmcvMTk5OS94bGluayI+CisgICAgPGRlZnM+CisgICAgICA8Y2lyY2xlIGlkPSJt
eUNpcmNsZSIgY3g9IjUiIGN5PSI1IiByPSI0IiBzdHJva2U9ImJsdWUiLz4KKyAgICA8L2RlZnM+
CisgICAgPHVzZSBpZD0iY2lyY2xlIiBocmVmPSIjbXlDaXJjbGUiIGZpbGw9ImdyZWVuIiAvPgor
ICA8L3N2Zz4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyB3aGVuIFNWRyBiZWNvbWVzIGNvbnRlbnRmdWwuIikKKzwvc2NyaXB0Pgor
PC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFRleHQgaW5wdXQgc2hvdWxk
IGJlY29tZSBjb250ZW50ZnVsIHdoZW4gaXRzIHZhbHVlIGlzIG5vbi1lbXB0eSAKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
dGV4dC1pbnB1dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSBmb3Ig
bm9uLWVtcHR5IHRleHQgaW5wdXQ8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9InRl
eHQiIC8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3Nl
cnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGlt
aW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0Zp
cnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdpbnB1dCcpOworICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsICcg
ICcpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgICAg
aW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsICd2YWx1ZScpOworICAgICAgYXdhaXQgYXNzZXJ0
Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ1RleHQgaW5wdXQgc2hvdWxkIGJlY29tZSBj
b250ZW50ZnVsIHdoZW4gaXRzIHZhbHVlIGlzIG5vbi1lbXB0eScpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNl
dWRvLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK0EKKworUEFT
UyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIG9ubHkgd2hlbiBzb21lIG9mIHRoZSB0ZXh0
IGlzIHZpc2libGUsIGNvbnNpZGVyaW5nIDo6Zmlyc3QtbGV0dGVyLiAKKwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
dHlwb2dyYXBoaWMtcHNldWRvLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIHNob3VsZCBub3QgZmlyZSB3aGVuIGFsbCB0ZXh0IGlzIGhpZGRlbiBkdWUgdG8g
dHlwb2dyYXBoaWMgcHNldWRvLWVsZW1lbnRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7
CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluICo6OmZpcnN0LWxldHRlciB7
CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBp
cyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICo6
OmZpcnN0LWxldHRlciB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2PkE8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0
ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBvbmx5IHdoZW4gc29tZSBvZiB0
aGUgdGV4dCBpcyB2aXNpYmxlLCBjb25zaWRlcmluZyA6OmZpcnN0LWxldHRlci4iKQorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFZpZGVvIHNob3Vs
ZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGZpcnN0IGZyYW1lIGlzIGxvYWRlZCAKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXZpZGVvLWZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZy
YW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0
byBsb2FkZWQgdmlkZW8gZnJhbWU8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIGF1dG9wbGF5
PjwvdmlkZW8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBh
c3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQg
VGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4g
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3NlcnRO
b0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd2aWRlbycpOworICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdzcmMnLCAn
L21lZGlhL3Rlc3QubXA0Jyk7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsK
KyAgICAgICAgdmlkZW8ub25jYW5wbGF5ID0gcmVzb2x2ZTsKKyAgICAgIH0pOworICAgICAgYXdh
aXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ1ZpZGVvIHNob3VsZCBiZWNv
bWUgY29udGVudGZ1bCB3aGVuIGZpcnN0IGZyYW1lIGlzIGxvYWRlZCcpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFZpZGVvIHNob3VsZCBi
ZWNvbWUgY29udGVudGZ1bCB3aGVuIHBvc3RlciBpcyBsb2FkZWQgCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8t
cG9zdGVyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhl
YWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gbG9h
ZGVkIHZpZGVvIHBvc3RlcjwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHZpZGVvIGlkPSJ2aWRlbyIgd2lkdGg9IjUwIiBo
ZWlnaHQ9IjUwIj48L3ZpZGVvPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4g
eworICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcs
ICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgIGF3YWl0IG5ldyBQcm9taXNl
KHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgYXdhaXQgYXNz
ZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIGNvbnN0IHZpZGVvID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3ZpZGVvJyk7CisgICAgY29uc3Qgc3JjID0gJy4uL3Jlc291cmNlcy9j
aXJjbGVzLnBuZyc7CisgICAgY29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTsKKyAgICBpbWFnZS5z
cmMgPSBzcmM7CisgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdwb3N0ZXInLCBzcmMpOworICAgIGF3
YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICBpbWFnZS5vbmxvYWQgPSBhc3lu
YyAoKSA9PiByZXNvbHZlKCk7CisgICAgfSkKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRm
dWxQYWludCgpOworICB9LCAnVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9z
dGVyIGlzIGxvYWRlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAK
K1RFWFQKKworUEFTUyBXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bC4g
CisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
d2hpdGVzcGFjZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IFdo
aXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsPC90aXRsZT4KKzxzdHlsZT4K
KyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6
IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdl
OiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgYmFja2dyb3VuZC1zaXpl
OiAwIDA7CisgICAgfQorCisgICAgI3RleHQgeworICAgICAgICBkaXNwbGF5OiBub25lOworICAg
IH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3Jp
cHQuICovCisgICAgI21haW4uY29udGVudGZ1bCAjdGV4dHsKKyAgICAgICAgZGlzcGxheTogYmxv
Y2s7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJ3aGl0
ZXNwYWNlIj4gICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8L2Rpdj4K
KzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIldoaXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3VudCBhcyBj
b250ZW50ZnVsLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC13aXRoLXJ0bC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdp
dGgtcnRsLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1y
dGwtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQ
QVNTIEZDUCBzaG91bGQgZmlyZSB3aGVuIGNvb3JkaW5hdGVzIGFyZSBuZWdhdGl2ZSwgaWYgd2l0
aGluIGRvY3VtZW50IHNjcm9sbGFibGUgYXJlYSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgt
cnRsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5j
ZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBkaXJlY3Rpb24gY2hhbmdlPC90aXRsZT4K
KzxzdHlsZT4KKyAgI3RleHQgeworICAgIHJpZ2h0OiAtMTAwcHg7CisgICAgcG9zaXRpb246IGFi
c29sdXRlOworICB9CisKKyAgYm9keSB7CisgICAgZGlyZWN0aW9uOiBydGw7CisgIH0KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keSBkaXJlY3Rpb249IlJUTCI+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9InRleHQiPlRFWFQ8L2Rpdj4KKzxzY3JpcHQ+
CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24o
d2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9y
dGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFp
bnQoKTsKKyAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuZGlyZWN0aW9uID0gJ2x0cicKKyAgICAg
IGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdGQ1Agc2hvdWxkIGZp
cmUgd2hlbiBjb29yZGluYXRlcyBhcmUgbmVnYXRpdmUsIGlmIHdpdGhpbiBkb2N1bWVudCBzY3Jv
bGxhYmxlIGFyZWEnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvdzNjLWltcG9ydC5sb2cJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw0MyBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0
ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRp
cmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAor
CitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQor
UHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWlt
YWdlLXR3by1zdGVwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90
YXRlLWRlc2NlbmRhbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFu
c2l0aW9uLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRh
bnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW9wYWNpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdmVy
Zmxvdy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LW9wYWNpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZp
c2liaWxpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXN2Zy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFt
ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdmlkZW8tcG9zdGVyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJj
ZXMvY2lyY2xlLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2Zwkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2Zwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDMgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIx
LjEiPgorICAgPGNpcmNsZSBjeD0iMTAwIiBjeT0iNTAiIHI9IjQwIiBzdHJva2U9ImJsYWNrIiBz
dHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIC8+Cis8L3N2Zz4KSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9z
dWJmcmFtZS1wYWludGluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1w
YWludGluZy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1wYWludGlu
Zy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGJvZHk+Cis8ZGl2IGlkPSJpbWFnZSI+PC9kaXY+Cis8c2NyaXB0PgorICBjb25zdCBpbWcgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdJTUcnKTsKKyAgaW1nLnNyYyA9ICdjaXJjbGVzLnBuZyc7
CisgIGltZy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBmdW5jdGlvbiBzZW5kUGFpbnRFbnRy
aWVzKCkgeworICAgICAgY29uc3QgcGFpbnRFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5VHlwZSgncGFpbnQnKTsKKyAgICAgIGlmIChwYWludEVudHJpZXMubGVuZ3RoIDwgMikgewor
ICAgICAgICBzZXRUaW1lb3V0KHNlbmRQYWludEVudHJpZXMsIDIwKTsKKyAgICAgICAgcmV0dXJu
OworICAgICAgfQorICAgICAgbGV0IGVudHJ5Q29udGVudHMgPSBwYWludEVudHJpZXMubGVuZ3Ro
ICsgJyc7CisgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhaW50RW50cmllcy5sZW5ndGg7IGkr
KykgeworICAgICAgICBjb25zdCBlbnRyeSA9IHBhaW50RW50cmllc1tpXTsKKyAgICAgICAgZW50
cnlDb250ZW50cyArPSAnICcgKyBlbnRyeS5lbnRyeVR5cGUgKyAnICcgICsgZW50cnkubmFtZTsK
KyAgICAgIH0KKyAgICAgIHBhcmVudC5wb3N0TWVzc2FnZShlbnRyeUNvbnRlbnRzLCAnKicpOwor
ICAgIH07CisgICAgc2VuZFBhaW50RW50cmllcygpOworICB9OworICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnaW1hZ2UnKS5hcHBlbmRDaGlsZChpbWcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQ+CisgIHNlbGYu
YWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uKGUpIHsKKyAgICAvLyBTZW5kIHBh
aW50LXRpbWluZyBlbnRyaWVzIHVwb24gcmVjZWl2aW5nIGEgbWVzc2FnZS4KKyAgICBjb25zdCBw
YWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdwYWludCcpOworICAg
IGxldCBlbnRyeUNvbnRlbnRzID0gcGFpbnRFbnRyaWVzLmxlbmd0aCArICcnOworICAgIGZvciAo
bGV0IGkgPSAwOyBpIDwgcGFpbnRFbnRyaWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICBjb25zdCBl
bnRyeSA9IHBhaW50RW50cmllc1tpXTsKKyAgICAgIGVudHJ5Q29udGVudHMgKz0gJyAnICsgZW50
cnkuZW50cnlUeXBlICsgJyAnICArIGVudHJ5Lm5hbWU7CisgICAgfQorICAgIHBhcmVudC5wb3N0
TWVzc2FnZShlbnRyeUNvbnRlbnRzLCAnKicpOworICB9KTsKKzwvc2NyaXB0PgpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVz
b3VyY2VzL3V0aWxzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1
NiBAQAorLy8gTnVtYmVyIG1pbGxpc2Vjb25kcyB0byB3YWl0IGZvciBDU1MgcmVzb3VyY2VzIHRv
IGxvYWQuCitjb25zdCBudW1NaWxsaXNlY29uZHNXYWl0ID0gNTA7CisKKy8vIFdlIHVzZSByZXF1
ZXN0QW5pbWF0aW9uRnJhbWUoKSBjYWxscyB0byBmb3JjZSB0aGUgdXNlciBhZ2VudCB0byBwYWlu
dCBhbmQgZ2l2ZSBlbm91Z2gKKy8vIHRpbWUgZm9yIEZDUCB0byBzaG93IHVwIGluIHRoZSBwZXJm
b3JtYW5jZSB0aW1lbGluZS4gSGVuY2UsIHNldCB8bnVtRnJhbWVzV2FpdGluZ3wgdG8KKy8vIDMg
YW5kIHVzZSB0aGF0IGNvbnN0YW50IHdoZW5ldmVyIHRoZSB0ZXN0IG5lZWRzIHRvIHdhaXQgZm9y
IHRoZSBuZXh0IHBhaW50IHRvIG9jY3VyLgorY29uc3QgbnVtRnJhbWVzV2FpdGluZyA9IDM7CisK
K2Z1bmN0aW9uIHdhaXRUaW1lKHQpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
dC5zdGVwX3RpbWVvdXQocmVzb2x2ZSwgbnVtTWlsbGlzZWNvbmRzV2FpdCkpOworfQorCitmdW5j
dGlvbiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKGNvdW50KSB7CisgIHJldHVybiBuZXcgUHJvbWlz
ZShyZXNvbHZlID0+IHsKKyAgICBpZiAoY291bnQtLSA8PSAwKSB7CisgICAgICByZXNvbHZlKCk7
CisgICAgfSBlbHNlIHsKKyAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAg
ICAgIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoY291bnQpLnRoZW4ocmVzb2x2ZSk7CisgICAgICB9
KTsKKyAgICB9CisgIH0pOworfQorCisvLyBBc3NlcnRzIHRoYXQgdGhlcmUgaXMgY3VycmVudGx5
IG5vIEZDUCByZXBvcnRlZCwgZXZlbiBhZnRlciBzb21lIHdhaXQuCithc3luYyBmdW5jdGlvbiBh
c3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpIHsKKyAgaWYgKHQpCisgICAgYXdhaXQgd2Fp
dFRpbWUodCk7CisKKyAgYXdhaXQgd2FpdEZvckFuaW1hdGlvbkZyYW1lcyhudW1GcmFtZXNXYWl0
aW5nKTsKKyAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJz
dC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoLCAwLCAnRmlyc3QgY29udGVudGZ1bCBwYWludCBt
YXJrZWQgdG9vIGVhcmx5LiAnKTsKK30KKworLy8gQXNzZXJ0cyB0aGF0IEZDUCBpcyByZXBvcnRl
ZCwgcG9zc2libHkgYWZ0ZXIgc29tZSB3YWl0LiBUaGUgd2FpdCBpcyBuZWVkZWQKKy8vIGJlY2F1
c2Ugc29tZXRpbWVzIHRoZSBGQ1AgcmVsaWVzIG9uIHNvbWUgQ1NTIHJlc291cmNlcyB0byBmaW5p
c2ggbG9hZGluZy4KK2FzeW5jIGZ1bmN0aW9uIGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQp
IHsKKyAgaWYgKHQpCisgICAgYXdhaXQgd2FpdFRpbWUodCk7CisgIGF3YWl0IHdhaXRGb3JBbmlt
YXRpb25GcmFtZXMobnVtRnJhbWVzV2FpdGluZyk7CisgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFu
Y2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0aCwgMSwg
J0V4cGVjdGVkIGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgbm90IGZvdW5kLiAnKTsKK30KKworZnVu
Y3Rpb24gdGVzdF9mY3AobGFiZWwpIHsKKyAgY29uc3Qgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdzdHlsZScpOworICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHN0eWxlKTsKKyAg
cmV0dXJuIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9u
KHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBv
cnRlZC4iKTsKKyAgICBjb25zdCBtYWluID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW4n
KTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCds
b2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAg
ICBtYWluLmNsYXNzTmFtZSA9ICdwcmVGQ1AnOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250
ZW50ZnVsUGFpbnQoKTsKKyAgICBtYWluLmNsYXNzTmFtZSA9ICdjb250ZW50ZnVsJzsKKyAgICBh
d2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCBsYWJlbCk7Cit9CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3czYy1p
bXBvcnQubG9nCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDIxIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0t
dGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmls
ZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05v
bmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmcKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1wYWludGluZy5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3Vi
ZnJhbWUtc2VuZGluZy1wYWludC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50
LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFw
aXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKK0Jhc2ljIElu
dGVyZmFjZSB0ZXN0IGZvciBwYWludC10aW1pbmcgQVBJcy4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcKK1BBU1MgUGVyZm9ybWFuY2VQYWlu
dFRpbWluZyBpcyBkZWZpbmVkLgorUEFTUyBQZXJmb3JtYW5jZVBhaW50VGltaW5nLnByb3RvdHlw
ZS50b0pTT04gaXMgZGVmaW5lZC4KK1BBU1MgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAo
ZXZhbHVhdGluZyAnbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKScpLgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BhaW50LXRp
bWluZy1hcGkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwyMCBAQAorUGFpbnQgQVBJIHNob3VsZCBiZSBhdmFpbGFibGUgZm9yIHNhbWUtb3JpZ2luIGZy
YW1lcyBidXQgbm90IHRvIGNyb3NzLW9yaWdpbi9zYW5kYm94ZWQgZnJhbWVzLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyByZWNlaXZlZEV2ZW50LnNvdXJjZSBpcyBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJykuY29udGVudFdpbmRvdworUEFTUyBy
ZWNlaXZlZEVudHJ5Lm5hbWUgaXMgJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnCitQQVNTIGRpZFJl
Y2VpdmVNZXNzYWdlRnJvbVNhbmRib3hlZElmcmFtZSBpcyBmYWxzZQorUEFTUyBBcnJheS5pc0Fy
cmF5KG5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcykgaXMgdHJ1ZQorUEFTUyBBcnJheS5pc0FycmF5
KHNhbmRib3hTdXBwb3J0ZWRUeXBlcykgaXMgdHJ1ZQorUEFTUyBkaWRSZWNlaXZlTWVzc2FnZSBp
cyB0cnVlCitQQVNTIG5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBp
cyB0cnVlCitQQVNTIHNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyBm
YWxzZQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2Fs
bGJhY2sgd2FzIGZpcmVkIGZvciBzYW1lLW9yaWdpbiBmcmFtZSBidXQgbm90IGZvciBjcm9zcy1v
cmlnaW4gZnJhbWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCisKK1RFWFQKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10
aW1pbmctZnJhbWVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CisgICAgPGlmcmFtZSB3aWR0aD0iMTAw
IiBoZWlnaHQ9IjEwMCIgaWQ9Im5vblNhbmRib3hlZCIgc3JjPSIuL3Jlc291cmNlcy9mY3Atc3Vi
ZnJhbWUuaHRtbCI+PC9pZnJhbWU+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorPGlmcmFt
ZSBpZD0ic2FuZGJveGVkIiBzcmM9Ii4vcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sIiBzYW5k
Ym94PSJhbGxvdy1zY3JpcHRzIj48L2lmcmFtZT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+
CisKKyAgICBURVhUCisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiUGFpbnQgQVBJIHNob3VsZCBi
ZSBhdmFpbGFibGUgZm9yIHNhbWUtb3JpZ2luIGZyYW1lcyBidXQgbm90IHRvIGNyb3NzLW9yaWdp
bi9zYW5kYm94ZWQgZnJhbWVzLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOword2lu
ZG93LmRpZFJlY2VpdmVNZXNzYWdlID0gZmFsc2U7CisKK3dpbmRvdy5vbmxvYWQgPSBhc3luYyAo
KSA9PiB7CisgICAgY29uc3Qgc2FuZGJveGVkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Nh
bmRib3hlZCcpOworICAgIGNvbnN0IG5vblNhbmRib3hlZCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdub25TYW5kYm94ZWQnKTsKKyAgICBjb25zdCBmY3BNZXNzYWdlUHJvbWlzZSA9IG5ldyBQ
cm9taXNlKHJlc29sdmUgPT4geworICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gZXZlbnQgPT4g
eworICAgICAgICAgICAgd2luZG93LnJlY2VpdmVkRXZlbnQgPSBldmVudDsKKyAgICAgICAgICAg
IGNvbnN0IGlzRnJvbVNhbmRib3hlZCA9IGV2ZW50LnNvdXJjZSA9PT0gc2FuZGJveGVkLmNvbnRl
bnRXaW5kb3c7CisgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gSlNPTi5wYXJzZShldmVudC5k
YXRhKTsKKyAgICAgICAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7CisgICAgICAgICAgICAg
ICAgY2FzZSAnc3VwcG9ydGVkJzoKKyAgICAgICAgICAgICAgICAgICAgaWYgKGlzRnJvbVNhbmRi
b3hlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zYW5kYm94U3VwcG9ydGVkVHlw
ZXMgPSBtZXNzYWdlLnN1cHBvcnRlZDsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgICAgICAgICAgd2luZG93Lm5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcyA9IG1lc3Nh
Z2Uuc3VwcG9ydGVkOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICBjYXNlICdyZWNlaXZlZCc6CisgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5kaWRSZWNlaXZl
TWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUgPSBpc0Zyb21TYW5kYm94ZWQ7CisgICAgICAgICAg
ICAgICAgICAgIHdpbmRvdy5yZWNlaXZlZEVudHJ5ID0gbWVzc2FnZS5lbnRyeTsKKyAgICAgICAg
ICAgICAgICAgICAgZGlkUmVjZWl2ZU1lc3NhZ2UgPSB0cnVlOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgncmVjZWl2ZWRFdmVudC5zb3VyY2UnLCAiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ25vblNhbmRib3hlZCcpLmNvbnRlbnRXaW5kb3ciKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoJ3JlY2VpdmVkRW50cnkubmFtZScsICInZmlyc3QtY29udGVudGZ1bC1wYWludCci
KTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICB9KTsKKworICAgIHNhbmRib3hl
ZC5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCJwYWludCIsICIqIik7CisgICAgYXdhaXQgd2Fp
dEZvckZDUCgpOworICAgIG5vblNhbmRib3hlZC5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCJw
YWludCIsICIqIik7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIGF3YWl0IGZjcE1lc3Nh
Z2VQcm9taXNlOworICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVNZXNzYWdlRnJvbVNhbmRi
b3hlZElmcmFtZScpOworICAgIHNob3VsZEJlVHJ1ZSgnQXJyYXkuaXNBcnJheShub25TYW5kYm94
U3VwcG9ydGVkVHlwZXMpJyk7CisgICAgc2hvdWxkQmVUcnVlKCdBcnJheS5pc0FycmF5KHNhbmRi
b3hTdXBwb3J0ZWRUeXBlcyknKTsKKyAgICBzaG91bGRCZVRydWUoJ2RpZFJlY2VpdmVNZXNzYWdl
Jyk7CisgICAgc2hvdWxkQmVUcnVlKCdub25TYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5jbHVkZXMo
InBhaW50IiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCdzYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5j
bHVkZXMoInBhaW50IiknKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIGZp
cnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2FzIGZpcmVkIGZvciBzYW1lLW9yaWdpbiBm
cmFtZSBidXQgbm90IGZvciBjcm9zcy1vcmlnaW4gZnJhbWUiKTsKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK307CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgt
d29ya2VyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDEzIEBACitQYWludCBBUEkgc2hvdWxkIG5vdCBiZSBhdmFpbGFibGUg
aW4gd29ya2VyIGNvbnRleHRzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50
IikgaXMgdHJ1ZQorUEFTUyB3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWlu
dCIpIGlzIGZhbHNlCitQQVNTIHdvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoIm1h
cmsiKSBpcyB0cnVlCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBl
cyBkaWQgbm90IGluY2x1ZGUgJ3BhaW50JyBmb3Igd29ya2VycworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWlu
Zy13aXRoLXdvcmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9D
VFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFw
aS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiUGFpbnQgQVBJIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlIGluIHdvcmtlciBjb250ZXh0
cy4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2NvbnN0IHdvcmtlciA9IG5ldyBX
b3JrZXIoIi4vcmVzb3VyY2VzL3dvcmtlci5odG1sIik7Cit3b3JrZXIub25tZXNzYWdlID0gZXZl
bnQgPT4geworICAgIHdpbmRvdy53b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzID0gSlNPTi5wYXJz
ZShldmVudC5kYXRhKTsKKyAgICBzaG91bGRCZVRydWUoJ1BlcmZvcm1hbmNlT2JzZXJ2ZXIuc3Vw
cG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKScpOworICAgIHNob3VsZEJlRmFsc2Uo
J3dvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICBzaG91
bGRCZVRydWUoJ3dvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoIm1hcmsiKScpOwor
ICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcyBk
aWQgbm90IGluY2x1ZGUgJ3BhaW50JyBmb3Igd29ya2VycyIpOworICAgIGZpbmlzaEpTVGVzdCgp
OworfTsKKword29ya2VyLnBvc3RNZXNzYWdlKCJzdGFydCIpOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1v
YnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3Qt
Y29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKK1BBU1Mg
ZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50IGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2Uu
Z2V0RW50cmllcygpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5h
bWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGggaXMgMQorUEFTUyBwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IiwgInBhaW50IikubGVu
Z3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5sZW5n
dGggaXMgMQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQg
Y2FsbGJhY2sgd2Fzbid0IGZpcmVkIGFnYWluIAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCitURVhUMgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2Jz
ZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50
ZnVsLXBhaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MSBAQAorPCFET0NUWVBF
IEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0
aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCJFbnN1cmUgUGVyZm9ybWFuY2VPYnNlcnZlcnMgYXJlIG5vdGlmaWVkIG9uY2UgZm9yIGZpcnN0
LWNvbnRlbnRmdWwtcGFpbnQuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisgCiso
YXN5bmMgKCkgPT4geworICAgIHdpbmRvdy5kaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQg
PSBmYWxzZTsKKyAgICB3aW5kb3cuc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAg
YXdhaXQgd2FpdEZvckZDUCgpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewor
ICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGVudHJ5TGlz
dCA9PiB7CisgICAgICAgICAgICB3aW5kb3cuZW50cnlMaXN0ID0gZW50cnlMaXN0OworICAgICAg
ICAgICAgc2hvdWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzKCkubGVuZ3RoJywgIjEiKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29u
dGVudGZ1bC1wYWludCIpLmxlbmd0aCcsIDEpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2VudHJ5
TGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCcsICIxIik7CisgICAgICAgICAg
ICB3aW5kb3cuZmNwRW50cnkgPSBlbnRyeUxpc3QuZ2V0RW50cmllcygpWzBdOworICAgICAgICAg
ICAgc2hvdWxkQmVGYWxzZSgnZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50Jyk7CisgICAg
ICAgICAgICBzaG91bGRCZSgnZmNwRW50cnkubmFtZScsICciZmlyc3QtY29udGVudGZ1bC1wYWlu
dCInKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5lbnRyeVR5cGUnLCAnInBhaW50
IicpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdmY3BFbnRyeS5zdGFydFRpbWUgPiB3aW5k
b3cuc3RhcnRUaW1lJyk7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoJ2ZjcEVudHJ5LnN0YXJ0
VGltZSA8IHBlcmZvcm1hbmNlLm5vdygpJyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50
cnkuZHVyYXRpb24nLCAiMCIpOworICAgICAgICAgICAgZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1
bFBhaW50ID0gdHJ1ZTsKKyAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgfSk7CisKKyAg
ICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydwYWludCddfSk7CisgICAgICAg
IGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQnOworICAgIH0pCisgICAgZG9jdW1lbnQu
Ym9keS5pbm5lclRleHQgPSAnVEVYVDInOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBz
aG91bGRCZVRydWUoJ2RpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCcpOworICAgIHNob3Vs
ZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKCkubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRC
ZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIp
Lmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5h
bWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiLCAicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAg
IHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCcs
ICIxIik7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50
ZnVsLXBhaW50IGNhbGxiYWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAiKTsKKyAgICBmaW5pc2hKU1Rl
c3QoKTsKK30pKCk7CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1l
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291
cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACis8
IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGNvbnN0IG9ic2Vy
dmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7CisgICAgICAgIGxpc3QuZ2V0
RW50cmllcygpLmZvckVhY2goZW50cnkgPT4geworICAgICAgICAgICAgd2luZG93LnBhcmVudC5w
b3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZTogJ3JlY2VpdmVkJywgZW50cnl9KSwgJyon
KTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5
cGVzOiBbInBhaW50Il19KTsKKyAgICB3aW5kb3cub25tZXNzYWdlID0gZSA9PiB7CisgICAgICAg
IHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3N1cHBvcnRlZDogUGVy
Zm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLCB0eXBlOiAnc3VwcG9ydGVkJ30p
LCAnKicpOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICJURVhUIjsKKyAgICB9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1h
cGktdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1
IEBACithc3luYyBmdW5jdGlvbiB3YWl0Rm9yRkNQKCkKK3sKKyAgICBhd2FpdCBuZXcgUHJvbWlz
ZShyZXNvbHZlID0+IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiByZXNvbHZlKCkpKTsKKyAg
ICByZXR1cm4gd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ2ZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQnKS5sZW5ndGggPT0gMTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWlu
Zy1hcGkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291
cmNlcy9wYWludC10aW1pbmctYXBpLmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDEzIEBACitpZiAoc2VsZi5pbXBvcnRTY3JpcHRzKQorICAgIGltcG9ydFNj
cmlwdHMoIi4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyIpOworCitpZiAoc2VsZi53aW5k
b3cpCisgICAgZGVzY3JpcHRpb24oIkJhc2ljIEludGVyZmFjZSB0ZXN0IGZvciBwYWludC10aW1p
bmcgQVBJcy4iKTsKKworZGVidWcoIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmciKTsKK3Nob3VsZEJl
RGVmaW5lZCgiUGVyZm9ybWFuY2VQYWludFRpbWluZyIpOworc2hvdWxkQmVEZWZpbmVkKGBQZXJm
b3JtYW5jZVBhaW50VGltaW5nLnByb3RvdHlwZS50b0pTT05gKTsKK3Nob3VsZFRocm93KGBuZXcg
UGVyZm9ybWFuY2VQYWludFRpbWluZygpYCk7CisKK2lmIChzZWxmLmltcG9ydFNjcmlwdHMpCisg
ICAgZmluaXNoSlNUZXN0KCk7CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVz
b3VyY2VzL3dvcmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDMgQEAKK3NlbGYub25tZXNzYWdlID0gKCkgPT4geworICAgIHNlbGYucG9zdE1lc3Nh
Z2UoSlNPTi5zdHJpbmdpZnkoUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVz
KSk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNs
ZXMucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5
IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy9jaXJjbGVzLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0w
LDAgKzEgIyMKK2ltYWdlL3BuZwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CgppVkJP
UncwS0dnb0FBQUFOU1VoRVVnQUFBQ1FBQUFCSUNBWUFBQUNlTmxlNUFBQUM3bWxEUTFCSlEwTWdV
SEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9SRmlh
d3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZwRktONnJL
R0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVKcQov
SWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAxQTRF
ZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVBMUxj
NS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFHY1R2
WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FWdHhx
cAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUrTHFIQlgw
bTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNHUEJv
eE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFDSkw4UWY0
cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhSNWFz
ZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdqRTMzNTlz
ZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlLVEVt
ZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2VVov
RFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUzSHZF
S0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1OT1ds
czA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2ZkVw
MHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQUEKQ1hCSVdYTUFB
QXNUQUFBTEV3RUFtcHdZQUFBR1owbEVRVlJvQmUyYVVXOVZSUkRIZDY4dEVWSkxXMktDeENZK2ln
UURvWWtLZmdKOAo5TWtuRXZFZHZvQ21rUytBNzJwQ1FzS1RqL0lKQkNTQjFOU29QSnFVMUNha2dO
aUFhZU5kZi8rWk9UMjM1OTdTRnU3bDZVeXk1K3pPCjJaMlpuWjNkblpsN2M1clBKZTBLU3NwcGhw
NzdVMG1QcUQvZEhGVVJ5SnVZUko4RDlKa0c4NHo2UTk2OVgzczZOcXBqalhhaktTTGQKRUdRZjlS
V0lPK21TenNMMUJLMVp5aUdLaEZqbHVVU0hYeGh6bmZaVEV5T253K0RYUTdDTzllUXhFSjRqa0Zp
UFFWREVsbTF3S1oveQpQcGRLT2MzYmhiQVB6UWREVGJoOGsvZVZsUE1QMWlPbkk3UWZVTitnRE5a
WTdsOHkxMHBLa3d3Wlp5Q3pMbWNSNG12YXA0eHdTYjlDCjd5YnRoVlR5SDd6L0R2ekJsTXRSbUo1
a3pHbnd4d04vRjZHK1lzeDEyb2Y0TG9HZVVQcTExUkNvWGlLdHUxcWxmTWZqYzJvc1hiNkcKQUpm
QjM2RU5tbUo5ckZYWGhST1VOSWVBRjZIeEdTMlk1KytoY1Q3R3pmQ1diVzBWcWlGUVpiZ1BiVkRx
L3N5QUR5ZzNHUGNGNzNzbQpRTEpsRkNITlZMYlI1UzJCaEpPdFNiUEN1YzJsOUM3TmIybWZvZHlH
MW9kQnB4S3Ftb0tNWkJNMDMwbUtwQWE2di9NNENwZHZLQmVECndDek10VHdyNmdIVWhOUVNCWWVx
cG1VL0NPcGVLcDJQNlhDWmNzRnBkOTRETDE3aXFlVnpXcHBTTk1aQmpSdlJnbWF5Q2FOMWx6QnYK
MDJlS2IreWd0QmI5dHdvRHNnZjBUV1V0eGt3NURXZ2xiRW0weGNPWFhOcFUyU0tRdHZhYklGZFpj
MnlHWlNxbW1VdmczMkhnWDVUSApNYWlhUGMwZHdWbHFyR2lJVnNxWG5EWThuQmM4alhlMTdQTzUr
QUdHM2JDYlV2bVJEamRNeGRLTUNMazk3TWg5RngwNjBINExtdmRUCjd2N0VHNXZLbjJEbzJuMnlw
MGV5UXMxQ2hnaXd0WTI1R2JBUVdwNy9WQmtTaUpab0FzWURyUmhQSVNSRFNSMi9EdGdOZHVpZDhx
MXQKdTBrR1hDMlRCZ3dEc3RITW5PNUZQRGhHRW1lYjgxNUJlelBTa080bXdUbDdKczRaZ2UrbXNI
bi9NcVJuSjJoRExualo2Vy9VOTZlTwpYNVI4czVOMUVmUWRKTlYxb2Ezb29scmZvVDFFODBud0VL
L0Y0QzF1MkpCdWJWMlVSVWQ2dmhWc1I2R1o1b3ljaDNnYWIyU1FMSUU5CkViMjVtNnltRTlqUGhT
YVo0YlJGZXlONExUaEo4eHo4SWdFeDYwaTdLRlZkOS9aSW4rcytaWGc2dUF4anJoRjNKWFJyZTlz
UHFWSEsKVTk5L0ZVOTVBWnNhR2lYcnZkSEdxQVh5OUdUbCtETzgvZFkyMU1nZTRpRmU0dW1nSzJS
VFE3bzBBWE91VkltVFc5V1J3VDQzRDNnNgp1QXkreS9DQkhVNmFsSDc3dWpYRmh5Ry9SRnZlaFFE
dlVoQXlZTlNLRG5TNXlWWEZWN1plb3pmcTZzTFdnZXdtbzZEZ2dBN0dhVk5kCk1ZZGNQdkFjYlRs
Z2NweDhEbFNHQ0tJNUdUekU2emdIc29JQmNadld3ZmdzMkY1eHB2akFBdmYwUnFFcCtWNWh5TUVy
S1RJeHJwSmwKSGdIdDd1TEc3OHA1eDQ0Nng1Qlkvck84eE1jbW52Vi82WWQ4ZHFlWjhiTkw5emNv
THNCdmp2ZGhlSzFJUTVJdFRtYUZLa0taUTA0MQpUVkJlVTJWSUlGcWlDUmdQc1JkUGdXU0lBOGZE
a1NQbXVXVkNGZlBrY01qTnM3TnJoWUcwWGh3MFZ1ZU8vS0Q3a0JMdE0vQlRXS1FOCnBRRFNnNHVJ
T3VTalBHQ0Fidnp6RERpR1MzQUIzQ3B0K2RWeTh1V3dhL24ySXB5MEw1dVo0ajNCK0QraC9XWFF2
bTI4aktkRnMwNDMKQk5JTWRQdHVNQmdnYmlvS2c4eTlsSkFlQnZrTUZRYkpWeEs0S1hxOTkxbHA4
dzE2eUlDWGZESVJCcFZFdEFzUGdVZXh0WGNSQXVtVAppSXZSREFYMUtXNVNvS2c0cXJBOVh6aFFG
TTMrUUJFa0VMeDZKaVk5OVlDV1RtdXBqb2lvV2JET0ZuR3lJM0s1eW5mdENKMVR5OVNWCk9KREcv
b21pbTF1NFpRcTcxa0xwcTB4TXUwa1JCallUbXZFb1E3eTJpc0MyYithSGZOMTFlRzJmYkZpRStD
MitQeS9aOEJIZjM0ZWgKbHVVdXhzdHUybnV5d2NiSFEzYWcrMFlCcEdZTTRVakgyQlh6dkhTTTll
WXE0Z1MyUXkvU01iNmI5cHlPTVdyeGNHMTVxQ1FQUU1zQQpINHI4OEl6YldleFljQWZQSWw4Wk1C
ZWxKNnk4cnljbmRwZXdHckJrSVV2ZnE4cU12STRRaWhwMERBd0dGM2lDUHBOMCtKZCtzaFZoCmQ0
YXRGclZ6LzVIMzZObjJnM2k5N0pLdG1WNWVXWTV4MEpJWmprZWJZOVFDU3h0dXdMN2NWYjB5M3pi
SDJOekt0VTFWdFRiSDZMYXoKL2RPdFRINVVtMlBjWGt1OVg5b2NZNjgydHF1M09jYnROTlBFdTZQ
UjVoaWJlcW5iYlk2eDFzVmVhbTJPc2RaV20yT3NkVEc0MWpWMAptMlBzMTA2YlkrelhTWTFwYzR5
MUxyeFdoZUp0ampIT0ZFdlBLWS9VKzJlVU5zZElpbmZnSDVyYUhHUC9uK0w4ZDY4bFF2NVhtbVBV
Clh6Tkc5N2ZCL3dGWmJnMDVFRU51TndBQUFBQkpSVTVFcmtKZ2dnPT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396106</attachid>
            <date>2020-04-10 11:24:03 -0700</date>
            <delta_ts>2020-04-13 10:47:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200410212400.patch</filename>
            <type>text/plain</type>
            <size>144058</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTg3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEwNCBAQAorMjAyMC0wNC0wNSAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BhaW50LXRpbWluZy8jZmlyc3QtY29udGVudGZ1bC1wYWludC4KKyAgICAgICAgQ3VycmVu
dGx5IG11dHVhbGx5IGV4Y2x1c2l2ZSB0byB2aXN1YWxseS1ub24tZW1wdHkgaGV1cmlzdGljcy4K
KworICAgICAgICBXaGVuIHRoZSBmcmFtZSBwYWludHMgb3IgZmx1c2hlcyB0aGUgY29tcG9zaXRp
bmcgc3RhdGUsIGl0IG1hcmtzIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgYXMgYSBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IHBlcmZvcm1hbmNlIGVudHJ5LgorCisgICAgICAgIFRlc3RzOiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
dmlzaWJpbGl0eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10ZXh0LWlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdpdGgtcnRsLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9maXJz
dC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5j
ZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sCisgICAgICAgICAg
ICAgICBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAorICAgICAgICAgICAg
ICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBT
b3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRU
aW1pbmcuaDogCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDoKKyAg
ICAgICAgICAgICAgICBBZGQgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNlLgor
CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFibGVk
IGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgUGFpbnRUaW1pbmdFbmFibGVkIHJ1bnRpbWUg
ZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJp
bmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNQYWludCBjb25zdCk6CisgICAgICAgICAgICAgICAgQWRk
IGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgZW50
cmllcy4KKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKToKKyAg
ICAgICAgICAgICAgICBBZGQgInBhaW50IiB0byBzdXBwb3J0ZWRFbnRyeVR5cGVzIHdoZW4gaW4g
ZWxpZ2libGUgYnJvd3NpbmcgY29udGV4dC4KKworICAgICAgICAqIHJlbmRlcmluZy9Db250ZW50
ZnVsUGFpbnRDaGVja2VyLmg6IAorICAgICAgICAqIHJlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRD
aGVja2VyLmNwcDoKKyAgICAgICAgICAgICAgICBBZGQgbG9naWMgZm9yIGNvbXB1dGluZyB3aGV0
aGVyIGVsZW1lbnRzIGFyZSBjb250ZW50ZnVsICYgcGFpbnRhYmxlLCBhcyBwZXIgc3BlYy4KKwor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3VwcG9ydDo6aGFzUmVuZGVyYWJsZUNoaWxkcmVu
IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5oOgorICAgICAg
ICAgICAgICAgIFV0aWxpdHkgdG8gc2VlIGlmIGFuIFNWRyByb290IGhhcyBhbnkgcmVuZGVyYWJs
ZSBjaGlsZHJlbi4KKworICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSBjb25zdCk6
CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oOgorICAgICAgICAqIHJlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHls
ZTo6aGFzUGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdlIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgICAgICAgICBBZGQgaGVscGVy
IGZvciBmaW5kaW5nIG91dCBpZiBiYWNrZ3JvdW5kIGNvbnRhaW5zIGxvYWRlZCBjYWNoZWQgaW1h
Z2VzLgorCisgICAgICAgICogcGFnZS9Eb2N1bWVudC5oOgorICAgICAgICAqIHBhZ2UvRG9jdW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6Om1hcmtQYWludFRpbWluZ0lmTmVl
ZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzdXBwb3J0c1BhaW50VGltaW5nKToK
KyAgICAgICAgICAgICAgICBNYXJrIEZDUCBvbmNlIGZvciBlbGlnaWJsZSBkb2N1bWVudHMuCisK
K2AgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNGcmFtZSk6CisgICAgICAgICAgICAgICAg
TWFyayBmaXJzdC1jb250ZW50ZnVsLXBhaW50IHJpZ2h0IGFmdGVyIGZsdXNoaW5nIGxheWVyIHRy
ZWUuICAgICAgICAgICAgICAgIAorCiAyMDIwLTA0LTEwICBBbnR0aSBLb2l2aXN0byAgPGFudHRp
QGFwcGxlLmNvbT4KIAogICAgICAgICBbQ1NTIFNoYWRvdyBQYXJ0c10gQmFkIHN0eWxlIHNoYXJp
bmcgYmV0d2VlbiBzaWJsaW5nIGVsZW1lbnRzIHdpdGggZGlmZmVyZW50IHBhcnQgYXR0cmlidXRl
cwpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDI1OTg3OSkKKysrIFNvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC05MzYsNiArOTM2LDcgQEAg
c2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2
ZXJDYWxsYmFjay5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRs
CiAgICAgcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsCisgICAgcGFnZS9QZXJmb3JtYW5j
ZVBhaW50VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwK
ICAgICBwYWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFu
Y2VUaW1pbmcuaWRsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9u
IDI1OTg3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcg
Y29weSkKQEAgLTkyNiw2ICs5MjYsNyBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJD
b3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVy
Zm9ybWFuY2VQYWludFRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlU2Vy
dmVyVGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlk
bCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjU5ODc5KQorKysgU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIxMjEsNiArMjEyMSw3IEBAIHJlbmRl
cmluZy9CcmVha0xpbmVzLmNwcAogcmVuZGVyaW5nL0NTU0ZpbHRlci5jcHAKIHJlbmRlcmluZy9D
bGlwUmVjdC5jcHAKIHJlbmRlcmluZy9Db21wbGV4TGluZUxheW91dC5jcHAKK3JlbmRlcmluZy9D
b250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAogcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmNwcAogcmVu
ZGVyaW5nL0VsbGlwc2lzQm94LmNwcAogcmVuZGVyaW5nL0V2ZW50UmVnaW9uLmNwcApAQCAtMzE5
OSw2ICszMjAwLDcgQEAgSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCiBKU1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHAKIEpTUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAKK0pTUGVyZm9ybWFuY2VQYWludFRpbWluZy5jcHAK
IEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VTZXJ2ZXJUaW1p
bmcuY3BwCiBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjU5ODc5KQor
KysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MDUzLDYgKzQwNTMsNyBAQAogCQlDOUY4N0NGRTFCMjhGNDBFMDA5NzlC
ODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDOUY4N0NGRDFCMjhFNUY2MDA5NzlCODMgLyogTWVkaWFTZXNzaW9u
RXZlbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQ0EzQkY2N0UxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQTNCRjY3RDEwRDk5QkFFMDBF
NkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlDQTZDMTUzMDIyMEI5OENDMDA1NUNCRkMgLyogSlNWYWx1ZUlu
V3JhcHBlZE9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTMxQUUzQjgxRkI4MEVBRTAwRjVFRkIyIC8qIEpTVmFsdWVJbldyYXBwZWRPYmplY3Qu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDQTdF
OUI0OTI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0E3RTlCNDcyNDM2MURDNTAw
NEU4OUY2IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIuaCAqLzsgfTsKIAkJQ0FFOUY5MTAxNDY0
NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENBRTlGOTBFMTQ2NDQxRjAwMEMyNDVCMCAvKiBD
U1NBc3BlY3RSYXRpb1ZhbHVlLmggKi87IH07CiAJCUNCMzhGRDUyMUNDRjkzOTQwMDU5MkEzRiAv
KiBKU1BlcmZvcm1hbmNlRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENCMzhGRDRFMUNDRjkzN0UwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50
cnkuaCAqLzsgfTsKIAkJQ0IzOEZENUIxQ0QyMzI1QjAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0IzOEZENTkxQ0QyMzE0NTAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5oICovOyB9OwpAQCAtMTM4MTcsNiArMTM4MTgsOCBAQAogCQlDQTA5MUQ4NjIzQ0Y5MDc4
MDBBRDQzNDYgLyogU3R5bGVJbWFnZVNldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUlt
YWdlU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EwOTFEODkyM0NGOTA4
ODAwQUQ0MzQ2IC8qIFN0eWxlSW1hZ2VTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVJbWFnZVNl
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTE2MzVEQzIwNzJFNzY5MDBFN0Qy
Q0UgLyogUmVmZXJyZXJQb2xpY3kuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUmVmZXJyZXJQb2xpY3kuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlD
QTE5MzNENTI0MDdENjQwMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUNBMTkzM0Q4MjQwN0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGlt
aW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUz
IC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNjcm9sbEFuaW1hdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Ez
QkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNBNTJCQUU1MjNEMEFGMTYwMERFMEI4NCAvKiBTdHlsZUN1cnNvckltYWdlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlQ3Vyc29ySW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTM4MjYsNiArMTM4MjksOCBAQAogCQlDQTZDMTUyRjIyMEI0QTU1
MDA1NUNCRkMgLyogSlNJREJSZXF1ZXN0Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTSURCUmVxdWVzdEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBNkMxNTM3MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvckN1c3Rv
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0lEQkN1cnNvckN1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNkMxNTM4MjIwRDFFQjMw
MDU1Q0JGQyAvKiBKU0lEQkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0lEQkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBN0U5QjQ3MjQzNjFEQzUwMDRFODlGNiAvKiBD
b250ZW50ZnVsUGFpbnRDaGVja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENvbnRlbnRmdWxQYWludENoZWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
Q0E3RTlCNDgyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGVudGZ1bFBhaW50Q2hlY2tl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBRTlGOTBEMTQ2NDQxRjAwMEMy
NDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENTU0FzcGVjdFJhdGlvVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDQUU5RjkwRTE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEz
RiAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFBlcmZvcm1hbmNlRW50cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMjA5NjEsNiArMjA5NjYsOCBAQAogCQkJCUE1QTk5MzNBMUUzN0ZBRkQwMDVCNUU0RCAvKiBQ
ZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCAqLywKIAkJCQlBNUE5OTMzQjFFMzdGQUZE
MDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oICovLAogCQkJCUE1QTk5
MzNDMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCAq
LywKKwkJCQlDQTE5MzNENTI0MDdENjQwMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWlu
Zy5oICovLAorCQkJCUNBMTkzM0Q4MjQwN0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50
VGltaW5nLmlkbCAqLywKIAkJCQk4NjUxMkVEQjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZy5jcHAgKi8sCiAJCQkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8q
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCAqLywKIAkJCQk4NjUxMkVERDE1NEEyQUVGMDBB
OTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgKi8sCkBAIC0yODAzOCw2ICsy
ODA0NSw4IEBACiAJCQkJQkNERDQ1NEQxMjM2Qzk1QzAwOUE3OTg1IC8qIENvbHVtbkluZm8uaCAq
LywKIAkJCQlCQ0VBNDgxMzA5N0Q5MzAyMDA5NEM5RTQgLyogQ29tcGxleExpbmVMYXlvdXQuY3Bw
ICovLAogCQkJCUU0QTFBQzc4MjJGQUZENTAwMDE3Qjc1QiAvKiBDb21wbGV4TGluZUxheW91dC5o
ICovLAorCQkJCUNBN0U5QjQ4MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVj
a2VyLmNwcCAqLywKKwkJCQlDQTdFOUI0NzI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBh
aW50Q2hlY2tlci5oICovLAogCQkJCTkzOTJGMTRGMEFEMTg2MjMwMDY5MUJENCAvKiBDb3VudGVy
Tm9kZS5jcHAgKi8sCiAJCQkJOTM5MkYxNEIwQUQxODYxQjAwNjkxQkQ0IC8qIENvdW50ZXJOb2Rl
LmggKi8sCiAJCQkJMEY1M0ZCODEyMTNCMUJCODAwQzQwRDM0IC8qIENTU0ZpbHRlci5jcHAgKi8s
CkBAIC0yOTc0Miw2ICsyOTc1MSw3IEBACiAJCQkJQTE0OTc4NkYxQUJBRjMzODAwQ0VGN0U0IC8q
IENvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDRENEREM2MjNEODBBMUMwMEJB
MzRBMSAvKiBDb250ZW50RmlsdGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQwOTBG
RDFBQTUxRTQ4MDA5MTE5MUEgLyogQ29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlDQTdFOUI0OTI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50
Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUM5QzJEQjUyMjQxQTY3QjAwOTk2QjBCIC8q
IENvbnRlbnRSdWxlTGlzdFJlc3VsdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QzQ3MURDMTJG
OTI1QkQwMDg2MzU0QiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3kuaCBpbiBIZWFkZXJzICovLAog
CQkJCUNFNUZBMjU1MjA5RTQ4QzUwMDUxRDcwMCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lDbGll
bnQuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQ
ZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCShyZXZpc2lvbiAyNTk4Nzkp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSwxMSBAQAogI2luY2x1ZGUgIkpTRE9NQmlu
ZGluZy5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAiSlNQZXJm
b3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIK
ICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJm
b3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRl
ICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAog
SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+JiYgZW50cnkpCiB7CisgICAg
aWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkKKyAgICAgICAgcmV0dXJuIGNy
ZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3Zl
KGVudHJ5KSk7CisKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZW50cnkp
KQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
PihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjU5ODc5
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xNzksNiArMTc5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IG1hY3JvKFBlcmZvcm1hbmNlTWVhc3VyZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2
ZXIpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0KSBcCisgICAgbWFj
cm8oUGVyZm9ybWFuY2VQYWludFRpbWluZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAogICAgIG1h
Y3JvKFBvaW50ZXJFdmVudCkgXApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lv
biAyNTk4NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiQ29tcG9zaXRpb25FdmVudC5oIgogI2lu
Y2x1ZGUgIkNvbnN0YW50UHJvcGVydHlNYXAuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQ
b2xpY3kuaCIKKyNpbmNsdWRlICJDb250ZW50ZnVsUGFpbnRDaGVja2VyLmgiCiAjaW5jbHVkZSAi
Q29va2llSmFyLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaCIKICNp
bmNsdWRlICJDdXN0b21FbGVtZW50UmVnaXN0cnkuaCIKQEAgLTE0OCw2ICsxNDksNyBAQAogI2lu
Y2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlBhZ2VUcmFuc2l0aW9uRXZlbnQuaCIKICNp
bmNsdWRlICJQYWludFdvcmtsZXRHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNl
LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Mb2NhbGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVNjcmVlbi5oIgpAQCAtMzE0MSw2
ICszMTQzLDMzIEBAIGJvb2wgRG9jdW1lbnQ6OmlzTGF5b3V0VGltZXJBY3RpdmUoKSBjb24KICAg
ICByZXR1cm4gdmlldygpICYmIHZpZXcoKS0+bGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0UGVuZGlu
ZygpOwogfQogCitib29sIERvY3VtZW50OjpzdXBwb3J0c1BhaW50VGltaW5nKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5wYWlu
dFRpbWluZ0VuYWJsZWQoKSAmJiBzZWN1cml0eU9yaWdpbigpLmNhbkFjY2Vzcyh0b3BPcmlnaW4o
KSk7Cit9CisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI3JlZi1mb3It
bWFyay1wYWludC10aW1pbmcKK3ZvaWQgRG9jdW1lbnQ6Om1hcmtQYWludFRpbWluZ0lmTmVlZGVk
KCkKK3sKKyAgICBpZiAobV9kaWRNYXJrRmlyc3RDb250ZW50ZnVsUGFpbnQpCisgICAgICAgIHJl
dHVybjsKKworICAgIGlmICghc3VwcG9ydHNQYWludFRpbWluZygpKQorICAgICAgICByZXR1cm47
CisKKyAgICBhdXRvKiB3aW5kb3cgPSBkb21XaW5kb3coKTsKKyAgICBhdXRvKiB2aWV3ID0gcmVu
ZGVyVmlldygpOworCisgICAgaWYgKCF2aWV3IHx8ICF3aW5kb3cpCisgICAgICAgIHJldHVybjsK
KworICAgIGlmICghcXVhbGlmaWVzRm9yQ29udGVudGZ1bFBhaW50KCp2aWV3KSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgd2luZG93LT5wZXJmb3JtYW5jZSgpLnJlcG9ydEZpcnN0Q29udGVudGZ1
bFBhaW50KCk7CisgICAgbV9kaWRNYXJrRmlyc3RDb250ZW50ZnVsUGFpbnQgPSB0cnVlOworfQor
CiBFeGNlcHRpb25Pcjx2b2lkPiBEb2N1bWVudDo6d3JpdGUoRG9jdW1lbnQqIHJlc3BvbnNpYmxl
RG9jdW1lbnQsIFNlZ21lbnRlZFN0cmluZyYmIHRleHQpCiB7CiAgICAgaWYgKG1fYWN0aXZlUGFy
c2VyV2FzQWJvcnRlZCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCShyZXZpc2lvbiAyNTk4Nzkp
CisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTAz
NSw2ICsxMDM1LDggQEAgcHVibGljOgogCiAgICAgYm9vbCBzaG91bGREZWZlckFzeW5jaHJvbm91
c1NjcmlwdHNVbnRpbFBhcnNpbmdGaW5pc2hlcygpIGNvbnN0OwogCisgICAgYm9vbCBzdXBwb3J0
c1BhaW50VGltaW5nKCkgY29uc3Q7CisKICNpZiBFTkFCTEUoWFNMVCkKICAgICB2b2lkIHNjaGVk
dWxlVG9BcHBseVhTTFRyYW5zZm9ybXMoKTsKICAgICB2b2lkIGFwcGx5UGVuZGluZ1hTTFRyYW5z
Zm9ybXNOb3dJZlNjaGVkdWxlZCgpOwpAQCAtMTU3NSw2ICsxNTc3LDcgQEAgcHVibGljOgogCiAg
ICAgdm9pZCBzZXRIYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCgpIHsgbV9oYXNWaXN1
YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCA9IHRydWU7IH0KICAgICBib29sIGhhc1Zpc3VhbGx5
Tm9uRW1wdHlDdXN0b21Db250ZW50KCkgY29uc3QgeyByZXR1cm4gbV9oYXNWaXN1YWxseU5vbkVt
cHR5Q3VzdG9tQ29udGVudDsgfQorICAgIHZvaWQgbWFya1BhaW50VGltaW5nSWZOZWVkZWQoKTsK
IAogcHJvdGVjdGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9uRmxhZ3MgeyBTeW50aGVzaXplZCA9
IDEsIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEgfTsKQEAgLTIwNDEsNiArMjA0NCw5
IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fYXJlRGV2aWNlTW90aW9uQW5kT3JpZW50YXRpb25V
cGRhdGVzU3VzcGVuZGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fdXNlckRpZEludGVyYWN0V2l0
aFBhZ2UgeyBmYWxzZSB9OworCisgICAgYm9vbCBtX2RpZE1hcmtGaXJzdENvbnRlbnRmdWxQYWlu
dCB7IGZhbHNlIH07CisKICNpZiBBU1NFUlRfRU5BQkxFRAogICAgIGJvb2wgbV9pbkhpdFRlc3Rp
bmcgeyBmYWxzZSB9OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCShy
ZXZpc2lvbiAyNTk4NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTk4MSw2ICs5ODEsOCBAQCBib29sIEZyYW1lVmlldzo6Zmx1c2hDb21w
b3NpdGluZ1N0YXRlRm9yCiAjZW5kaWYKIAogICAgIHJlbmRlclZpZXctPmNvbXBvc2l0b3IoKS5m
bHVzaFBlbmRpbmdMYXllckNoYW5nZXMoJnJvb3RGcmFtZUZvckZsdXNoID09IG1fZnJhbWUucHRy
KCkpOworICAgIGlmIChhdXRvKiBkb2N1bWVudCA9IGZyYW1lKCkuZG9jdW1lbnQoKSkKKyAgICAg
ICAgZG9jdW1lbnQtPm1hcmtQYWludFRpbWluZ0lmTmVlZGVkKCk7CiAKICAgICByZXR1cm4gdHJ1
ZTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCShyZXZpc2lvbiAyNTk4
NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKICNpbmNs
dWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2Vy
dmVyLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgogI2luY2x1ZGUgIlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVRpbWluZy5o
IgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVXNlclRpbWluZy5oIgpAQCAtMTI0LDYgKzEyNSw5IEBA
IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICAgICAgZW50cmll
cy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNZWFzdXJlcygpKTsKICAgICB9CiAKKyAg
ICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCkKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9m
aXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBzdGQ6OnNvcnQoZW50cmllcy5iZWdpbigpLCBl
bnRyaWVzLmVuZCgpLCBQZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRpbWVDb21wYXJlTGVzc1RoYW4p
OwogICAgIHJldHVybiBlbnRyaWVzOwogfQpAQCAtMTM1LDYgKzEzOSw5IEBAIFZlY3RvcjxSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicmVzb3VyY2UiKSkKICAgICAgICAgZW50cmllcy5hcHBl
bmRWZWN0b3IobV9yZXNvdXJjZVRpbWluZ0J1ZmZlcik7CiAKKyAgICBpZiAobV9maXJzdENvbnRl
bnRmdWxQYWludCAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJw
YWludCIpKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsK
KwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBw
ZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MoKSk7CkBAIC0xNTcsNiArMTY0LDkgQEAg
VmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybQogICAgICAgICB9CiAgICAg
fQogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYgKGVudHJ5VHlwZS5pc051bGwo
KSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJwYWludCIpKSAm
JiBuYW1lID09ICJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikKKyAgICAgICAgZW50cmllcy5hcHBl
bmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAg
ICAgICAgIGlmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoZW50cnlUeXBlLCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0
b3IobV91c2VyVGltaW5nLT5nZXRNYXJrcyhuYW1lKSk7CkBAIC0xODAsNiArMTkwLDEzIEBAIHZv
aWQgUGVyZm9ybWFuY2U6OnNldFJlc291cmNlVGltaW5nQnVmZmUKICAgICBtX3Jlc291cmNlVGlt
aW5nQnVmZmVyRnVsbEZsYWcgPSBmYWxzZTsKIH0KIAordm9pZCBQZXJmb3JtYW5jZTo6cmVwb3J0
Rmlyc3RDb250ZW50ZnVsUGFpbnQoKQoreworICAgIEFTU0VSVCghbV9maXJzdENvbnRlbnRmdWxQ
YWludCk7CisgICAgbV9maXJzdENvbnRlbnRmdWxQYWludCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1p
bmc6OmNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KG5vdygpKTsKKyAgICBxdWV1ZUVudHJ5KCpt
X2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKK30KKwogdm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3Vy
Y2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRpbWluZykKIHsKICAgICBBU1NFUlQo
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
LmgJKHJldmlzaW9uIDI1OTg3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBjbGFzcyBMb2FkVGltaW5nOwogY2xh
c3MgUGVyZm9ybWFuY2VFbnRyeTsKIGNsYXNzIFBlcmZvcm1hbmNlTmF2aWdhdGlvbjsKIGNsYXNz
IFBlcmZvcm1hbmNlT2JzZXJ2ZXI7CitjbGFzcyBQZXJmb3JtYW5jZVBhaW50VGltaW5nOwogY2xh
c3MgUGVyZm9ybWFuY2VUaW1pbmc7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVz
b3VyY2VUaW1pbmc7CkBAIC03Nyw2ICs3OCw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkUmVz
b3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJik7CiAKKyAgICB2b2lkIHJlcG9ydEZpcnN0Q29u
dGVudGZ1bFBhaW50KCk7CisKICAgICB2b2lkIHJlbW92ZUFsbE9ic2VydmVycygpOwogICAgIHZv
aWQgcmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKICAg
ICB2b2lkIHVucmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXIm
KTsKQEAgLTEyMSw2ICsxMjQsNyBAQCBwcml2YXRlOgogCiAgICAgTW9ub3RvbmljVGltZSBtX3Rp
bWVPcmlnaW47CiAKKyAgICBSZWZQdHI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4gbV9maXJzdENv
bnRlbnRmdWxQYWludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXNlclRpbWluZz4gbV91c2VyVGlt
aW5nOwogCiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3Bl
cmZvcm1hbmNlVGltZWxpbmVUYXNrUXVldWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlRW50cnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VFbnRyeS5jcHAJKHJldmlzaW9uIDI1OTg3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDExIEBA
IE9wdGlvbmFsPFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IFBlcmZvcm0KICAgICAgICAgICAgIHJl
dHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpSZXNvdXJjZSk7CiAgICAgfQogCisgICAgaWYgKFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucGFpbnRUaW1pbmdFbmFibGVk
KCkpIHsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9PSAicGFpbnQiKQorICAgICAgICAgICAgcmV0
dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6OlBhaW50KTsKKyAgICB9CisKICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
aAkocmV2aXNpb24gMjU5ODc5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgICAgICBN
YXJrID0gMSA8PCAxLAogICAgICAgICBNZWFzdXJlID0gMSA8PCAyLAogICAgICAgICBSZXNvdXJj
ZSA9IDEgPDwgMywKKyAgICAgICAgUGFpbnQgPSAxIDw8IDQKICAgICB9OwogCiAgICAgdmlydHVh
bCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC02Miw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICBi
b29sIGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UmVzb3VyY2U7
IH0KICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYXJr
OyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6
TWVhc3VyZTsgfQorICAgIGJvb2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBU
eXBlOjpQYWludDsgfQogCiAgICAgc3RhdGljIGJvb2wgc3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFu
KGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYSwgY29uc3QgUmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+JiBiKQogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmNwcAkocmV2aXNpb24gMjU5ODc5KQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDE1ICsxMTMs
MjEgQEAgdm9pZCBQZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVyKCkKICAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZEZpcmVPYnNlcnZlckNhbGxiYWNrKCpjb250ZXh0KTsKIH0KIAot
VmVjdG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcygp
CitWZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVz
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIHsKKyAgICBW
ZWN0b3I8U3RyaW5nPiBlbnRyeVR5cGVzID0gewogICAgICAgICAvLyBGSVhNRTogPGh0dHBzOi8v
d2Via2l0Lm9yZy9iLzE4NDM2Mz4gQWRkIHN1cHBvcnQgZm9yIE5hdmlnYXRpb24gVGltaW5nIExl
dmVsIDIKICAgICAgICAgLy8gIm5hdmlnYXRpb24iX3MsCiAgICAgICAgICJtYXJrIl9zLAotICAg
ICAgICAibWVhc3VyZSJfcywKLSAgICAgICAgInJlc291cmNlIl9zCisgICAgICAgICJtZWFzdXJl
Il9zCiAgICAgfTsKKworICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4dCkgJiYgZG93bmNhc3Q8
RG9jdW1lbnQ+KGNvbnRleHQpLnN1cHBvcnRzUGFpbnRUaW1pbmcoKSkKKyAgICAgICAgZW50cnlU
eXBlcy5hcHBlbmQoInBhaW50Il9zKTsKKworICAgIGVudHJ5VHlwZXMuYXBwZW5kKCJyZXNvdXJj
ZSJfcyk7CisKKyAgICByZXR1cm4gZW50cnlUeXBlczsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgJKHJl
dmlzaW9uIDI1OTg3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihjb250ZXh0LCBXVEZNb3ZlKGNh
bGxiYWNrKSkpOwogICAgIH0KIAotICAgIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRF
bnRyeVR5cGVzKCk7CisgICAgc3RhdGljIFZlY3RvcjxTdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlw
ZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogCiAgICAgdm9pZCBkaXNhc3NvY2lhdGUoKTsK
IApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCShy
ZXZpc2lvbiAyNTk4NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2
ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiBdIGludGVyZmFjZSBQZXJm
b3JtYW5jZU9ic2VydmVyIHsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgb2JzZXJ2ZShQ
ZXJmb3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsK
LSAgICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PERPTVN0cmluZz4gc3Vw
cG9ydGVkRW50cnlUeXBlczsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0g
c3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHN1cHBvcnRl
ZEVudHJ5VHlwZXM7CiB9OwogCiBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IHsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCShu
b25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWlu
Zy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZyBm
aW5hbCA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVm
PFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IGNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KERPTUhp
Z2hSZXNUaW1lU3RhbXAgdGltZVN0YW1wKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygiZmlyc3QtY29udGVudGZ1bC1wYWludCJfcywg
dGltZVN0YW1wKSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFBlcmZvcm1hbmNlUGFpbnRUaW1p
bmcoY29uc3QgU3RyaW5nJiBuYW1lLCBET01IaWdoUmVzVGltZVN0YW1wIHRpbWVTdGFtcCkKKyAg
ICAgICAgOiBQZXJmb3JtYW5jZUVudHJ5KG5hbWUsIHRpbWVTdGFtcCwgdGltZVN0YW1wKQorICAg
IHsKKyAgICB9CisKKyAgICBBU0NJSUxpdGVyYWwgZW50cnlUeXBlKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gInBhaW50Il9zOyB9CisgICAgVHlwZSB0eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
VHlwZTo6UGFpbnQ7IH0KKworICAgIH5QZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgPSBkZWZhdWx0
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X0JFR0lOKFdlYkNvcmU6OlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcpCisgICAgc3RhdGljIGJvb2wg
aXNUeXBlKGNvbnN0IFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KSB7IHJldHVybiBl
bnRyeS5pc1BhaW50KCk7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkobm9uZXhp
c3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5n
aXRodWIuaW8vcGFpbnQtdGltaW5nLworCit0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0
YW1wOworCitbCisgICAgRW5hYmxlZEF0UnVudGltZT1QYWludFRpbWluZywKKyAgICBFeHBvc2Vk
PShXaW5kb3cpLAorXSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VQYWludFRpbWluZyA6IFBlcmZvcm1h
bmNlRW50cnkgeworfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5oCShyZXZpc2lvbiAyNTk4NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsOSBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRVc2VyVGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBt
X2lzVXNlclRpbWluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHVzZXJUaW1pbmdF
bmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1VzZXJUaW1pbmdFbmFibGVkOyB9CiAKKyAgICB2
b2lkIHNldFBhaW50VGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzUGFpbnRUaW1p
bmdFbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCBwYWludFRpbWluZ0VuYWJsZWQoKSBj
b25zdCB7IHJldHVybiBtX2lzUGFpbnRUaW1pbmdFbmFibGVkOyB9CisKICAgICBib29sIHBlcmZv
cm1hbmNlVGltZWxpbmVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gcmVzb3VyY2VUaW1pbmdFbmFi
bGVkKCkgfHwgdXNlclRpbWluZ0VuYWJsZWQoKTsgfQogCiAgICAgdm9pZCBzZXRTaGFkb3dET01F
bmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNTaGFkb3dET01FbmFibGVkID0gaXNFbmFibGVk
OyB9CkBAIC00MjQsNiArNDI3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNMaW5rUHJlbG9h
ZEVuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2lzTGlua1ByZWZldGNoRW5hYmxlZCB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX2lzTWVkaWFQcmVsb2FkaW5nRW5hYmxlZCB7IGZhbHNlIH07Cisg
ICAgYm9vbCBtX2lzUGFpbnRUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNS
ZXNvdXJjZVRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1VzZXJUaW1pbmdF
bmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9u
RW5hYmxlZCB7IGZhbHNlIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29udGVu
dGZ1bFBhaW50Q2hlY2tlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDEyNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBXaWtpTWVkaWEg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KKyAqCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIgorCisjaW5jbHVkZSAiSFRNTENhbnZhc0VsZW1l
bnQuaCIKKyNpbmNsdWRlICJMaW5lTGF5b3V0VHJhdmVyc2FsLmgiCisjaW5jbHVkZSAiUmVuZGVy
QW5jZXN0b3JJdGVyYXRvci5oIgorI2luY2x1ZGUgIlJlbmRlckNoaWxkSXRlcmF0b3IuaCIKKyNp
bmNsdWRlICJSZW5kZXJEZXNjZW5kYW50SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJSZW5kZXJFbGVt
ZW50LmgiCisjaW5jbHVkZSAiUmVuZGVySFRNTENhbnZhcy5oIgorI2luY2x1ZGUgIlJlbmRlcklt
YWdlLmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUm9vdC5oIgorI2luY2x1ZGUgIlJlbmRlclRleHQu
aCIKKyNpbmNsdWRlICJSZW5kZXJWaWRlby5oIgorI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGFpbnQtdGlt
aW5nLyNwYWludGFibGUtYm91bmRpbmctcmVjdCAKK3N0YXRpYyBib29sIGludGVyc2VjdHNXaXRo
RG9jdW1lbnRSZWN0KGNvbnN0IFJlbmRlck9iamVjdCYgb2JqZWN0LCBjb25zdCBJbnRSZWN0JiBk
b2N1bWVudFJlY3QpCit7CisgICAgQVNTRVJUKCFvYmplY3QubmVlZHNMYXlvdXQoKSk7CisKKyAg
ICBpZiAoaXM8UmVuZGVyVGV4dD4ob2JqZWN0KSkgeworICAgICAgICBjb25zdCBhdXRvJiB0ZXh0
UmVuZGVyZXIgPSBkb3duY2FzdDxSZW5kZXJUZXh0PihvYmplY3QpOworICAgICAgICBmb3IgKGF1
dG8mIGJveCA6IExpbmVMYXlvdXRUcmF2ZXJzYWw6OnRleHRCb3hlc0Zvcih0ZXh0UmVuZGVyZXIp
KSB7CisgICAgICAgICAgICBpZiAodGV4dFJlbmRlcmVyLmxvY2FsVG9BYnNvbHV0ZVF1YWQoRmxv
YXRRdWFkKGJveC5yZWN0KCkpKS5ib3VuZGluZ0JveCgpLmludGVyc2VjdHMoZG9jdW1lbnRSZWN0
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAoaXM8UmVuZGVyUmVwbGFjZWQ+KG9iamVjdCkp
IHsKKyAgICAgICAgY29uc3QgYXV0byYgcmVwbGFjZWQgPSBkb3duY2FzdDxSZW5kZXJSZXBsYWNl
ZD4ob2JqZWN0KTsKKyAgICAgICAgRmxvYXRSZWN0IGxvY2FsUmVjdCgwLCAwLCByZXBsYWNlZC53
aWR0aCgpLCByZXBsYWNlZC5oZWlnaHQoKSk7CisgICAgICAgIHJldHVybiBvYmplY3QubG9jYWxU
b0Fic29sdXRlUXVhZChsb2NhbFJlY3QpLmJvdW5kaW5nQm94KCkuaW50ZXJzZWN0cyhkb2N1bWVu
dFJlY3QpOworICAgIH0KKworICAgIFZlY3RvcjxGbG9hdFF1YWQ+IHF1YWRzOworICAgIG9iamVj
dC5hYnNvbHV0ZVF1YWRzKHF1YWRzKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHF1YWRz
LnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChxdWFkc1tpXS5ib3VuZGluZ0JveCgpLmludGVy
c2VjdHMoZG9jdW1lbnRSZWN0KSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwor
ICAgIHJldHVybiBmYWxzZTsKK30KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BhaW50LXRp
bWluZy8jY29udGVudGZ1bCAKK3N0YXRpYyBib29sIGlzQ29udGVudGZ1bChjb25zdCBSZW5kZXJP
YmplY3QmIG9iamVjdCkKK3sKKyAgICBpZiAob2JqZWN0LnN0eWxlKCkuaGFzUGFpbnRhYmxlQ2Fj
aGVkQmFja2dyb3VuZEltYWdlKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgaWYgKGlz
PFJlbmRlclRleHQ+KG9iamVjdCkpCisgICAgICAgIHJldHVybiAhZG93bmNhc3Q8UmVuZGVyVGV4
dD4ob2JqZWN0KS5jb250YWluc09ubHlIVE1MV2hpdGVzcGFjZSgpOworCisgICAgaWYgKGlzPFJl
bmRlckhUTUxDYW52YXM+KG9iamVjdCkpCisgICAgICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJI
VE1MQ2FudmFzPihvYmplY3QpLmNhbnZhc0VsZW1lbnQoKS5yZW5kZXJpbmdDb250ZXh0KCk7CisK
KyAgICBpZiAoaXM8UmVuZGVyVmlkZW8+KG9iamVjdCkpIHsKKyAgICAgICAgY29uc3QgYXV0byYg
dmlkZW8gPSBkb3duY2FzdDxSZW5kZXJWaWRlbz4ob2JqZWN0KTsKKyAgICAgICAgaWYgKCF2aWRl
by52aWRlb0VsZW1lbnQoKS5zaG91bGREaXNwbGF5UG9zdGVySW1hZ2UoKSkKKyAgICAgICAgICAg
IHJldHVybiB2aWRlby52aWRlb0VsZW1lbnQoKS5yZWFkeVN0YXRlKCkgPiBIVE1MTWVkaWFFbGVt
ZW50RW51bXM6OkhBVkVfTUVUQURBVEE7CisgICAgfQorCisgICAgaWYgKGlzPFJlbmRlckltYWdl
PihvYmplY3QpKSB7CisgICAgICAgIGNvbnN0IGF1dG8mIGltYWdlID0gZG93bmNhc3Q8UmVuZGVy
SW1hZ2U+KG9iamVjdCk7CisgICAgICAgIGF1dG8qIGNhY2hlZEltYWdlID0gaW1hZ2UuaW1hZ2VS
ZXNvdXJjZSgpLmNhY2hlZEltYWdlKCk7CisgICAgICAgIHJldHVybiBjYWNoZWRJbWFnZSAmJiBj
YWNoZWRJbWFnZS0+Y2FuUmVuZGVyKCZpbWFnZSwgMSk7CisgICAgfQorCisgICAgaWYgKGlzPFJl
bmRlclNWR1Jvb3Q+KG9iamVjdCkpCisgICAgICAgIHJldHVybiBTVkdSZW5kZXJTdXBwb3J0Ojpo
YXNSZW5kZXJhYmxlQ2hpbGRyZW4oZG93bmNhc3Q8UmVuZGVyU1ZHUm9vdD4ob2JqZWN0KSk7ICAg
IAorCisgICAgcmV0dXJuIGZhbHNlOworfQorCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGFp
bnQtdGltaW5nLyNwYWludGFibGUgCitzdGF0aWMgYm9vbCBpc1BhaW50YWJsZShjb25zdCBSZW5k
ZXJPYmplY3QmIG9iamVjdCwgY29uc3QgSW50UmVjdCYgZG9jdW1lbnRSZWN0KQoreworICAgIGlm
IChvYmplY3Quc3R5bGUoKS52aXNpYmlsaXR5KCkgIT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZm9yIChhdXRvJiBhbmNlc3RvciA6IGxpbmVhZ2VP
ZlR5cGU8UmVuZGVyT2JqZWN0PihvYmplY3QpKSB7CisgICAgICAgIGlmICghYW5jZXN0b3Iuc3R5
bGUoKS5vcGFjaXR5KCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAg
cmV0dXJuIGludGVyc2VjdHNXaXRoRG9jdW1lbnRSZWN0KG9iamVjdCwgZG9jdW1lbnRSZWN0KTsK
K30KKworYm9vbCBxdWFsaWZpZXNGb3JDb250ZW50ZnVsUGFpbnQoUmVuZGVyVmlldyYgdmlldykK
K3sKKyAgICBhdXRvIGRvY3VtZW50UmVjdCA9IHZpZXcuZG9jdW1lbnRSZWN0KCk7CisgICAgZm9y
IChhdXRvJiBvYmplY3QgOiBkZXNjZW5kYW50c09mVHlwZTxSZW5kZXJPYmplY3Q+KHZpZXcpKSB7
CisgICAgICAgIGlmIChpc0NvbnRlbnRmdWwob2JqZWN0KSAmJiBpc1BhaW50YWJsZShvYmplY3Qs
IGRvY3VtZW50UmVjdCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db250
ZW50ZnVsUGFpbnRDaGVja2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCisgKgorKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgUmVuZGVyVmlldzsKKworYm9vbCBxdWFsaWZpZXNGb3JDb250ZW50ZnVsUGFp
bnQoUmVuZGVyVmlldyYpOworCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0LmgJKHJldmlzaW9uIDI1OTg3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTE4MCw3ICsxODAsNyBAQCBwdWJsaWM6CiAgICAg
TGF5b3V0VW5pdCB0b3BPZkZpcnN0VGV4dCgpIGNvbnN0OwogICAgIAogICAgIGJvb2wgY29udGFp
bnNPbmx5SFRNTFdoaXRlc3BhY2UodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuZ3RoKSBjb25z
dDsKLSAgICAKKyAgICBib29sIGNvbnRhaW5zT25seUhUTUxXaGl0ZXNwYWNlKCkgY29uc3QgeyBy
ZXR1cm4gY29udGFpbnNPbmx5SFRNTFdoaXRlc3BhY2UoMCwgdGV4dCgpLmxlbmd0aCgpKTsgfSAK
ICAgICBib29sIGNhblVzZVNpbXBsaWZpZWRUZXh0TWVhc3VyaW5nKCkgY29uc3QgeyByZXR1cm4g
bV9jYW5Vc2VTaW1wbGlmaWVkVGV4dE1lYXN1cmluZzsgfQogCiAgICAgVmVjdG9yPHN0ZDo6cGFp
cjx1bnNpZ25lZCwgdW5zaWduZWQ+PiBkcmFnZ2VkQ29udGVudFJhbmdlc0JldHdlZW5PZmZzZXRz
KHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBlbmRPZmZzZXQpIGNvbnN0OwpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5jcHAJKHJldmlzaW9u
IDI1OTg3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNDAsNiArMzQwLDE1IEBAIGJvb2wgRmlsbExheWVyOjpjb250
YWluc0ltYWdlKFN0eWxlSW1hZ2UKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgRmlsbExh
eWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSgpIGNvbnN0Cit7CisgICAgZm9yIChhdXRvKiBsYXll
ciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5tX25leHQuZ2V0KCkpIHsKKyAgICAgICAg
aWYgKGxheWVyLT5tX2ltYWdlICYmIGxheWVyLT5tX2ltYWdlLT5pc0xvYWRlZCgpICYmIGxheWVy
LT5tX2ltYWdlLT5oYXNDYWNoZWRJbWFnZSgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBGaWxsTGF5ZXI6OmltYWdlc0FyZUxv
YWRlZCgpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvKiBsYXllciA9IHRoaXM7IGxheWVyOyBsYXll
ciA9IGxheWVyLT5tX25leHQuZ2V0KCkpIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9GaWxsTGF5ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvRmlsbExheWVyLmgJKHJldmlzaW9uIDI1OTg3OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ1LDYgKzE0
NSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgY29udGFpbnNJbWFnZShTdHlsZUltYWdlJikgY29u
c3Q7CiAgICAgYm9vbCBpbWFnZXNBcmVMb2FkZWQoKSBjb25zdDsKKyAgICBib29sIGhhc0xvYWRl
ZENhY2hlZEltYWdlKCkgY29uc3Q7CiAgICAgYm9vbCBoYXNJbWFnZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbmV4dCA/IGhhc0ltYWdlSW5BbnlMYXllcigpIDogbV9pbWFnZTsgfQogICAgIGJvb2wgaGFz
Rml4ZWRJbWFnZSgpIGNvbnN0OwogICAgIGJvb2wgaGFzT3BhcXVlSW1hZ2UoY29uc3QgUmVuZGVy
RWxlbWVudCYpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiAyNTk4NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDQsNiAr
NDQ0LDIxIEBAIGJvb2wgUmVuZGVyU3R5bGU6OmRlc2NlbmRhbnRBZmZlY3RpbmdOb24KICAgICAg
ICAgJiYgbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+anVzdGlmeUl0ZW1zID09IG90aGVyLm1fcmFy
ZU5vbkluaGVyaXRlZERhdGEtPmp1c3RpZnlJdGVtczsKIH0KIAorYm9vbCBSZW5kZXJTdHlsZTo6
aGFzUGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdlKCkgY29uc3QKK3sKKyAgICBpZiAoIWhh
c0JhY2tncm91bmRJbWFnZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjb25zdCBG
aWxsTGF5ZXImIGJhY2tncm91bmQgPSBiYWNrZ3JvdW5kTGF5ZXJzKCk7CisgICAgaWYgKCFiYWNr
Z3JvdW5kLmhhc0xvYWRlZENhY2hlZEltYWdlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIGlmIChiYWNrZ3JvdW5kU2l6ZUxlbmd0aCgpLmlzRW1wdHkoKSAmJiBiYWNrZ3JvdW5kU2l6
ZVR5cGUoKSA9PSBGaWxsU2l6ZVR5cGU6OlNpemUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIHJldHVybiB0cnVlOworfQorCiAjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKIAogc3Rh
dGljIGlubGluZSB1bnNpZ25lZCBjb21wdXRlRm9udEhhc2goY29uc3QgRm9udENhc2NhZGUmIGZv
bnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aAkocmV2aXNpb24gMjU5ODc5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQxNiw2ICs0MTYsNyBAQCBwdWJsaWM6CiAg
ICAgY29uc3QgTGVuZ3RoU2l6ZSYgYmFja2dyb3VuZFNpemVMZW5ndGgoKSBjb25zdCB7IHJldHVy
biBtX2JhY2tncm91bmREYXRhLT5iYWNrZ3JvdW5kLnNpemVMZW5ndGgoKTsgfQogICAgIEZpbGxM
YXllciYgZW5zdXJlQmFja2dyb3VuZExheWVycygpIHsgcmV0dXJuIG1fYmFja2dyb3VuZERhdGEu
YWNjZXNzKCkuYmFja2dyb3VuZDsgfQogICAgIGNvbnN0IEZpbGxMYXllciYgYmFja2dyb3VuZExh
eWVycygpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2dyb3VuZERhdGEtPmJhY2tncm91bmQ7IH0KKyAg
ICBib29sIGhhc1BhaW50YWJsZUNhY2hlZEJhY2tncm91bmRJbWFnZSgpIGNvbnN0OwogCiAgICAg
U3R5bGVJbWFnZSogbWFza0ltYWdlKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+bWFzay5pbWFnZSgpOyB9CiAgICAgRmlsbFJlcGVhdCBtYXNrUmVwZWF0WCgpIGNvbnN0
IHsgcmV0dXJuIHN0YXRpY19jYXN0PEZpbGxSZXBlYXQ+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEt
Pm1hc2sucmVwZWF0WCgpKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdSZW5kZXJTdXBwb3J0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwCShyZXZpc2lvbiAyNTk4NzkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDgsNiArMTQ4LDIzIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB1cGRhdGVPYmplY3RCb3Vu
ZGluZ0IKICAgICBvYmplY3RCb3VuZGluZ0JveC51bml0ZUV2ZW5JZkVtcHR5KG90aGVyQm91bmRp
bmdCb3gpOwogfQogCisKK2Jvb2wgU1ZHUmVuZGVyU3VwcG9ydDo6aGFzUmVuZGVyYWJsZUNoaWxk
cmVuKGNvbnN0IFJlbmRlckVsZW1lbnQmIGNvbnRhaW5lcikKK3sKKyAgICBmb3IgKGF1dG8mIGN1
cnJlbnQgOiBjaGlsZHJlbk9mVHlwZTxSZW5kZXJPYmplY3Q+KGNvbnRhaW5lcikpIHsKKyAgICAg
ICAgaWYgKGN1cnJlbnQuaXNTVkdIaWRkZW5Db250YWluZXIoKSkKKyAgICAgICAgICAgIGNvbnRp
bnVlOworCisgICAgICAgIC8vIERvbid0IGluY2x1ZGUgZWxlbWVudHMgaW4gdGhlIHVuaW9uIHRo
YXQgZG8gbm90IHJlbmRlci4KKyAgICAgICAgaWYgKGlzPFJlbmRlclNWR1NoYXBlPihjdXJyZW50
KSAmJiBkb3duY2FzdDxSZW5kZXJTVkdTaGFwZT4oY3VycmVudCkuaXNSZW5kZXJpbmdEaXNhYmxl
ZCgpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCiB2b2lkIFNWR1JlbmRlclN1cHBvcnQ6OmNvbXB1
dGVDb250YWluZXJCb3VuZGluZ0JveGVzKGNvbnN0IFJlbmRlckVsZW1lbnQmIGNvbnRhaW5lciwg
RmxvYXRSZWN0JiBvYmplY3RCb3VuZGluZ0JveCwgYm9vbCYgb2JqZWN0Qm91bmRpbmdCb3hWYWxp
ZCwgRmxvYXRSZWN0JiBzdHJva2VCb3VuZGluZ0JveCwgRmxvYXRSZWN0JiByZXBhaW50Qm91bmRp
bmdCb3gpCiB7CiAgICAgb2JqZWN0Qm91bmRpbmdCb3ggPSBGbG9hdFJlY3QoKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oCShyZXZp
c2lvbiAyNTk4NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1
cHBvcnQuaAkod29ya2luZyBjb3B5KQpAQCAtODksNiArODksOCBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIFJlbmRlclNWR1Jvb3QqIGZpbmRUcmVlUm9vdE9iamVjdChSZW5kZXJFbGVtZW50Jik7CiAg
ICAgc3RhdGljIGNvbnN0IFJlbmRlclNWR1Jvb3QqIGZpbmRUcmVlUm9vdE9iamVjdChjb25zdCBS
ZW5kZXJFbGVtZW50Jik7CiAKKyAgICBzdGF0aWMgYm9vbCBoYXNSZW5kZXJhYmxlQ2hpbGRyZW4o
Y29uc3QgUmVuZGVyRWxlbWVudCYpOworCiBwcml2YXRlOgogICAgIC8vIFRoaXMgY2xhc3MgaXMg
bm90IGNvbnN0cnVjdGFibGUuCiAgICAgU1ZHUmVuZGVyU3VwcG9ydCgpOwpJbmRleDogU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDI1OTg3OSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDQtMDUgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3
ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0
OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
YSBydW50aW1lIGZsYWcgZm9yIHBhaW50LXRpbWluZyAocGFpbnRUaW1pbmdFbmFibGVkKS4KKwor
ICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRQYWlu
dFRpbWluZ0VuYWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5nRW5h
YmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRl
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b246OnVwZGF0ZVByZWZlcmVuY2VzU3RvcmUpOgorCiAyMDIwLTA0LTEwICBEYXZpZCBLaWx6ZXIg
IDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIFdBUk5fVU5VU0VEX1JFVFVSTiB0
byBkZWNvZGUgbWV0aG9kcyBpbiBXZWJDb3JlQXJndW1lbnRDb2RlcnMKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAkocmV2aXNpb24gMjU5ODc5KQorKysgU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAkod29ya2luZyBjb3B5KQpAQCAt
ODM5LDYgKzgzOSwxMyBAQCBVc2VyVGltaW5nRW5hYmxlZDoKICAgaHVtYW5SZWFkYWJsZURlc2Ny
aXB0aW9uOiAiRW5hYmxlIFVzZXJUaW1pbmcgQVBJIgogICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcwogCitQYWludFRpbWluZ0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAg
ZGVmYXVsdFZhbHVlOiB0cnVlCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiUGFpbnQgVGltaW5nIgor
ICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgUGFpbnQgVGltaW5nIEFQSSIKKyAg
d2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKwogQmVhY29uQVBJRW5hYmxl
ZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAyNTk4
NzkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTgxOSw2ICsxODE5LDE2IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dl
dFVzZXJUaW1pbmdFbmFibGVkKFcKICAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+
dXNlclRpbWluZ0VuYWJsZWQoKTsKIH0KIAordm9pZCBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1p
bmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKK3sK
KyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRQYWludFRpbWluZ0VuYWJsZWQoZmxhZyk7
Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNS
ZWYpLT5wYWludFRpbWluZ0VuYWJsZWQoKTsKK30KKwogdm9pZCBXS1ByZWZlcmVuY2VzU2V0UmVz
b3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wg
ZmxhZykKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRSZXNvdXJjZVRpbWluZ0Vu
YWJsZWQoZmxhZyk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzUmVmUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgJKHJldmlzaW9uIDI1OTg3OSkKKysrIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTUwMCw2ICs1MDAsMTAgQEAgV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJl
bmNlc1NldFVzZXJUaW1pbgogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFVzZXJUaW1p
bmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCiAvLyBEZWZhdWx0cyB0byBmYWxzZQorV0tf
RVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVu
Y2VzUmVmLCBib29sIGZsYWcpOworV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFBhaW50
VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKKworLy8gRGVmYXVsdHMgdG8gZmFsc2UK
IFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQ
cmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNH
ZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CiAKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
V0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAJKHJldmlzaW9uIDI1OTg3OSkKKysrIFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIyLDYgKzEyMiw3IEBAIHZvaWQgV2ViU1dDb250ZXh0
TWFuYWdlckNvbm5lY3Rpb246OnVwZGEKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldENhY2hlQVBJRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXko
V2ViUHJlZmVyZW5jZXNLZXk6OmNhY2hlQVBJRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUVuYWJsZWQoc3RvcmUu
Z2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpmZXRjaEFQSUVuYWJsZWRLZXko
KSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNl
clRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
Ojp1c2VyVGltaW5nRW5hYmxlZEtleSgpKSk7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVl
Rm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYWludFRpbWluZ0VuYWJsZWRLZXkoKSkpOwogICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVzb3VyY2VUaW1p
bmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVz
b3VyY2VUaW1pbmdFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChzdG9yZS5nZXRCb29s
VmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZEtl
eSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRS
ZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQ
cmVmZXJlbmNlc0tleTo6cmVzdHJpY3RlZEhUVFBSZXNwb25zZUFjY2Vzc0tleSgpKSk7CkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTk4NzkpCisrKyBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBA
QAorMjAyMC0wNC0wNSAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHByZWZlcmVuY2Uga2V5IGZv
ciBwYWludCB0aW1pbmcuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJp
dmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgr
W1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMg
cGFpbnRUaW1pbmdFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldFBhaW50
VGltaW5nRW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKwogMjAyMC0wNC0wOCAgRGFyaW4g
QWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBTaW1wbGlmeSBOU0Fy
cmF5LCBOU0RpY3Rpb25hcnksIGFuZCBOU051bWJlciBpZGlvbXMgdGhyb3VnaG91dCBXZWJLaXQK
SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQ
cml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24gMjU5ODc5KQorKysgU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjYwLDYgKzI2MCw3IEBACiAjZGVmaW5lIFdlYktpdEF0dGFjaG1lbnRFbGVt
ZW50RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRBdHRhY2htZW50RWxlbWVudEVuYWJsZWQi
CiAjZGVmaW5lIFdlYktpdEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXkg
QCJXZWJLaXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdE1lbnVJ
dGVtRWxlbWVudEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVudUl0ZW1FbGVtZW50RW5h
YmxlZCIKKyNkZWZpbmUgV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldl
YktpdFBhaW50VGltaW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0VXNlclRpbWluZ0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFJl
c291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRSZXNvdXJjZVRpbWluZ0Vu
YWJsZWQiCiAjZGVmaW5lIFdlYktpdE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVT
dXBwb3J0UHJlZmVyZW5jZUtleSBAIldlYktpdE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFy
ZHdhcmVTdXBwb3J0IgpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzLm1tCShyZXZpc2lvbiAyNTk4NzkpCisrKyBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02
ODIsNiArNjgyLDcgQEAgKyAodm9pZClpbml0aWFsaXplCiAjaWYgRU5BQkxFKElOVEVSU0VDVElP
Tl9PQlNFUlZFUikKICAgICAgICAgQE5PLCBXZWJLaXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJs
ZWRQcmVmZXJlbmNlS2V5LAogI2VuZGlmCisgICAgICAgIEBOTywgV2ViS2l0UGFpbnRUaW1pbmdF
bmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRVc2VyVGltaW5nRW5hYmxl
ZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVk
UHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRNZWRpYVVzZXJHZXN0dXJlSW5oZXJp
dHNGcm9tRG9jdW1lbnQsCkBAIC0zMzA2LDYgKzMzMDcsMTYgQEAgLSAodm9pZClzZXRVc2VyVGlt
aW5nRW5hYmxlZDooQk9PTClmbGFnCiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktl
eTpXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKXBh
aW50VGltaW5nRW5hYmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5Oldl
YktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldFBh
aW50VGltaW5nRW5hYmxlZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpm
bGFnIGZvcktleTpXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwog
LSAoQk9PTClyZXNvdXJjZVRpbWluZ0VuYWJsZWQKIHsKICAgICByZXR1cm4gW3NlbGYgX2Jvb2xW
YWx1ZUZvcktleTpXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlc1ByaXZhdGUuaAkocmV2aXNpb24gMjU5ODc5KQorKysgU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAt
NjYxLDYgKzY2MSw3IEBAIEBpbnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGUpCiBA
cHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBrZXlnZW5FbGVtZW50RW5hYmxlZDsKIEBwcm9wZXJ0
eSAobm9uYXRvbWljKSBCT09MIHVzZXJUaW1pbmdFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9t
aWMpIEJPT0wgcmVzb3VyY2VUaW1pbmdFbmFibGVkOworQHByb3BlcnR5IChub25hdG9taWMpIEJP
T0wgcGFpbnRUaW1pbmdFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbGlua1By
ZWxvYWRFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbWVkaWFVc2VyR2VzdHVy
ZUluaGVyaXRzRnJvbURvY3VtZW50OwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgaXNTZWN1
cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZDsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDI1OTg3OSkKKysrIFNvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzIwMSw2ICsz
MjAxLDcgQEAgLSAodm9pZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbgogCiAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5h
YmxlZChwcmVmZXJlbmNlcy51c2VyVGltaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQocHJlZmVy
ZW5jZXMucmVzb3VyY2VUaW1pbmdFbmFibGVkKTsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLnNldFBhaW50VGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5wYWlu
dFRpbWluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0TGlua1ByZWxvYWRFbmFibGVkKHByZWZlcmVuY2VzLmxpbmtQcmVsb2FkRW5hYmxl
ZCk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZWRp
YVByZWxvYWRpbmdFbmFibGVkKHByZWZlcmVuY2VzLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQpOwog
ICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0SXNTZWN1cmVD
b250ZXh0QXR0cmlidXRlRW5hYmxlZChwcmVmZXJlbmNlcy5pc1NlY3VyZUNvbnRleHRBdHRyaWJ1
dGVFbmFibGVkKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1
OTg3OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA0LTA1ICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Vi
a2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHBy
ZWZlcmVuY2Uga2V5IGZvciBwYWludC10aW1pbmcuCisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lX
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VLZXlzUHJp
dmF0ZS5oOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogV2ViUHJlZmVy
ZW5jZXMuY3BwOgorICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90
aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZl
cmVuY2VzLmlkbDoKKyAgICAgICAgKiBJbnRlcmZhY2VzL1dlYktpdC5pZGw6CisgICAgICAgICAg
ICAgICAgVG91Y2hlZCB0byB0cmlnZ2VyIGJ1aWxkLgorCiAyMDIwLTA0LTA4ICBEYW5pZWwgQmF0
ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBTaG91bGQgZmluZCB0b3VjaC1hY3Rp
b24gZWxlbWVudHMgaW5zaWRlIG5vbi1jb21wb3NpdGVkIGlmcmFtZXMKSW5kZXg6IFNvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZp
c2lvbiAyNTk4NzkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTk3LDYgKzE5Nyw4IEBACiAKICNkZWZpbmUg
V2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRVc2VyVGltaW5nRW5h
YmxlZCIKIAorI2RlZmluZSBXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJX
ZWJLaXRQYWludFRpbWluZ0VuYWJsZWQiCisKICNkZWZpbmUgV2ViS2l0UmVzb3VyY2VUaW1pbmdF
bmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkIgogCiAjZGVm
aW5lIFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdExpbmtQcmVs
b2FkRW5hYmxlZCIKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2Vz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNl
cy5jcHAJKHJldmlzaW9uIDI1OTg3OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlBy
ZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzI2LDYgKzMyNiw4IEBAIHZvaWQgV2Vi
UHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0U2UKIAogICAgIENGRGljdGlvbmFyeUFkZFZh
bHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNl
S2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKIAorICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1
bHRzLCBDRlNUUihXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9v
bGVhbkZhbHNlKTsKKwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihX
ZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsK
IAogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRNZWRpYVBy
ZWxvYWRpbmdFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CkBAIC0yNDE0
LDYgKzI0MTYsMjAgQEAgSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6cmVzb3VyY2VUaW1pbmdFbgog
ICAgIHJldHVybiBTX09LOwogfQogCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRQYWludFRp
bWluZ0VuYWJsZWQoQk9PTCBlbmFibGVkKQoreworICAgIHNldEJvb2xWYWx1ZShXZWJLaXRQYWlu
dFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LCBlbmFibGVkKTsKKyAgICByZXR1cm4gU19PSzsK
K30KKworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6cGFpbnRUaW1pbmdFbmFibGVkKF9PdXRfIEJP
T0wqIGVuYWJsZWQpCit7CisgICAgaWYgKCFlbmFibGVkKQorICAgICAgICByZXR1cm4gRV9QT0lO
VEVSOworICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KFdlYktpdFBhaW50VGltaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXkpOworICAgIHJldHVybiBTX09LOworfQorCiBIUkVTVUxUIFdlYlBy
ZWZlcmVuY2VzOjpzZXJ2ZXJUaW1pbmdFbmFibGVkKF9PdXRfIEJPT0wqIGVuYWJsZWQpCiB7CiAg
ICAgaWYgKCFlbmFibGVkKQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVy
ZW5jZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJl
bmNlcy5oCShyZXZpc2lvbiAyNTk4NzkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQ
cmVmZXJlbmNlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMDcsNiArMzA3LDggQEAgcHVibGljOgog
ICAgIC8vIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU4CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIGFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoX091dF8gQk9PTCopOwog
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRBbGxvd1RvcE5hdmlnYXRp
b25Ub0RhdGFVUkxzKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBwYWludFRpbWluZ0VuYWJsZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBzZXRQYWludFRpbWluZ0VuYWJsZWQoQk9PTCk7CiAKICAgICAvLyBX
ZWJQcmVmZXJlbmNlcwogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAkocmV2
aXNpb24gMjU5ODc5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTUyODUsNiArNTI4NSwxMSBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlm
eVByZWZlcmVuY2VzQ2hhbmdlCiAgICAgICAgIHJldHVybiBocjsKICAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFVzZXJUaW1pbmdFbmFibGVkKCEhZW5hYmxl
ZCk7CiAKKyAgICBociA9IHByZWZzUHJpdmF0ZS0+cGFpbnRUaW1pbmdFbmFibGVkKCZlbmFibGVk
KTsKKyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJuIGhyOworICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1pbmdFbmFibGVkKCEh
ZW5hYmxlZCk7CisKICAgICBociA9IHByZWZzUHJpdmF0ZS0+cmVzb3VyY2VUaW1pbmdFbmFibGVk
KCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhyOwpJbmRl
eDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXMuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlBy
ZWZlcmVuY2VzLmlkbAkocmV2aXNpb24gMjU5ODc5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93
aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUg
KzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiAKICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpJbmRl
eDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2Vz
L0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCShyZXZpc2lvbiAyNTk4NzkpCisrKyBTb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0yNjUsNCArMjY1LDYgQEAgaW50ZXJmYWNlIElXZWJQcmVmZXJlbmNl
c1ByaXZhdGU4IDogSVdlYgogewogICAgIEhSRVNVTFQgYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRh
VVJMcyhbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgc2V0QWxsb3dU
b3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBw
YWludFRpbWluZ0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MKik7CisgICAgSFJFU1VMVCBzZXRQ
YWludFRpbWluZ0VuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwogfQpJbmRleDogU291cmNlL1dl
YktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvV2ViS2l0LmlkbAkocmV2aXNpb24gMjU5ODc5
KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogY3BwX3F1b3RlKCIvKiIpCi1jcHBf
cXVvdGUoIiAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIikKK2NwcF9xdW90ZSgiICogQ29weXJp
Z2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDE1LCAyMDIwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4iKQogY3BwX3F1b3RlKCIgKiIpCiBjcHBfcXVvdGUoIiAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dCIpCiBjcHBfcXVvdGUoIiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyIpCkluZGV4OiBUb29scy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTk4NzkpCisr
KyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0w
NC0wNSAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVt
ZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBwcmVmZXJlbmNlIGtleSBmb3IgcGFpbnQtdGlt
aW5nLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgor
ICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHJlc2V0
V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6
cmVzZXRQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisKIDIwMjAtMDQtMTAgIEFsaWNp
YSBCb3lhIEdhcmPDrWEgIDxhYm95YUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXVEZdIERhdGFN
dXRleDogQWRkIHJ1blVubG9ja2VkKCkKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9E
dW1wUmVuZGVyVHJlZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
RHVtcFJlbmRlclRyZWUubW0JKHJldmlzaW9uIDI1OTg3OSkKKysrIFRvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTAwNCw2ICsxMDA0
LDcgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdAogICAgIFtwcmVm
ZXJlbmNlcyBzZXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJl
bmNlcyBzZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0
VXNlclRpbWluZ0VuYWJsZWQ6WUVTXTsKKyAgICBbcHJlZmVyZW5jZXMgc2V0UGFpbnRUaW1pbmdF
bmFibGVkOllFU107CiAKICAgICBbcHJlZmVyZW5jZXMgc2V0Q2FjaGVBUElFbmFibGVkOk5PXTsK
ICAgICBwcmVmZXJlbmNlcy5tZWRpYUNhcGFiaWxpdGllc0VuYWJsZWQgPSBZRVM7CkluZGV4OiBU
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAJKHJldmlzaW9uIDI1
OTg3OSkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTkyMSw2ICs5MjEsNyBAQCBzdGF0aWMgdm9pZCBzZXRXZWJQcmVmZXJl
bmNlc0ZvclRlc3RPcHRpCiAgICAgcHJlZnNQcml2YXRlLT5zZXRBbGxvd1RvcE5hdmlnYXRpb25U
b0RhdGFVUkxzKG9wdGlvbnMuYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyk7CiAgICAgcHJl
ZmVyZW5jZXMtPnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQob3B0aW9ucy51c2VFcGhlbWVyYWxT
ZXNzaW9uKTsKICAgICBwcmVmZXJlbmNlcy0+c2V0VXNlc1BhZ2VDYWNoZShvcHRpb25zLmVuYWJs
ZUJhY2tGb3J3YXJkQ2FjaGUpOworICAgIHByZWZzUHJpdmF0ZS0+c2V0UGFpbnRUaW1pbmdFbmFi
bGVkKFRSVUUpOwogfQogCiBzdGF0aWMgU3RyaW5nIGFwcGxpY2F0aW9uSWQoKQpJbmRleDogVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDI1OTg3OSkK
KysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC05MzEsNiArOTMxLDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVmZXJl
bmNlc1RvQwogICAgIFdLUHJlZmVyZW5jZXNTZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQocHJl
ZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRSZXNvdXJjZVRpbWluZ0VuYWJs
ZWQocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRVc2VyVGltaW5nRW5h
YmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CisgICAgV0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5n
RW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldE1lZGlhUHJl
bG9hZGluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRN
ZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZl
cmVuY2VzU2V0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUo
cHJlZmVyZW5jZXMsIGZhbHNlKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTg3OSkKKysrIExheW91
dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDIwLTA0
LTA1ICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1l
bnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgdGVzdHMgZm9yIHNvbWUgZmlyc3QtY29udGVu
dGZ1bC1wYWludCAoRkNQKSB1c2UtY2FzZXMuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkv
cGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9y
bWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzOiBBZGRlZC4KKyAgICAgICAg
ICAgICAgICBUZXN0IGV4aXN0ZW5jZSBvZiBwYWludCB0aW1pbmcgQVBJIG9uIHRoZSB3aW5kb3cg
b2JqZWN0LgorCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFp
bnQtZnJhbWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBp
L2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBl
cmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LXdpdGgtd29ya2VyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQtd2l0aC13b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBp
L3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFu
Y2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAgICAgICAgICAgVGVz
dCB0aGF0IEZDUCBpcyBub3QgYXZhaWxhYmxlIGZvciBjcm9zcy1vcmlnaW4gZnJhbWVzIGFuZCB3
b3JrZXJzLgorCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVy
LWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBw
ZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWlu
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50
LWFwaS11dGlscy5qczogQWRkZWQuCisgICAgICAgIChhc3luYyB3YWl0Rm9yRkNQKToKKyAgICAg
ICAgICAgICAgICBUZXN0IHRoYXQgcGVyZm9ybWFuY2Ugb2JzZXJ2ZXJzIGFyZSBjYWxsZWQgZm9y
IEZDUC4KKworICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFp
bnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHkuaHRtbDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNw
LWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1leHBlY3RlZC50eHQ6IEFkZGVkCisgICAgICAgICog
aHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3N0eWxlLnBocDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc3R5bGUuY3NzOiAgQWRk
ZWQuCisgICAgICAgICAgICAgICAgVGVzdCB0aGF0IEZDUCBoYXBwZW5zIGFmdGVyIFZORSAtIGlm
IGEgcGVuZGluZyBzdHlsZXNoZWV0IGJsb2NrcyBwYWludGluZywgZmlyZSBGQ1Agb25seSBhZnRl
ciBzdHlsZXNoZWV0IGhhcyBsb2FkZWQuCisKKyAgICAgICAgCisKIDIwMjAtMDQtMTAgIEFudHRp
IEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgU2hhZG93IFBhcnRz
XSBCYWQgc3R5bGUgc2hhcmluZyBiZXR3ZWVuIHNpYmxpbmcgZWxlbWVudHMgd2l0aCBkaWZmZXJl
bnQgcGFydCBhdHRyaWJ1dGVzCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1h
bmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZv
cm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVt
cHR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHkt
bm9uLWVtcHR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKK1BB
U1MgcGFpbnRFbnRyeS5zdGFydFRpbWUgPj0gc3R5bGVFbnRyeS5zdGFydFRpbWUgKyBzdHlsZUVu
dHJ5LmR1cmF0aW9uIGlzIHRydWUKK1BBU1MgcGFpbnRFbnRyeS5zdGFydFRpbWUgPj0gc3R5bGVF
bnRyeS5zdGFydFRpbWUgKyA1MDAgaXMgdHJ1ZQorVEVYVApJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZp
c3VhbGx5LW5vbi1lbXB0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxs
eS1ub24tZW1wdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHkt
bm9uLWVtcHR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCkKKyAgICAgICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICB2YXIg
c3R5bGVFbnRyeSA9IG51bGw7CisgICAgdmFyIHBhaW50RW50cnkgPSBudWxsOworICAgIGNvbnN0
IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7CisgICAgICAgIGNv
bnN0IHBhaW50RW50cmllcyA9IGxpc3QuZ2V0RW50cmllc0J5VHlwZSgncGFpbnQnKTsKKyAgICAg
ICAgaWYgKHBhaW50RW50cmllcy5sZW5ndGgpCisgICAgICAgICAgICBwYWludEVudHJ5ID0gcGFp
bnRFbnRyaWVzWzBdOworICAgICAgICBjb25zdCByZXNvdXJjZUVudHJpZXMgPSBsaXN0LmdldEVu
dHJpZXNCeVR5cGUoJ3Jlc291cmNlJykuZmlsdGVyKHIgPT4gci5uYW1lLmluY2x1ZGVzKCdzbG93
c3R5bGUucGhwJykpOworICAgICAgICBpZiAocmVzb3VyY2VFbnRyaWVzLmxlbmd0aCkKKyAgICAg
ICAgICAgIHN0eWxlRW50cnkgPSByZXNvdXJjZUVudHJpZXNbMF07CisKKyAgICAgICAgICAgIGlm
IChzdHlsZUVudHJ5ICYmIHBhaW50RW50cnkpIHsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgi
cGFpbnRFbnRyeS5zdGFydFRpbWUgPj0gc3R5bGVFbnRyeS5zdGFydFRpbWUgKyBzdHlsZUVudHJ5
LmR1cmF0aW9uIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoInBhaW50RW50cnkuc3RhcnRU
aW1lID49IHN0eWxlRW50cnkuc3RhcnRUaW1lICsgNTAwIik7CisgICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgICAgIH0KKyAgICB9KTsKKyAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBb
InBhaW50IiwgInJlc291cmNlIl19KTsKKzwvc2NyaXB0PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuL3Jlc291cmNlcy9zbG93c3R5bGUucGhwP2RlbGF5PTAuNSIgLz4KKzwvaGVhZD4K
Kzxib2R5PgorVEVYVAorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3N0eWxlLnBocAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c3R5bGUucGhw
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVz
b3VyY2VzL3Nsb3dzdHlsZS5waHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2IEBACis8P3Bo
cAoraWYgKGlzc2V0KCRfR0VUWyJkZWxheSJdKSkKKyAgICBzbGVlcCgkX0dFVFsiZGVsYXkiXSk7
CitoZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUnKTsKK2hl
YWRlcignTG9jYXRpb246IHN0eWxlLmNzcycpOworPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3N0eWxlLmNzcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zdHlsZS5jc3MJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMv
c3R5bGUuY3NzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorYm9keSB7CisgICAgYmFj
a2dyb3VuZC1jb2xvcjogZ3JlZW4KK307ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTk4NzkpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxLDc2
IEBACisyMDIwLTA0LTA1ICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wb3J0ZWQgdGVzdC1zdWl0ZSBm
cm9tIHczYyB0byBjb3ZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhc2VzLgorICAgICAgICBU
aGUgZmNwLW9ubHkgY2FzZXMgYXJlIGltcG9ydGVkLCB3aGlsZSB0aGUgb3RoZXIgb25lcyBhcmUg
bm90IHNpbmNlIFdlYktpdCBkb2VzIG5vdCBzdXBwb3J0IGZpcnN0LXBhaW50LgorCisgICAgICAg
ICogcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3
by1zdGVwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS1zY2FsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLXNjYWxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LWRpc3BsYXkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtdGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1l
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2Ut
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xl
LnN2ZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9y
ZXNvdXJjZXMvY2lyY2xlcy5wbmc6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZy
YW1lLXNlbmRpbmctcGFpbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanM6IEFkZGVkLgorICAgICAgICAod2Fp
dFRpbWUpOgorICAgICAgICAoYXN5bmMgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCk6Cisg
ICAgICAgIChhc3luYyBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCk6CisgICAgICAgICh0ZXN0
X2ZjcCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJj
ZXMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiA9PSBSb2xsZWQgb3ZlciB0byBDaGFuZ2VMb2ct
MjAyMC0wNC0xMCA9PQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9p
bXBvcnQtZXhwZWN0YXRpb25zLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24JKHJldmlzaW9uIDI1OTg3
OSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0
aW9ucy5qc29uCSh3b3JraW5nIGNvcHkpCkBAIC0xMyw2ICsxMyw4IEBACiAgICAgImNzcy9nZW9t
ZXRyeSI6ICJpbXBvcnQiLCAKICAgICAiY3NzL3N1cHBvcnQiOiAiaW1wb3J0IiwgCiAgICAgImN1
c3RvbS1lbGVtZW50cyI6ICJpbXBvcnQiLCAKKyAgICAicGFpbnQtdGltaW5nLyI6ICJpbXBvcnQi
LCAKKyAgICAicGFpbnQtdGltaW5nL2ZjcC1vbmx5IjogImltcG9ydCIsIAogICAgICJzaGFkb3ct
ZG9tIjogImltcG9ydCIsIAogICAgICJ0b29scyI6ICJpbXBvcnQiLCAKICAgICAid2ViLWFuaW1h
dGlvbnMiOiAiaW1wb3J0IiwgCkBAIC0zMTksNyArMzIxLDggQEAKICAgICAid2ViLXBsYXRmb3Jt
LXRlc3RzL29yaWVudGF0aW9uLWV2ZW50IjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL29yaWVudGF0aW9uLXNlbnNvciI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy9wYWdlLXZpc2liaWxpdHkiOiAic2tpcCIsIAotICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nIjogInNraXAiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seSI6ICJpbXBvcnQiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9yZXNvdXJjZXMiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LWhhbmRsZXIiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1t
ZXRob2QtYmFzaWMtY2FyZCI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LW1ldGhvZC1pZCI6ICJza2lwIiwgCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1z
aXplLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1z
aXplLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3Vu
ZC1zaXplLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFT
UyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemUuIAor
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRp
bWluZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tncm91bmQgc2l6ZTwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAx
MDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTog
dXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTog
MCAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0
X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIGJhY2tncm91
bmQtc2l6ZTogMTAwJSAxMDAlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9k
aXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IGR1ZSB0byBiYWNrZ3JvdW5kIHNpemUuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVl
IHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0LiAKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWJnLWltYWdlLXNldC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1z
ZXQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBiYWNrZ3Jv
dW5kIGltYWdlIGluIGltYWdlLXNldDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAg
ICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAg
LyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAg
ICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1p
bWFnZS1zZXQodXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZykgMXgpOworICAgICAgICBiYWNr
Z3JvdW5kLWltYWdlOiBpbWFnZS1zZXQodXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZykgMXgp
OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
dXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAg
IHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5k
IGltYWdlIGluIGltYWdlLXNldC4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBw
YWludCBmaXJlcyBmb3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZS4gCisKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFp
bnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgZmlyZSBmb3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5
IHdoZW4gdmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0
aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVu
dGZ1bCBhbmQgcHJlRkNQIGNsYXNzZXMgYXJlIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAq
LworICAgICNtYWluLnByZUZDUCB7CisgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICB9
CisKKyAgICAjbWFpbi5jb250ZW50ZnVsLCAgI21haW4ucHJlRkNQIHsKKyAgICAgICAgYmFja2dy
b3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAg
I21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3Ao
IkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZm9yIGJhY2tncm91bmQgaW1hZ2Ugb25seSB3
aGVuIHZpc2libGUuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzIEBACisKK1BBU1MgQ2FudmFzIHNob3VsZCBjb3VudCBhcyBjb250ZW50ZnVsIHdo
ZW4gY29udGV4dCBpcyBjcmVhdGVkIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRl
eHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agd2hlbiBjYW52YXMgY29udGV4dCBp
cyBjcmVhdGVkPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI1MCIgaGVpZ2h0
PSI1MCI+PC9jYW52YXM+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Cisg
ICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBh
aW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgYXdhaXQgbmV3IFByb21pc2UociA9
PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICBhd2FpdCBhc3NlcnRO
b0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NhbnZhcycpOworICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29u
dGV4dCgnMmQnKTsKKyAgICBjb250ZXh0LmZpbGxSZWN0KDAsIDAsIDEwMCwgMTAwKTsKKyAgICBh
d2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAnQ2FudmFzIHNob3VsZCBj
b3VudCBhcyBjb250ZW50ZnVsIHdoZW4gY29udGV4dCBpcyBjcmVhdGVkJyk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgR3JhZGllbnRzIHNob3VsZCBub3QgY291
bnQgYXMgY29udGVudGZ1bCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIHNob3VsZCBub3QgZmlyZSB3aXRoIGdyYWRpZW50LW9ubHkgYmFja2dyb3Vu
ZHM8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXIt
Z3JhZGllbnQodG8gYm90dG9tLCBvcmFuZ2UsIGJsdWUpOworICAgIH0KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5n
LCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGNvbnN0IG1haW4gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbicpOworICAgICAgYXdhaXQgbmV3IFByb21pc2Uo
ciA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFz
c2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgICdHcmFkaWVudHMgc2hvdWxkIG5v
dCBjb3VudCBhcyBjb250ZW50ZnVsJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVz
Y2VuZGFudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBk
dWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90YXRpbmcgaW50byB2aWV3LiAKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5k
YW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0
byAzZCByZXZlYWxpbmcgb2YgZGVzY2VuZGFudHM8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWlu
IHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAw
OworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVkZWcpOworICAgICAgICB0cmFuc2Zvcm0t
c3R5bGU6IHByZXNlcnZlLTNkOworICAgIH0KKworICAgIC8qCisgICAgICAgVGhpcyB0ZXN0cyB0
aGF0IGdpdmVuIG11bHRpcGxpY2F0aW9uIGVmZmVjdCBvZiAzZCB0cmFuc2Zvcm1zIG9uIGJvdW5k
aW5nIHJlY3QsCisgICAgICAgQW4gZWxlbWVudCBjb3VudHMgYXMgY29udGVudGZ1bC9wYWludGFi
bGUgb25seSB3aGVuIGl0cyBib3VuZGluZyByZWN0IGlzIHRydWx5IG5vbi1lbXB0eSAqLworICAg
ICNjaGlsZCB7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCg0NWRlZyk7CisgICAgfQorCisg
ICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8K
KyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0iY2hpbGQiPlRleHQ8L2Rp
dj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWlu
dCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90YXRpbmcgaW50byB2aWV3LiIp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWlu
dmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXcuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLTNkLXJvdGF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0z
ZC1yb3RhdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
ZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldzwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
IGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDkwZGVnKTsKKyAgICAgICAg
cG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAgLyogY29u
dGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFp
bi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0
PgorPGRpdiBpZD0ibWFpbiI+VGV4dDwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gM2Qgcm90YXRpb24gaW50byB2aWV3LiIp
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtc2NhbGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtc2NhbGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAor
CitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHNjYWxlIGJlY29taW5n
IHBvc2l0aXZlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0
aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNj
YWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyB3aGVuIHJldmVhbGVkIGR1cmluZyB0cmFuc2l0aW9uLiAKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGluIHRyYW5zaXRpb248L3RpdGxlPgorPHN0eWxl
PgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7Cisg
ICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMHM7CisgICAgICAgIHBvc2l0aW9uOiByZWxh
dGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3Mg
aXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7
CisgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlk
PSJtYWluIj5URVhUPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIHdoZW4gcmV2ZWFsZWQgZHVyaW5nIHRyYW5zaXRpb24uIik7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2Nh
bGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0
bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gc2NhbGUgY2hhbmdl
PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zv
cm06IHNjYWxlKDApOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDog
MDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBu
Zyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3Rf
ZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3Jt
OiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0
PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBzY2Fs
ZSBiZWNvbWluZyBwb3NpdGl2ZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDQgQEAKK0lOVklTSUJMRQorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIAorCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLXRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0
OiBGQ1Agc2hvdWxkIHN0aWxsIGZpcmUgZm9yIGludmlzaWJsZSB0ZXh0PC90aXRsZT4KKzxzdHls
ZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lk
dGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICB2aXNpYmlsaXR5OiBo
aWRkZW47CisgICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOworICAgIH0KKworICAgIC8q
IGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAg
I21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICBJTlZJU0lCTEUKKzwvZGl2PgorPHNjcmlw
dD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNl
dWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3Np
dGl2ZSBvcGFjaXR5LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0
aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBhbmNlc3RvciBv
cGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBw
eDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICB9CisKKyAgICAjY2hpbGQg
eworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgYW5kIGlu
dGVybWVkaWF0ZSBjbGFzc2VzIGFyZSBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAg
ICAjbWFpbi5jb250ZW50ZnVsICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQor
CisgICAgI21haW4uaW50ZXJtZWRpYXRlICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDE7Cisg
ICAgfQorCisgICAgI21haW4uaW50ZXJtZWRpYXRlIHsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAg
ICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgb3BhY2l0eTogMC41OworICAg
IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMu
anMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0iY2hpbGQiPlRleHQ8
L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBw
YWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4i
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNp
dHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gb3BhY2l0eS1yZXZlYWxlZCBlbGVtZW50LiAKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0
aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBvcGFjaXR5PC90
aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjog
cmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJs
KC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQor
CisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4g
Ki8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgb3BhY2l0eTogMC4xOworICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNw
KCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVs
ZW1lbnQuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGludGVyc2VjdGlv
biB3aXRoIGRvY3VtZW50LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJh
bnNsYXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJv
dW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8g
dHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJz
ZWN0aW9uIHdpdGggZG9jdW1lbnQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAg
ICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAw
cHg7CisgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAwcHgpOworICAgICAgICBwb3Np
dGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFn
ZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVu
dGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5j
b250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0Pgor
PGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdp
dGggZG9jdW1lbnQuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0
LW9mLWJvdW5kcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91
bmRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0
byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
IGxlZnQ6IC0xMDAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9w
OiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMu
cG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBsZWZ0OiAw
cHg7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+Cisg
ICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGludGVyc2Vj
dGlvbiB3aXRoIGRvY3VtZW50LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIAorCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZv
cm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQ8
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZl
OworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQor
CisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAiVEVYVCI7CisgICAgICAgIGRp
c3BsYXk6IG5vbmU7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVk
IGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAg
ICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4K
KzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWlt
YWdlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4g
CisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVy
Zm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgaW1h
Z2U8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
fQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlw
dC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogdXJs
KC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJt
YWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBw
YWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgaW1hZ2UuIikKKzwvc2NyaXB0PgorPC9i
b2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0
eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LW9wYWNpdHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8t
ZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMy
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRp
bWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3Bh
Y2l0eTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVs
YXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAg
ICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmlu
ZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgewor
ICAgICAgICBvcGFjaXR5OiAwLjU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4K
KzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiIpCis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC10ZXh0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVk
by1lbGVtZW50IHRleHQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4
dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVk
by1lbGVtZW50IHRleHQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9z
aXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRl
c3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAg
Y29udGVudDogIlRFWFQiCisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2
PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBk
dWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0
eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVt
ZW50IGJlY29taW5nIHZpc2libGUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtdmlzaWJpbGl0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC12aXNpYmlsaXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWlu
ZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGU8L3RpdGxl
PgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAg
ICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAg
I21haW46YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAiVEVYVCI7CisgICAgICAgIHZpc2liaWxp
dHk6IGhpZGRlbjsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQg
aW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAg
ICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFp
biI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIikKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIFNW
RyBiZWNvbWVzIGNvbnRlbnRmdWwuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1zdmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBG
Q1Agd2l0aCBTVkc8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6
IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAg
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICB9CisKKyAgICAjY2lyY2xlIHsKKyAgICAgIGRp
c3BsYXk6IG5vbmU7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVk
IGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICNjaXJjbGUgewor
ICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4i
PgorICA8c3ZnIHZpZXdCb3g9IjAgMCAxMCAxMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIgorICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+
CisgICAgPGRlZnM+CisgICAgICA8Y2lyY2xlIGlkPSJteUNpcmNsZSIgY3g9IjUiIGN5PSI1IiBy
PSI0IiBzdHJva2U9ImJsdWUiLz4KKyAgICA8L2RlZnM+CisgICAgPHVzZSBpZD0iY2lyY2xlIiBo
cmVmPSIjbXlDaXJjbGUiIGZpbGw9ImdyZWVuIiAvPgorICA8L3N2Zz4KKzwvZGl2PgorPHNjcmlw
dD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIFNWRyBi
ZWNvbWVzIGNvbnRlbnRmdWwuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQgQEAKKworCitQQVNTIFRleHQgaW5wdXQgc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4g
aXRzIHZhbHVlIGlzIG5vbi1lbXB0eSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5j
ZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSBmb3Igbm9uLWVtcHR5IHRleHQgaW5wdXQ8L3Rp
dGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9InRleHQiIC8+Cis8c2NyaXB0PgorICBwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5Q
ZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsK
KyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xv
YWQnLCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7Cisg
ICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dCcpOworICAg
ICAgaW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsICcgICcpOworICAgICAgYXdhaXQgYXNzZXJ0
Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1
ZScsICd2YWx1ZScpOworICAgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsK
KyAgfSwgJ1RleHQgaW5wdXQgc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gaXRzIHZhbHVl
IGlzIG5vbi1lbXB0eScpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK0EKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIG9ubHkgd2hlbiBzb21lIG9mIHRoZSB0ZXh0IGlzIHZpc2libGUsIGNvbnNpZGVyaW5n
IDo6Zmlyc3QtbGV0dGVyLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVk
by5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBub3QgZmly
ZSB3aGVuIGFsbCB0ZXh0IGlzIGhpZGRlbiBkdWUgdG8gdHlwb2dyYXBoaWMgcHNldWRvLWVsZW1l
bnRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxh
dGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
IH0KKworICAgICNtYWluICo6OmZpcnN0LWxldHRlciB7CisgICAgICAgIG9wYWNpdHk6IDA7Cisg
ICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNj
cmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICo6OmZpcnN0LWxldHRlciB7CisgICAgICAg
IG9wYWNpdHk6IDE7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2
PkE8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBvbmx5IHdoZW4gc29tZSBvZiB0aGUgdGV4dCBpcyB2aXNpYmxlLCBjb25z
aWRlcmluZyA6OmZpcnN0LWxldHRlci4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDQgQEAKKworCitQQVNTIFZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVu
IGZpcnN0IGZyYW1lIGlzIGxvYWRlZCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1l
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBsb2FkZWQgdmlkZW8gZnJhbWU8L3Rp
dGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIGF1dG9wbGF5PjwvdmlkZW8+Cis8c2NyaXB0PgorICBw
cm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRv
dy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4i
KTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
J2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7
CisgICAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2aWRlbycpOwor
ICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdzcmMnLCAnL21lZGlhL3Rlc3QubXA0Jyk7CisgICAg
ICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgdmlkZW8ub25jYW5wbGF5
ID0gcmVzb2x2ZTsKKyAgICAgIH0pOworICAgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVs
UGFpbnQoKTsKKyAgfSwgJ1ZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGZpcnN0
IGZyYW1lIGlzIGxvYWRlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQgQEAKKworCitQQVNTIFZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIHBv
c3RlciBpcyBsb2FkZWQgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gbG9hZGVkIHZpZGVvIHBvc3RlcjwvdGl0bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHZpZGVvIGlkPSJ2aWRlbyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L3ZpZGVvPgorPHNj
cmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGFzc2VydF9wcmVjb25kaXRp
b24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3Vw
cG9ydGVkLiIpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoJ2xvYWQnLCByKSk7CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWlu
dCgpOworICAgIGNvbnN0IHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpZGVvJyk7
CisgICAgY29uc3Qgc3JjID0gJy4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyc7CisgICAgY29uc3Qg
aW1hZ2UgPSBuZXcgSW1hZ2UoKTsKKyAgICBpbWFnZS5zcmMgPSBzcmM7CisgICAgdmlkZW8uc2V0
QXR0cmlidXRlKCdwb3N0ZXInLCBzcmMpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUg
PT4geworICAgICAgICBpbWFnZS5vbmxvYWQgPSBhc3luYyAoKSA9PiByZXNvbHZlKCk7CisgICAg
fSkKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAnVmlkZW8g
c2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9zdGVyIGlzIGxvYWRlZCcpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RFWFQKKworUEFTUyBXaGl0ZXNwYWNl
IHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bC4gCisKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13
aGl0ZXNwYWNlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+
UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IFdoaXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3Vu
dCBhcyBjb250ZW50ZnVsPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBv
c2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNs
ZXMucG5nKTsKKyAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDA7CisgICAgfQorCisgICAgI3Rl
eHQgeworICAgICAgICBkaXNwbGF5OiBub25lOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwg
Y2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVu
dGZ1bCAjdGV4dHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJ3aGl0ZXNwYWNlIj4gICA8L2Rpdj4KKyAgICA8
ZGl2IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3Ao
IldoaXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsLiIpCis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNTIEZDUCBzaG91bGQgZmlyZSB3aGVu
IGNvb3JkaW5hdGVzIGFyZSBuZWdhdGl2ZSwgaWYgd2l0aGluIGRvY3VtZW50IHNjcm9sbGFibGUg
YXJlYSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXdpdGgtcnRsLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IGR1ZSB0byBkaXJlY3Rpb24gY2hhbmdlPC90aXRsZT4KKzxzdHlsZT4KKyAgI3RleHQgeworICAg
IHJpZ2h0OiAtMTAwcHg7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICB9CisKKyAgYm9keSB7
CisgICAgZGlyZWN0aW9uOiBydGw7CisgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBkaXJl
Y3Rpb249IlJUTCI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxk
aXYgaWQ9InRleHQiPlRFWFQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRU
aW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3
IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAg
IGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICAgIGRvY3VtZW50LmJv
ZHkuc3R5bGUuZGlyZWN0aW9uID0gJ2x0cicKKyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVu
dGZ1bFBhaW50KCk7CisgIH0sICdGQ1Agc2hvdWxkIGZpcmUgd2hlbiBjb29yZGluYXRlcyBhcmUg
bmVnYXRpdmUsIGlmIHdpdGhpbiBkb2N1bWVudCBzY3JvbGxhYmxlIGFyZWEnKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvdzNjLWltcG9ydC5sb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvdzNjLWltcG9ydC5sb2cJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorVGhlIHRl
c3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRv
cnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dp
dGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2Ny
aXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9k
aWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyBy
ZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNv
bnRleHQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWdyYWRpZW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS0zZC1yb3RhdGUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS10ZXh0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3Vu
ZHMtdHJhbnNsYXRlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdmVyZmxvdy5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlz
cGxheS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LXRleHQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1
dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNw
YWNlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC13aXRoLXJ0bC5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2Zwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2Zwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2ly
Y2xlLnN2Zwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKzxzdmcgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiPgorICAgPGNpcmNsZSBjeD0iMTAw
IiBjeT0iNTAiIHI9IjQwIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5v
bmUiIC8+Cis8L3N2Zz4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1wYWludGluZy5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1wYWludGluZy5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1wYWludGluZy5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8ZGl2IGlkPSJpbWFnZSI+
PC9kaXY+Cis8c2NyaXB0PgorICBjb25zdCBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdJ
TUcnKTsKKyAgaW1nLnNyYyA9ICdjaXJjbGVzLnBuZyc7CisgIGltZy5vbmxvYWQgPSBmdW5jdGlv
bigpIHsKKyAgICBmdW5jdGlvbiBzZW5kUGFpbnRFbnRyaWVzKCkgeworICAgICAgY29uc3QgcGFp
bnRFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncGFpbnQnKTsKKyAgICAg
IGlmIChwYWludEVudHJpZXMubGVuZ3RoIDwgMikgeworICAgICAgICBzZXRUaW1lb3V0KHNlbmRQ
YWludEVudHJpZXMsIDIwKTsKKyAgICAgICAgcmV0dXJuOworICAgICAgfQorICAgICAgbGV0IGVu
dHJ5Q29udGVudHMgPSBwYWludEVudHJpZXMubGVuZ3RoICsgJyc7CisgICAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IHBhaW50RW50cmllcy5sZW5ndGg7IGkrKykgeworICAgICAgICBjb25zdCBlbnRy
eSA9IHBhaW50RW50cmllc1tpXTsKKyAgICAgICAgZW50cnlDb250ZW50cyArPSAnICcgKyBlbnRy
eS5lbnRyeVR5cGUgKyAnICcgICsgZW50cnkubmFtZTsKKyAgICAgIH0KKyAgICAgIHBhcmVudC5w
b3N0TWVzc2FnZShlbnRyeUNvbnRlbnRzLCAnKicpOworICAgIH07CisgICAgc2VuZFBhaW50RW50
cmllcygpOworICB9OworICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1hZ2UnKS5hcHBlbmRD
aGlsZChpbWcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMv
c3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJm
cmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZy
YW1lLXNlbmRpbmctcGFpbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQ+CisgIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2Fn
ZScsIGZ1bmN0aW9uKGUpIHsKKyAgICAvLyBTZW5kIHBhaW50LXRpbWluZyBlbnRyaWVzIHVwb24g
cmVjZWl2aW5nIGEgbWVzc2FnZS4KKyAgICBjb25zdCBwYWludEVudHJpZXMgPSBwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzQnlUeXBlKCdwYWludCcpOworICAgIGxldCBlbnRyeUNvbnRlbnRzID0gcGFp
bnRFbnRyaWVzLmxlbmd0aCArICcnOworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFpbnRFbnRy
aWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICBjb25zdCBlbnRyeSA9IHBhaW50RW50cmllc1tpXTsK
KyAgICAgIGVudHJ5Q29udGVudHMgKz0gJyAnICsgZW50cnkuZW50cnlUeXBlICsgJyAnICArIGVu
dHJ5Lm5hbWU7CisgICAgfQorICAgIHBhcmVudC5wb3N0TWVzc2FnZShlbnRyeUNvbnRlbnRzLCAn
KicpOworICB9KTsKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL3Jlc291cmNlcy91dGlscy5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRp
bHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NiBAQAorLy8gTnVtYmVyIG1pbGxpc2Vj
b25kcyB0byB3YWl0IGZvciBDU1MgcmVzb3VyY2VzIHRvIGxvYWQuCitjb25zdCBudW1NaWxsaXNl
Y29uZHNXYWl0ID0gNTA7CisKKy8vIFdlIHVzZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKSBjYWxs
cyB0byBmb3JjZSB0aGUgdXNlciBhZ2VudCB0byBwYWludCBhbmQgZ2l2ZSBlbm91Z2gKKy8vIHRp
bWUgZm9yIEZDUCB0byBzaG93IHVwIGluIHRoZSBwZXJmb3JtYW5jZSB0aW1lbGluZS4gSGVuY2Us
IHNldCB8bnVtRnJhbWVzV2FpdGluZ3wgdG8KKy8vIDMgYW5kIHVzZSB0aGF0IGNvbnN0YW50IHdo
ZW5ldmVyIHRoZSB0ZXN0IG5lZWRzIHRvIHdhaXQgZm9yIHRoZSBuZXh0IHBhaW50IHRvIG9jY3Vy
LgorY29uc3QgbnVtRnJhbWVzV2FpdGluZyA9IDM7CisKK2Z1bmN0aW9uIHdhaXRUaW1lKHQpIHsK
KyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gdC5zdGVwX3RpbWVvdXQocmVzb2x2ZSwg
bnVtTWlsbGlzZWNvbmRzV2FpdCkpOworfQorCitmdW5jdGlvbiB3YWl0Rm9yQW5pbWF0aW9uRnJh
bWVzKGNvdW50KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBpZiAo
Y291bnQtLSA8PSAwKSB7CisgICAgICByZXNvbHZlKCk7CisgICAgfSBlbHNlIHsKKyAgICAgIHJl
cXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgIHdhaXRGb3JBbmltYXRpb25GcmFt
ZXMoY291bnQpLnRoZW4ocmVzb2x2ZSk7CisgICAgICB9KTsKKyAgICB9CisgIH0pOworfQorCisv
LyBBc3NlcnRzIHRoYXQgdGhlcmUgaXMgY3VycmVudGx5IG5vIEZDUCByZXBvcnRlZCwgZXZlbiBh
ZnRlciBzb21lIHdhaXQuCithc3luYyBmdW5jdGlvbiBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBh
aW50KHQpIHsKKyAgaWYgKHQpCisgICAgYXdhaXQgd2FpdFRpbWUodCk7CisKKyAgYXdhaXQgd2Fp
dEZvckFuaW1hdGlvbkZyYW1lcyhudW1GcmFtZXNXYWl0aW5nKTsKKyAgYXNzZXJ0X2VxdWFscyhw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVu
Z3RoLCAwLCAnRmlyc3QgY29udGVudGZ1bCBwYWludCBtYXJrZWQgdG9vIGVhcmx5LiAnKTsKK30K
KworLy8gQXNzZXJ0cyB0aGF0IEZDUCBpcyByZXBvcnRlZCwgcG9zc2libHkgYWZ0ZXIgc29tZSB3
YWl0LiBUaGUgd2FpdCBpcyBuZWVkZWQKKy8vIGJlY2F1c2Ugc29tZXRpbWVzIHRoZSBGQ1AgcmVs
aWVzIG9uIHNvbWUgQ1NTIHJlc291cmNlcyB0byBmaW5pc2ggbG9hZGluZy4KK2FzeW5jIGZ1bmN0
aW9uIGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQpIHsKKyAgaWYgKHQpCisgICAgYXdhaXQg
d2FpdFRpbWUodCk7CisgIGF3YWl0IHdhaXRGb3JBbmltYXRpb25GcmFtZXMobnVtRnJhbWVzV2Fp
dGluZyk7CisgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmly
c3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0aCwgMSwgJ0V4cGVjdGVkIGZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgbm90IGZvdW5kLiAnKTsKK30KKworZnVuY3Rpb24gdGVzdF9mY3AobGFiZWwpIHsK
KyAgY29uc3Qgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOworICBkb2N1
bWVudC5oZWFkLmFwcGVuZENoaWxkKHN0eWxlKTsKKyAgcmV0dXJuIHByb21pc2VfdGVzdChhc3lu
YyB0ID0+IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50
VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBjb25zdCBtYWlu
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW4nKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlz
ZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFz
c2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICBtYWluLmNsYXNzTmFtZSA9ICdwcmVG
Q1AnOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICBtYWlu
LmNsYXNzTmFtZSA9ICdjb250ZW50ZnVsJzsKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRm
dWxQYWludCgpOworICB9LCBsYWJlbCk7Cit9CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5s
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIx
IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgor
CWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisK
K0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQ
cm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlz
dCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291
cmNlcy9jaXJjbGUuc3ZnCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9y
ZXNvdXJjZXMvY2lyY2xlcy5wbmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGlt
aW5nL3Jlc291cmNlcy9zdWJmcmFtZS1wYWludGluZy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMu
anMKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Bh
aW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKK0Jhc2ljIEludGVyZmFjZSB0ZXN0IGZvciBwYWludC10
aW1pbmcgQVBJcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BlcmZvcm1hbmNl
UGFpbnRUaW1pbmcKK1BBU1MgUGVyZm9ybWFuY2VQYWludFRpbWluZyBpcyBkZWZpbmVkLgorUEFT
UyBQZXJmb3JtYW5jZVBhaW50VGltaW5nLnByb3RvdHlwZS50b0pTT04gaXMgZGVmaW5lZC4KK1BB
U1MgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IFBlcmZvcm1h
bmNlUGFpbnRUaW1pbmcoKScpLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10
aW1pbmctYXBpcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFw
aS9wYWludC10aW1pbmctYXBpcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRp
bWluZy1mcmFtZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorUGFpbnQgQVBJIHNob3Vs
ZCBiZSBhdmFpbGFibGUgZm9yIHNhbWUtb3JpZ2luIGZyYW1lcyBidXQgbm90IHRvIGNyb3NzLW9y
aWdpbi9zYW5kYm94ZWQgZnJhbWVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyByZWNlaXZlZEV2ZW50LnNvdXJjZSBpcyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9u
U2FuZGJveGVkJykuY29udGVudFdpbmRvdworUEFTUyByZWNlaXZlZEVudHJ5Lm5hbWUgaXMgJ2Zp
cnN0LWNvbnRlbnRmdWwtcGFpbnQnCitQQVNTIGRpZFJlY2VpdmVNZXNzYWdlRnJvbVNhbmRib3hl
ZElmcmFtZSBpcyBmYWxzZQorUEFTUyBBcnJheS5pc0FycmF5KG5vblNhbmRib3hTdXBwb3J0ZWRU
eXBlcykgaXMgdHJ1ZQorUEFTUyBBcnJheS5pc0FycmF5KHNhbmRib3hTdXBwb3J0ZWRUeXBlcykg
aXMgdHJ1ZQorUEFTUyBkaWRSZWNlaXZlTWVzc2FnZSBpcyB0cnVlCitQQVNTIG5vblNhbmRib3hT
dXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyB0cnVlCitQQVNTIHNhbmRib3hTdXBw
b3J0ZWRUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyBmYWxzZQorUEFTUyBQZXJmb3JtYW5jZU9i
c2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2FzIGZpcmVkIGZvciBzYW1l
LW9yaWdpbiBmcmFtZSBidXQgbm90IGZvciBjcm9zcy1vcmlnaW4gZnJhbWUKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCisKK1RFWFQKSW5kZXg6IExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQt
dGltaW5nLWZyYW1lcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9D
VFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFw
aS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9InNwYWNl
ciI+PC9kaXY+CisgICAgPGlmcmFtZSB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgaWQ9Im5vblNh
bmRib3hlZCIgc3JjPSIuL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbCI+PC9pZnJhbWU+Cis8
ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorPGlmcmFtZSBpZD0ic2FuZGJveGVkIiBzcmM9Ii4v
cmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sIiBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIj48L2lm
cmFtZT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CisKKyAgICBURVhUCisKKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbigiUGFpbnQgQVBJIHNob3VsZCBiZSBhdmFpbGFibGUgZm9yIHNhbWUtb3Jp
Z2luIGZyYW1lcyBidXQgbm90IHRvIGNyb3NzLW9yaWdpbi9zYW5kYm94ZWQgZnJhbWVzLiIpOwor
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOword2luZG93LmRpZFJlY2VpdmVNZXNzYWdlID0g
ZmFsc2U7CisKK3dpbmRvdy5vbmxvYWQgPSBhc3luYyAoKSA9PiB7CisgICAgY29uc3Qgc2FuZGJv
eGVkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NhbmRib3hlZCcpOworICAgIGNvbnN0IG5v
blNhbmRib3hlZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKTsKKyAg
ICBjb25zdCBmY3BNZXNzYWdlUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAg
ICAgICB3aW5kb3cub25tZXNzYWdlID0gZXZlbnQgPT4geworICAgICAgICAgICAgd2luZG93LnJl
Y2VpdmVkRXZlbnQgPSBldmVudDsKKyAgICAgICAgICAgIGNvbnN0IGlzRnJvbVNhbmRib3hlZCA9
IGV2ZW50LnNvdXJjZSA9PT0gc2FuZGJveGVkLmNvbnRlbnRXaW5kb3c7CisgICAgICAgICAgICBj
b25zdCBtZXNzYWdlID0gSlNPTi5wYXJzZShldmVudC5kYXRhKTsKKyAgICAgICAgICAgIHN3aXRj
aCAobWVzc2FnZS50eXBlKSB7CisgICAgICAgICAgICAgICAgY2FzZSAnc3VwcG9ydGVkJzoKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKGlzRnJvbVNhbmRib3hlZCkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHdpbmRvdy5zYW5kYm94U3VwcG9ydGVkVHlwZXMgPSBtZXNzYWdlLnN1cHBvcnRlZDsK
KyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93
Lm5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcyA9IG1lc3NhZ2Uuc3VwcG9ydGVkOworICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlICdyZWNlaXZlZCc6CisgICAg
ICAgICAgICAgICAgICAgIHdpbmRvdy5kaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJh
bWUgPSBpc0Zyb21TYW5kYm94ZWQ7CisgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5yZWNlaXZl
ZEVudHJ5ID0gbWVzc2FnZS5lbnRyeTsKKyAgICAgICAgICAgICAgICAgICAgZGlkUmVjZWl2ZU1l
c3NhZ2UgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgncmVjZWl2ZWRFdmVu
dC5zb3VyY2UnLCAiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNhbmRib3hlZCcpLmNvbnRl
bnRXaW5kb3ciKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ3JlY2VpdmVkRW50cnku
bmFtZScsICInZmlyc3QtY29udGVudGZ1bC1wYWludCciKTsKKyAgICAgICAgICAgICAgICAgICAg
cmVzb2x2ZSgpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfTsKKyAgICB9KTsKKworICAgIHNhbmRib3hlZC5jb250ZW50V2luZG93LnBvc3RNZXNz
YWdlKCJwYWludCIsICIqIik7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIG5vblNhbmRi
b3hlZC5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCJwYWludCIsICIqIik7CisgICAgYXdhaXQg
d2FpdEZvckZDUCgpOworICAgIGF3YWl0IGZjcE1lc3NhZ2VQcm9taXNlOworICAgIHNob3VsZEJl
RmFsc2UoJ2RpZFJlY2VpdmVNZXNzYWdlRnJvbVNhbmRib3hlZElmcmFtZScpOworICAgIHNob3Vs
ZEJlVHJ1ZSgnQXJyYXkuaXNBcnJheShub25TYW5kYm94U3VwcG9ydGVkVHlwZXMpJyk7CisgICAg
c2hvdWxkQmVUcnVlKCdBcnJheS5pc0FycmF5KHNhbmRib3hTdXBwb3J0ZWRUeXBlcyknKTsKKyAg
ICBzaG91bGRCZVRydWUoJ2RpZFJlY2VpdmVNZXNzYWdlJyk7CisgICAgc2hvdWxkQmVUcnVlKCdu
b25TYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICBzaG91bGRC
ZUZhbHNlKCdzYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICB0
ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2Fs
bGJhY2sgd2FzIGZpcmVkIGZvciBzYW1lLW9yaWdpbiBmcmFtZSBidXQgbm90IGZvciBjcm9zcy1v
cmlnaW4gZnJhbWUiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGlt
aW5nLXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdp
dGgtd29ya2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACitQ
YWludCBBUEkgc2hvdWxkIG5vdCBiZSBhdmFpbGFibGUgaW4gd29ya2VyIGNvbnRleHRzLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyLnN1
cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgdHJ1ZQorUEFTUyB3b3JrZXJT
dXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIGZhbHNlCitQQVNTIHdvcmtl
clN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoIm1hcmsiKSBpcyB0cnVlCitQQVNTIFBlcmZv
cm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcyBkaWQgbm90IGluY2x1ZGUgJ3BhaW50
JyBmb3Igd29ya2VycworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmct
d2l0aC13b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiUGFpbnQgQVBJIHNob3VsZCBu
b3QgYmUgYXZhaWxhYmxlIGluIHdvcmtlciBjb250ZXh0cy4iKTsKK3dpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKK2NvbnN0IHdvcmtlciA9IG5ldyBXb3JrZXIoIi4vcmVzb3VyY2VzL3dvcmtl
ci5odG1sIik7Cit3b3JrZXIub25tZXNzYWdlID0gZXZlbnQgPT4geworICAgIHdpbmRvdy53b3Jr
ZXJTdXBwb3J0ZWRFbnRyeVR5cGVzID0gSlNPTi5wYXJzZShldmVudC5kYXRhKTsKKyAgICBzaG91
bGRCZVRydWUoJ1BlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRl
cygicGFpbnQiKScpOworICAgIHNob3VsZEJlRmFsc2UoJ3dvcmtlclN1cHBvcnRlZEVudHJ5VHlw
ZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICBzaG91bGRCZVRydWUoJ3dvcmtlclN1cHBvcnRl
ZEVudHJ5VHlwZXMuaW5jbHVkZXMoIm1hcmsiKScpOworICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1h
bmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcyBkaWQgbm90IGluY2x1ZGUgJ3BhaW50JyBm
b3Igd29ya2VycyIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKword29ya2VyLnBvc3RNZXNz
YWdlKCJzdGFydCIpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVs
LXBhaW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZv
cm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKK1BBU1MgZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1
bFBhaW50IGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCBpcyAx
CitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFp
bnQiKS5sZW5ndGggaXMgMQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJz
dC1jb250ZW50ZnVsLXBhaW50IiwgInBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFu
Y2UuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5sZW5ndGggaXMgMQorUEFTUyBQZXJmb3JtYW5j
ZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2Fzbid0IGZpcmVkIGFn
YWluIAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitU
RVhUMgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2Vy
dmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1w
YWludC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
ZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw1MSBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJFbnN1cmUgUGVyZm9ybWFuY2VPYnNl
cnZlcnMgYXJlIG5vdGlmaWVkIG9uY2UgZm9yIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuIik7Cit3
aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisgCisoYXN5bmMgKCkgPT4geworICAgIHdpbmRv
dy5kaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQgPSBmYWxzZTsKKyAgICB3aW5kb3cuc3Rh
cnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAg
IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICBjb25zdCBvYnNlcnZlciA9
IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGVudHJ5TGlzdCA9PiB7CisgICAgICAgICAgICB3aW5k
b3cuZW50cnlMaXN0ID0gZW50cnlMaXN0OworICAgICAgICAgICAgc2hvdWxkQmUoJ2VudHJ5TGlz
dC5nZXRFbnRyaWVzKCkubGVuZ3RoJywgIjEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRy
eUxpc3QuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIpLmxlbmd0aCcs
IDEpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJw
YWludCIpLmxlbmd0aCcsICIxIik7CisgICAgICAgICAgICB3aW5kb3cuZmNwRW50cnkgPSBlbnRy
eUxpc3QuZ2V0RW50cmllcygpWzBdOworICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgnZGlkUmVj
ZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50Jyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50
cnkubmFtZScsICciZmlyc3QtY29udGVudGZ1bC1wYWludCInKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCdmY3BFbnRyeS5lbnRyeVR5cGUnLCAnInBhaW50IicpOworICAgICAgICAgICAgc2hvdWxk
QmVUcnVlKCdmY3BFbnRyeS5zdGFydFRpbWUgPiB3aW5kb3cuc3RhcnRUaW1lJyk7CisgICAgICAg
ICAgICBzaG91bGRCZVRydWUoJ2ZjcEVudHJ5LnN0YXJ0VGltZSA8IHBlcmZvcm1hbmNlLm5vdygp
Jyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50cnkuZHVyYXRpb24nLCAiMCIpOworICAg
ICAgICAgICAgZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gdHJ1ZTsKKyAgICAgICAg
ICAgIHJlc29sdmUoKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7
ZW50cnlUeXBlczogWydwYWludCddfSk7CisgICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0
ID0gJ1RFWFQnOworICAgIH0pCisgICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAnVEVYVDIn
OworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBzaG91bGRCZVRydWUoJ2RpZFJlY2VpdmVG
aXJzdENvbnRlbnRmdWxQYWludCcpOworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRy
aWVzKCkubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIpLmxlbmd0aCcsICIxIik7CisgICAgc2hv
dWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFp
bnQiLCAicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCcsICIxIik7CisgICAgdGVzdFBhc3NlZCgi
UGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhc24n
dCBmaXJlZCBhZ2FpbiAiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pKCk7CisKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVz
b3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0PgorICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIobGlzdCA9PiB7CisgICAgICAgIGxpc3QuZ2V0RW50cmllcygpLmZvckVhY2goZW50cnkg
PT4geworICAgICAgICAgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lm
eSh7dHlwZTogJ3JlY2VpdmVkJywgZW50cnl9KSwgJyonKTsKKyAgICAgICAgfSk7CisgICAgfSk7
CisKKyAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbInBhaW50Il19KTsKKyAgICB3
aW5kb3cub25tZXNzYWdlID0gZSA9PiB7CisgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3Nh
Z2UoSlNPTi5zdHJpbmdpZnkoe3N1cHBvcnRlZDogUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0
ZWRFbnRyeVR5cGVzLCB0eXBlOiAnc3VwcG9ydGVkJ30pLCAnKicpOworICAgICAgICBkb2N1bWVu
dC5ib2R5LmlubmVyVGV4dCA9ICJURVhUIjsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRp
bHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1IEBACithc3luYyBmdW5jdGlvbiB3YWl0
Rm9yRkNQKCkKK3sKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlcXVlc3RBbmlt
YXRpb25GcmFtZSgoKSA9PiByZXNvbHZlKCkpKTsKKyAgICByZXR1cm4gd2luZG93LnBlcmZvcm1h
bmNlLmdldEVudHJpZXNCeU5hbWUoJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5ndGggPT0g
MTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpz
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMv
cGFpbnQtdGltaW5nLWFwaS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACitpZiAo
c2VsZi5pbXBvcnRTY3JpcHRzKQorICAgIGltcG9ydFNjcmlwdHMoIi4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyIpOworCitpZiAoc2VsZi53aW5kb3cpCisgICAgZGVzY3JpcHRpb24oIkJh
c2ljIEludGVyZmFjZSB0ZXN0IGZvciBwYWludC10aW1pbmcgQVBJcy4iKTsKKworZGVidWcoIlBl
cmZvcm1hbmNlUGFpbnRUaW1pbmciKTsKK3Nob3VsZEJlRGVmaW5lZCgiUGVyZm9ybWFuY2VQYWlu
dFRpbWluZyIpOworc2hvdWxkQmVEZWZpbmVkKGBQZXJmb3JtYW5jZVBhaW50VGltaW5nLnByb3Rv
dHlwZS50b0pTT05gKTsKK3Nob3VsZFRocm93KGBuZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygp
YCk7CisKK2lmIChzZWxmLmltcG9ydFNjcmlwdHMpCisgICAgZmluaXNoSlNUZXN0KCk7CkluZGV4
OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNl
cy93b3JrZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKK3NlbGYub25tZXNz
YWdlID0gKCkgPT4geworICAgIHNlbGYucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoUGVyZm9y
bWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzKSk7Cit9ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90
IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBp
bWFnZS9wbmcKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK2ltYWdlL3BuZwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ1FB
QUFCSUNBWUFBQUNlTmxlNUFBQUM3bWxEUTFCSlEwTWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVV
L2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9SRmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xp
T1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZwRktONnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3
MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVKcQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnor
WHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAxQTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4
M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVBMUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25O
ZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFHY1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAw
YTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FWdHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1L
NzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUrTHFIQlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcw
WGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNHUEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdK
RXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFDSkw4UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJy
eTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhSNWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhP
dysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdqRTMzNTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRu
Ci9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlLVEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNI
Q0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtP
Yi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUzSHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4r
T1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1OT1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNV
dGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtU
aHJXZ1pmNmI4QzgvVVhBZUl1SkFBQUEKQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBR1owbEVR
VlJvQmUyYVVXOVZSUkRIZDY4dEVWSkxXMktDeENZK2lnUURvWWtLZmdKOAo5TWtuRXZFZHZvQ21r
UytBNzJwQ1FzS1RqL0lKQkNTQjFOU29QSnFVMUNha2dOaUFhZU5kZi8rWk9UMjM1OTdTRnU3bDZV
eXk1K3pPCjJaMlpuWjNkblpsN2M1clBKZTBLU3NwcGhwNzdVMG1QcUQvZEhGVVJ5SnVZUko4RDlK
a0c4NHo2UTk2OVgzczZOcXBqalhhaktTTGQKRUdRZjlSV0lPK21TenNMMUJLMVp5aUdLaEZqbHVV
U0hYeGh6bmZaVEV5T253K0RYUTdDTzllUXhFSjRqa0ZpUFFWREVsbTF3S1oveQpQcGRLT2MzYmhi
QVB6UWREVGJoOGsvZVZsUE1QMWlPbkk3UWZVTitnRE5aWTdsOHkxMHBLa3d3Wlp5Q3pMbWNSNG12
YXA0eHdTYjlDCjd5YnRoVlR5SDd6L0R2ekJsTXRSbUo1a3pHbnd4d04vRjZHK1lzeDEyb2Y0TG9H
ZVVQcTExUkNvWGlLdHUxcWxmTWZqYzJvc1hiNkcKQUpmQjM2RU5tbUo5ckZYWGhST1VOSWVBRjZI
eEdTMlk1KytoY1Q3R3pmQ1diVzBWcWlGUVpiZ1BiVkRxL3N5QUR5ZzNHUGNGNzNzbQpRTEpsRkNI
TlZMYlI1UzJCaEpPdFNiUEN1YzJsOUM3TmIybWZvZHlHMW9kQnB4S3Ftb0tNWkJNMDMwbUtwQWE2
di9NNENwZHZLQmVECndDek10VHdyNmdIVWhOUVNCWWVxcG1VL0NPcGVLcDJQNlhDWmNzRnBkOTRE
TDE3aXFlVnpXcHBTTk1aQmpSdlJnbWF5Q2FOMWx6QnYKMDJlS2IreWd0QmI5dHdvRHNnZjBUV1V0
eGt3NURXZ2xiRW0weGNPWFhOcFUyU0tRdHZhYklGZFpjMnlHWlNxbW1VdmczMkhnWDVUSApNYWlh
UGMwZHdWbHFyR2lJVnNxWG5EWThuQmM4alhlMTdQTzUrQUdHM2JDYlV2bVJEamRNeGRLTUNMazk3
TWg5RngwNjBINExtdmRUCjd2N0VHNXZLbjJEbzJuMnlwMGV5UXMxQ2hnaXd0WTI1R2JBUVdwNy9W
QmtTaUpab0FzWURyUmhQSVNSRFNSMi9EdGdOZHVpZDhxMXQKdTBrR1hDMlRCZ3dEc3RITW5PNUZQ
RGhHRW1lYjgxNUJlelBTa080bXdUbDdKczRaZ2UrbXNIbi9NcVJuSjJoRExualo2Vy9VOTZlTwpY
NVI4czVOMUVmUWRKTlYxb2Ezb29scmZvVDFFODBud0VLL0Y0QzF1MkpCdWJWMlVSVWQ2dmhWc1I2
R1o1b3ljaDNnYWIyU1FMSUU5CkViMjVtNnltRTlqUGhTYVo0YlJGZXlONExUaEo4eHo4SWdFeDYw
aTdLRlZkOS9aSW4rcytaWGc2dUF4anJoRjNKWFJyZTlzUHFWSEsKVTk5L0ZVOTVBWnNhR2lYcnZk
SEdxQVh5OUdUbCtETzgvZFkyMU1nZTRpRmU0dW1nSzJSVFE3bzBBWE91VkltVFc5V1J3VDQzRDNn
Ngp1QXkreS9DQkhVNmFsSDc3dWpYRmh5Ry9SRnZlaFFEdlVoQXlZTlNLRG5TNXlWWEZWN1plb3pm
cTZzTFdnZXdtbzZEZ2dBN0dhVk5kCk1ZZGNQdkFjYlRsZ2NweDhEbFNHQ0tJNUdUekU2emdIc29J
QmNadld3ZmdzMkY1eHB2akFBdmYwUnFFcCtWNWh5TUVyS1RJeHJwSmwKSGdIdDd1TEc3OHA1eDQ0
Nng1Qlkvck84eE1jbW52Vi82WWQ4ZHFlWjhiTkw5emNvTHNCdmp2ZGhlSzFJUTVJdFRtYUZLa0ta
UTA0MQpUVkJlVTJWSUlGcWlDUmdQc1JkUGdXU0lBOGZEa1NQbXVXVkNGZlBrY01qTnM3TnJoWUcw
WGh3MFZ1ZU8vS0Q3a0JMdE0vQlRXS1FOCnBRRFNnNHVJT3VTalBHQ0Fidnp6RERpR1MzQUIzQ3B0
K2RWeTh1V3dhL24ySXB5MEw1dVo0ajNCK0QraC9XWFF2bTI4aktkRnMwNDMKQk5JTWRQdHVNQmdn
YmlvS2c4eTlsSkFlQnZrTUZRYkpWeEs0S1hxOTkxbHA4dzE2eUlDWGZESVJCcFZFdEFzUGdVZXh0
WGNSQXVtVAppSXZSREFYMUtXNVNvS2c0cXJBOVh6aFFGTTMrUUJFa0VMeDZKaVk5OVlDV1RtdXBq
b2lvV2JET0ZuR3lJM0s1eW5mdENKMVR5OVNWCk9KREcvb21pbTF1NFpRcTcxa0xwcTB4TXUwa1JC
allUbXZFb1E3eTJpc0MyYithSGZOMTFlRzJmYkZpRStDMitQeS9aOEJIZjM0ZWgKbHVVdXhzdHUy
bnV5d2NiSFEzYWcrMFlCcEdZTTRVakgyQlh6dkhTTTllWXE0Z1MyUXkvU01iNmI5cHlPTVdyeGNH
MTVxQ1FQUU1zQQpINHI4OEl6YldleFljQWZQSWw4Wk1CZWxKNnk4cnljbmRwZXdHckJrSVV2ZnE4
cU12STRRaWhwMERBd0dGM2lDUHBOMCtKZCtzaFZoCmQ0YXRGclZ6LzVIMzZObjJnM2k5N0pLdG1W
NWVXWTV4MEpJWmprZWJZOVFDU3h0dXdMN2NWYjB5M3piSDJOekt0VTFWdFRiSDZMYXoKL2RPdFRI
NVVtMlBjWGt1OVg5b2NZNjgydHF1M09jYnROTlBFdTZQUjVoaWJlcW5iYlk2eDFzVmVhbTJPc2Ra
V20yT3NkVEc0MWpWMAptMlBzMTA2YlkrelhTWTFwYzR5MUxyeFdoZUp0ampIT0ZFdlBLWS9VKzJl
VU5zZElpbmZnSDVyYUhHUC9uK0w4ZDY4bFF2NVhtbVBVClh6Tkc5N2ZCL3dGWmJnMDVFRU51TndB
QUFBQkpSVTVFcmtKZ2dnPT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396308</attachid>
            <date>2020-04-13 10:47:24 -0700</date>
            <delta_ts>2020-04-15 02:03:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200413204722.patch</filename>
            <type>text/plain</type>
            <size>137036</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDAyMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEwOCBAQAorMjAyMC0wNC0xMyAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWlu
dC10aW1pbmcvI2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuCisgCisgICAgICAgIFdoZW4gdGhlIGZy
YW1lIHBhaW50cyBvciBmbHVzaGVzIHRoZSBjb21wb3NpdGluZyBzdGF0ZSwgYW5kIHRoZSBkb2N1
bWVudCBoYXMgY29udGVudGZ1bCBwYWludGFibGUgZWxlbWVudHMsIGl0IG1hcmtzIHRoZSBjdXJy
ZW50IHRpbWUKKyAgICAgICAgYXMgYSBmaXJzdC1jb250ZW50ZnVsLXBhaW50IHBlcmZvcm1hbmNl
IGVudHJ5LgorCisgICAgICAgIEFkZGVkIHRoZSBuZWNlc3NhcnkgSURMcywgcnVudGltZSBmbGFn
LCBhbmQgY29udGVudGZ1bG5lc3MgY2hlY2tzLgorCisgICAgICAgIFRoaXMgaXMgZ3VhcmFudGVl
ZCB0byBoYXBwZW4gYWZ0ZXIgdGhlIHZpc3VhbGxseS1ub24tZW1wdHkgaGV1cmlzdGljcyBoYXZl
IGJlZW4gY29uc2lkZXJlZCwKKyAgICAgICAgc2luY2UgdGhvc2UgbG9jayB0aGUgbGF5ZXIgdHJl
ZSBmcm9tIGZsdXNoaW5nLgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWlt
YWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1y
b3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0
bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQu
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1v
Zi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0
bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtb3BhY2l0eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4
dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCisg
ICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXZpZGVvLWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0
bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50
LWZyYW1lcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVu
dGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1h
cGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBp
L3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAorCisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGlu
Z3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRv
SlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaDogCisgICAgICAg
ICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDoKKyAgICAgICAgICAgICAgICBBZGQg
bmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNlLgorCisgICAgICAgICogcGFnZS9S
dW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFibGVkIGNvbnN0KToKKyAgICAgICAg
ICAgICAgICBBZGQgUGFpbnRUaW1pbmdFbmFibGVkIHJ1bnRpbWUgZmVhdHVyZSBmbGFnLgorCisg
ICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6
Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6
Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6
cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2Uu
aDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJpbmcpOgorICAgICAgICAqIHBh
Z2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRy
eTo6aXNQYWludCBjb25zdCk6CisgICAgICAgICAgICAgICAgQWRkIGxvZ2ljIGZvciByZXBvcnRp
bmcvb2JzZXJ2aW5nIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgZW50cmllcy4KKworICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKToKKyAgICAgICAgICAgICAgICBBZGQg
InBhaW50IiB0byBzdXBwb3J0ZWRFbnRyeVR5cGVzIHdoZW4gaW4gZWxpZ2libGUgYnJvd3Npbmcg
Y29udGV4dC4KKworICAgICAgICAqIHJlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmg6
IAorICAgICAgICAqIHJlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcDoKKyAgICAg
ICAgICAgICAgICBBZGQgbG9naWMgZm9yIGNvbXB1dGluZyB3aGV0aGVyIGVsZW1lbnRzIGFyZSBj
b250ZW50ZnVsICYgcGFpbnRhYmxlLCBhcyBwZXIgc3BlYy4KKworICAgICAgICAoV2ViQ29yZTo6
U1ZHUmVuZGVyU3VwcG9ydDo6aGFzUmVuZGVyYWJsZUNoaWxkcmVuIGNvbnN0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5oOgorICAgICAgICAgICAgICAgIFV0aWxpdHkg
dG8gc2VlIGlmIGFuIFNWRyByb290IGhhcyBhbnkgcmVuZGVyYWJsZSBjaGlsZHJlbi4KKworICAg
ICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RmlsbExheWVyOjpoYXNMb2FkZWRDYWNoZWRJbWFnZSBjb25zdCk6CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL0ZpbGxMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aGFzUGFpbnRhYmxlQ2Fj
aGVkQmFja2dyb3VuZEltYWdlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaDoKKyAgICAgICAgICAgICAgICBBZGQgaGVscGVyIGZvciBmaW5kaW5nIG91dCBp
ZiBiYWNrZ3JvdW5kIGNvbnRhaW5zIGxvYWRlZCBjYWNoZWQgaW1hZ2VzLgorCisgICAgICAgICog
cGFnZS9Eb2N1bWVudC5oOgorICAgICAgICAqIHBhZ2UvRG9jdW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6Om1hcmtQYWludFRpbWluZ0lmTmVlZGVkKToKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjpzdXBwb3J0c1BhaW50VGltaW5nKToKKyAgICAgICAgICAgICAgICBN
YXJrIEZDUCBvbmNlIGZvciBlbGlnaWJsZSBkb2N1bWVudHMuCisKK2AgICAgICAgKiBwYWdlL0Zy
YW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmZsdXNoQ29tcG9zaXRp
bmdTdGF0ZUZvclRoaXNGcmFtZSk6CisgICAgICAgICAgICAgICAgTWFyayBmaXJzdC1jb250ZW50
ZnVsLXBhaW50IHJpZ2h0IGFmdGVyIGZsdXNoaW5nIGxheWVyIHRyZWUuICAgICAgICAgICAgICAg
IAorCiAyMDIwLTA0LTEzICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5j
b20+CiAKICAgICAgICAgV2hlbiBkcmF3aW5nIGFuIGltYWdlIHNyY1JlY3QgYW5kIGltYWdlUmVj
dCBoYXZlIHRvIGJlIGluIHRoZSBvcmllbnRhdGlvbiBvZiBkZXN0UmVjdApJbmRleDogU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQJKHJldmlzaW9uIDI2MDAyMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC05MzYsNiArOTM2LDcgQEAgc2V0KFdlYkNvcmVfTk9O
X1NWR19JRExfRklMRVMKICAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwK
ICAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsCiAgICAgcGFnZS9QZXJm
b3JtYW5jZU5hdmlnYXRpb24uaWRsCisgICAgcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlk
bAogICAgIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZv
cm1hbmNlU2VydmVyVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDI2MDAyMSkKKysrIFNv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTkyNiw2
ICs5MjYsNyBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZv
cm1hbmNlT2JzZXJ2ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNl
cnZlckNhbGxiYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRp
bWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAkocmV2aXNpb24gMjYwMDIxKQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTIxMjEsNiArMjEyMSw3IEBAIHJlbmRlcmluZy9CcmVha0xpbmVz
LmNwcAogcmVuZGVyaW5nL0NTU0ZpbHRlci5jcHAKIHJlbmRlcmluZy9DbGlwUmVjdC5jcHAKIHJl
bmRlcmluZy9Db21wbGV4TGluZUxheW91dC5jcHAKK3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRD
aGVja2VyLmNwcAogcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmNwcAogcmVuZGVyaW5nL0VsbGlwc2lz
Qm94LmNwcAogcmVuZGVyaW5nL0V2ZW50UmVnaW9uLmNwcApAQCAtMzE5OSw2ICszMjAwLDcgQEAg
SlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCiBK
U1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVu
dHJ5TGlzdC5jcHAKK0pTUGVyZm9ybWFuY2VQYWludFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuY3BwCiBKU1BlcmZv
cm1hbmNlVGltaW5nLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjYwMDIxKQorKysgU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00
MDUzLDYgKzQwNTMsNyBAQAogCQlDOUY4N0NGRTFCMjhGNDBFMDA5NzlCODMgLyogTWVkaWFTZXNz
aW9uRXZlbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDOUY4N0NGRDFCMjhFNUY2MDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0EzQkY2N0UxMEQ5
OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xs
QW5pbWF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlDQTZDMTUzMDIyMEI5OENDMDA1NUNCRkMgLyogSlNWYWx1ZUluV3JhcHBlZE9iamVjdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMxQUUzQjgx
RkI4MEVBRTAwRjVFRkIyIC8qIEpTVmFsdWVJbldyYXBwZWRPYmplY3QuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDQTdFOUI0OTI0MzYxREM1MDA0
RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0E3RTlCNDcyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRl
bnRmdWxQYWludENoZWNrZXIuaCAqLzsgfTsKIAkJQ0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8q
IENTU0FzcGVjdFJhdGlvVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENBRTlGOTBFMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1Zh
bHVlLmggKi87IH07CiAJCUNCMzhGRDUyMUNDRjkzOTQwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNl
RW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENC
MzhGRDRFMUNDRjkzN0UwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCAqLzsgfTsKIAkJ
Q0IzOEZENUIxQ0QyMzI1QjAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0IzOEZENTkx
Q0QyMzE0NTAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovOyB9OwpA
QCAtMTM4MTgsNiArMTM4MTksOCBAQAogCQlDQTA5MUQ4NjIzQ0Y5MDc4MDBBRDQzNDYgLyogU3R5
bGVJbWFnZVNldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUltYWdlU2V0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EwOTFEODkyM0NGOTA4ODAwQUQ0MzQ2IC8qIFN0
eWxlSW1hZ2VTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVJbWFnZVNldC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDQTE2MzVEQzIwNzJFNzY5MDBFN0QyQ0UgLyogUmVmZXJyZXJQ
b2xpY3kuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmZXJyZXJQ
b2xpY3kuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNENTI0MDdENjQw
MDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJm
b3JtYW5jZVBhaW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkz
M0Q4MjQwN0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1h
dG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1h
dG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAw
RTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNjcm9sbEFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNTJC
QUU1MjNEMEFGMTYwMERFMEI4NCAvKiBTdHlsZUN1cnNvckltYWdlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFN0eWxlQ3Vyc29ySW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTM4MjcsNiArMTM4MzAsOCBAQAogCQlDQTZDMTUyRjIyMEI0QTU1MDA1NUNCRkMgLyogSlNJ
REJSZXF1ZXN0Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTSURCUmVxdWVzdEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNB
NkMxNTM3MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvckN1c3RvbS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0lEQkN1cnNvckN1c3RvbS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNkMxNTM4MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lE
QkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0lEQkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUNBN0U5QjQ3MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRD
aGVja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRmdWxQYWlu
dENoZWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0E3RTlCNDgyNDM2MURD
NTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBRTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3Bl
Y3RSYXRpb1ZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENT
U0FzcGVjdFJhdGlvVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQUU5
RjkwRTE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5j
ZUVudHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1h
bmNlRW50cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA5NjMsNiArMjA5
NjgsOCBAQAogCQkJCUE1QTk5MzNBMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2Vy
dmVyRW50cnlMaXN0LmNwcCAqLywKIAkJCQlBNUE5OTMzQjFFMzdGQUZEMDA1QjVFNEQgLyogUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oICovLAogCQkJCUE1QTk5MzNDMUUzN0ZBRkQwMDVC
NUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCAqLywKKwkJCQlDQTE5MzNE
NTI0MDdENjQwMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovLAorCQkJCUNB
MTkzM0Q4MjQwN0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLywK
IAkJCQk4NjUxMkVEQjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5jcHAgKi8sCiAJCQkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaCAqLywKIAkJCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgKi8sCkBAIC0yODA0OCw2ICsyODA1NSw4IEBACiAJCQkJ
QkNERDQ1NEQxMjM2Qzk1QzAwOUE3OTg1IC8qIENvbHVtbkluZm8uaCAqLywKIAkJCQlCQ0VBNDgx
MzA5N0Q5MzAyMDA5NEM5RTQgLyogQ29tcGxleExpbmVMYXlvdXQuY3BwICovLAogCQkJCUU0QTFB
Qzc4MjJGQUZENTAwMDE3Qjc1QiAvKiBDb21wbGV4TGluZUxheW91dC5oICovLAorCQkJCUNBN0U5
QjQ4MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcCAqLywKKwkJ
CQlDQTdFOUI0NzI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oICov
LAogCQkJCTkzOTJGMTRGMEFEMTg2MjMwMDY5MUJENCAvKiBDb3VudGVyTm9kZS5jcHAgKi8sCiAJ
CQkJOTM5MkYxNEIwQUQxODYxQjAwNjkxQkQ0IC8qIENvdW50ZXJOb2RlLmggKi8sCiAJCQkJMEY1
M0ZCODEyMTNCMUJCODAwQzQwRDM0IC8qIENTU0ZpbHRlci5jcHAgKi8sCkBAIC0yOTc1Miw2ICsy
OTc2MSw3IEBACiAJCQkJQTE0OTc4NkYxQUJBRjMzODAwQ0VGN0U0IC8qIENvbnRlbnRGaWx0ZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTVDRENEREM2MjNEODBBMUMwMEJBMzRBMSAvKiBDb250ZW50
RmlsdGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQwOTBGRDFBQTUxRTQ4MDA5MTE5
MUEgLyogQ29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlD
QTdFOUI0OTI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNUM5QzJEQjUyMjQxQTY3QjAwOTk2QjBCIC8qIENvbnRlbnRSdWxlTGlz
dFJlc3VsdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QzQ3MURDMTJGOTI1QkQwMDg2MzU0QiAv
KiBDb250ZW50U2VjdXJpdHlQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFNUZBMjU1MjA5
RTQ4QzUwMDUxRDcwMCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJz
ICovLApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5
Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1Bl
cmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCShyZXZpc2lvbiAyNjAwMjEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNSw5ICszNSwxMSBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1
ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUu
aCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1Bl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIK
ICNpbmNsdWRlICJQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBh
aW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAK
QEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3
bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1h
bmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVy
Zm9ybWFuY2VQYWludFRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAg
ICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1
cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3Qs
IFdURk1vdmUoZW50cnkpKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUJ1aWx0aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjYwMDIxKQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xNzksNiArMTc5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1h
bmNlTWVhc3VyZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNy
byhQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQ
YWludFRpbWluZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAg
ICBtYWNybyhQZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVu
dCkgXApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAyNjAwMjEpCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0
OCw3IEBACiAjaW5jbHVkZSAiQ29tcG9zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkNvbnN0YW50
UHJvcGVydHlNYXAuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIKKyNpbmNs
dWRlICJDb250ZW50ZnVsUGFpbnRDaGVja2VyLmgiCiAjaW5jbHVkZSAiQ29va2llSmFyLmgiCiAj
aW5jbHVkZSAiQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaCIKICNpbmNsdWRlICJDdXN0b21F
bGVtZW50UmVnaXN0cnkuaCIKQEAgLTE0OCw2ICsxNDksNyBAQAogI2luY2x1ZGUgIlBhZ2VHcm91
cC5oIgogI2luY2x1ZGUgIlBhZ2VUcmFuc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQYWludFdv
cmtsZXRHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1Mb2NhbGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIu
aCIKICNpbmNsdWRlICJQbGF0Zm9ybVNjcmVlbi5oIgpAQCAtMzE0MSw2ICszMTQzLDMzIEBAIGJv
b2wgRG9jdW1lbnQ6OmlzTGF5b3V0VGltZXJBY3RpdmUoKSBjb24KICAgICByZXR1cm4gdmlldygp
ICYmIHZpZXcoKS0+bGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0UGVuZGluZygpOwogfQogCitib29s
IERvY3VtZW50OjpzdXBwb3J0c1BhaW50VGltaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQo
KSAmJiBzZWN1cml0eU9yaWdpbigpLmNhbkFjY2Vzcyh0b3BPcmlnaW4oKSk7Cit9CisKKy8vIGh0
dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI3JlZi1mb3ItbWFyay1wYWludC10aW1p
bmcKK3ZvaWQgRG9jdW1lbnQ6Om1hcmtQYWludFRpbWluZ0lmTmVlZGVkKCkKK3sKKyAgICBpZiAo
bV9kaWRNYXJrRmlyc3RDb250ZW50ZnVsUGFpbnQpCisgICAgICAgIHJldHVybjsKKworICAgIGlm
ICghc3VwcG9ydHNQYWludFRpbWluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvKiB3
aW5kb3cgPSBkb21XaW5kb3coKTsKKyAgICBhdXRvKiB2aWV3ID0gcmVuZGVyVmlldygpOworCisg
ICAgaWYgKCF2aWV3IHx8ICF3aW5kb3cpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghcXVh
bGlmaWVzRm9yQ29udGVudGZ1bFBhaW50KCp2aWV3KSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
d2luZG93LT5wZXJmb3JtYW5jZSgpLnJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAg
bV9kaWRNYXJrRmlyc3RDb250ZW50ZnVsUGFpbnQgPSB0cnVlOworfQorCiBFeGNlcHRpb25Pcjx2
b2lkPiBEb2N1bWVudDo6d3JpdGUoRG9jdW1lbnQqIHJlc3BvbnNpYmxlRG9jdW1lbnQsIFNlZ21l
bnRlZFN0cmluZyYmIHRleHQpCiB7CiAgICAgaWYgKG1fYWN0aXZlUGFyc2VyV2FzQWJvcnRlZCkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCShyZXZpc2lvbiAyNjAwMjEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTAzNSw2ICsxMDM1LDggQEAg
cHVibGljOgogCiAgICAgYm9vbCBzaG91bGREZWZlckFzeW5jaHJvbm91c1NjcmlwdHNVbnRpbFBh
cnNpbmdGaW5pc2hlcygpIGNvbnN0OwogCisgICAgYm9vbCBzdXBwb3J0c1BhaW50VGltaW5nKCkg
Y29uc3Q7CisKICNpZiBFTkFCTEUoWFNMVCkKICAgICB2b2lkIHNjaGVkdWxlVG9BcHBseVhTTFRy
YW5zZm9ybXMoKTsKICAgICB2b2lkIGFwcGx5UGVuZGluZ1hTTFRyYW5zZm9ybXNOb3dJZlNjaGVk
dWxlZCgpOwpAQCAtMTU3NSw2ICsxNTc3LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRIYXNW
aXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCgpIHsgbV9oYXNWaXN1YWxseU5vbkVtcHR5Q3Vz
dG9tQ29udGVudCA9IHRydWU7IH0KICAgICBib29sIGhhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21D
b250ZW50KCkgY29uc3QgeyByZXR1cm4gbV9oYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVu
dDsgfQorICAgIHZvaWQgbWFya1BhaW50VGltaW5nSWZOZWVkZWQoKTsKIAogcHJvdGVjdGVkOgog
ICAgIGVudW0gQ29uc3RydWN0aW9uRmxhZ3MgeyBTeW50aGVzaXplZCA9IDEsIE5vblJlbmRlcmVk
UGxhY2Vob2xkZXIgPSAxIDw8IDEgfTsKQEAgLTIwNDEsNiArMjA0NCw5IEBAIHByaXZhdGU6CiAK
ICAgICBib29sIG1fYXJlRGV2aWNlTW90aW9uQW5kT3JpZW50YXRpb25VcGRhdGVzU3VzcGVuZGVk
IHsgZmFsc2UgfTsKICAgICBib29sIG1fdXNlckRpZEludGVyYWN0V2l0aFBhZ2UgeyBmYWxzZSB9
OworCisgICAgYm9vbCBtX2RpZE1hcmtGaXJzdENvbnRlbnRmdWxQYWludCB7IGZhbHNlIH07CisK
ICNpZiBBU1NFUlRfRU5BQkxFRAogICAgIGJvb2wgbV9pbkhpdFRlc3RpbmcgeyBmYWxzZSB9Owog
I2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiAyNjAwMjEp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTk4MSw2ICs5ODEsOCBAQCBib29sIEZyYW1lVmlldzo6Zmx1c2hDb21wb3NpdGluZ1N0YXRlRm9y
CiAjZW5kaWYKIAogICAgIHJlbmRlclZpZXctPmNvbXBvc2l0b3IoKS5mbHVzaFBlbmRpbmdMYXll
ckNoYW5nZXMoJnJvb3RGcmFtZUZvckZsdXNoID09IG1fZnJhbWUucHRyKCkpOworICAgIGlmIChh
dXRvKiBkb2N1bWVudCA9IGZyYW1lKCkuZG9jdW1lbnQoKSkKKyAgICAgICAgZG9jdW1lbnQtPm1h
cmtQYWludFRpbWluZ0lmTmVlZGVkKCk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCShyZXZpc2lvbiAyNjAwMjEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIs
NyBAQAogI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5j
ZU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2VydmVyLmgiCisjaW5jbHVk
ZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVRpbWluZy5oIgogI2luY2x1ZGUgIlBl
cmZvcm1hbmNlVXNlclRpbWluZy5oIgpAQCAtMTI0LDYgKzEyNSw5IEBAIFZlY3RvcjxSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3Io
bV91c2VyVGltaW5nLT5nZXRNZWFzdXJlcygpKTsKICAgICB9CiAKKyAgICBpZiAobV9maXJzdENv
bnRlbnRmdWxQYWludCkKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQ
YWludCk7CisKICAgICBzdGQ6OnNvcnQoZW50cmllcy5iZWdpbigpLCBlbnRyaWVzLmVuZCgpLCBQ
ZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRpbWVDb21wYXJlTGVzc1RoYW4pOwogICAgIHJldHVybiBl
bnRyaWVzOwogfQpAQCAtMTM1LDYgKzEzOSw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VF
bnRyeT4+IFBlcmZvcm0KICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50
cnlUeXBlLCAicmVzb3VyY2UiKSkKICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV9yZXNv
dXJjZVRpbWluZ0J1ZmZlcik7CiAKKyAgICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCAmJiBl
cXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJwYWludCIpKQorICAgICAg
ICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKKwogICAgIGlmIChtX3Vz
ZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVu
dHJ5VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNl
clRpbWluZy0+Z2V0TWFya3MoKSk7CkBAIC0xNTcsNiArMTY0LDkgQEAgVmVjdG9yPFJlZlB0cjxQ
ZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybQogICAgICAgICB9CiAgICAgfQogCisgICAgaWYgKG1f
Zmlyc3RDb250ZW50ZnVsUGFpbnQgJiYgKGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRl
cnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJwYWludCIpKSAmJiBuYW1lID09ICJmaXJz
dC1jb250ZW50ZnVsLXBhaW50IikKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRl
bnRmdWxQYWludCk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlbnRy
eVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBl
LCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5n
LT5nZXRNYXJrcyhuYW1lKSk7CkBAIC0xODAsNiArMTkwLDEzIEBAIHZvaWQgUGVyZm9ybWFuY2U6
OnNldFJlc291cmNlVGltaW5nQnVmZmUKICAgICBtX3Jlc291cmNlVGltaW5nQnVmZmVyRnVsbEZs
YWcgPSBmYWxzZTsKIH0KIAordm9pZCBQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVs
UGFpbnQoKQoreworICAgIEFTU0VSVCghbV9maXJzdENvbnRlbnRmdWxQYWludCk7CisgICAgbV9m
aXJzdENvbnRlbnRmdWxQYWludCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc6OmNyZWF0ZUZpcnN0
Q29udGVudGZ1bFBhaW50KG5vdygpKTsKKyAgICBxdWV1ZUVudHJ5KCptX2ZpcnN0Q29udGVudGZ1
bFBhaW50KTsKK30KKwogdm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoUmVzb3Vy
Y2VUaW1pbmcmJiByZXNvdXJjZVRpbWluZykKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgJKHJldmlzaW9uIDI2
MDAyMSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAkod29ya2luZyBjb3B5
KQpAQCAtNDUsNiArNDUsNyBAQCBjbGFzcyBMb2FkVGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VF
bnRyeTsKIGNsYXNzIFBlcmZvcm1hbmNlTmF2aWdhdGlvbjsKIGNsYXNzIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXI7CitjbGFzcyBQZXJmb3JtYW5jZVBhaW50VGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VU
aW1pbmc7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVzb3VyY2VUaW1pbmc7CkBA
IC03Nyw2ICs3OCw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkUmVzb3VyY2VUaW1pbmcoUmVz
b3VyY2VUaW1pbmcmJik7CiAKKyAgICB2b2lkIHJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7
CisKICAgICB2b2lkIHJlbW92ZUFsbE9ic2VydmVycygpOwogICAgIHZvaWQgcmVnaXN0ZXJQZXJm
b3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKICAgICB2b2lkIHVucmVnaXN0
ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKQEAgLTEyMSw2ICsx
MjQsNyBAQCBwcml2YXRlOgogCiAgICAgTW9ub3RvbmljVGltZSBtX3RpbWVPcmlnaW47CiAKKyAg
ICBSZWZQdHI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4gbV9maXJzdENvbnRlbnRmdWxQYWludDsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXNlclRpbWluZz4gbV91c2VyVGltaW5nOwogCiAgICAgR2Vu
ZXJpY1Rhc2tRdWV1ZTxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3BlcmZvcm1hbmNlVGltZWxp
bmVUYXNrUXVldWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5j
cHAJKHJldmlzaW9uIDI2MDAyMSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VF
bnRyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDExIEBAIE9wdGlvbmFsPFBlcmZv
cm1hbmNlRW50cnk6OlR5cGU+IFBlcmZvcm0KICAgICAgICAgICAgIHJldHVybiBPcHRpb25hbDxU
eXBlPihUeXBlOjpSZXNvdXJjZSk7CiAgICAgfQogCisgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucGFpbnRUaW1pbmdFbmFibGVkKCkpIHsKKyAgICAgICAg
aWYgKGVudHJ5VHlwZSA9PSAicGFpbnQiKQorICAgICAgICAgICAgcmV0dXJuIE9wdGlvbmFsPFR5
cGU+KFR5cGU6OlBhaW50KTsKKyAgICB9CisKICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogfQog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAkocmV2aXNpb24gMjYw
MDIxKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgICAgICBNYXJrID0gMSA8PCAxLAog
ICAgICAgICBNZWFzdXJlID0gMSA8PCAyLAogICAgICAgICBSZXNvdXJjZSA9IDEgPDwgMywKKyAg
ICAgICAgUGFpbnQgPSAxIDw8IDQKICAgICB9OwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBj
b25zdCA9IDA7CkBAIC02Miw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzUmVzb3VyY2Uo
KSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UmVzb3VyY2U7IH0KICAgICBib29sIGlz
TWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYXJrOyB9CiAgICAgYm9vbCBp
c01lYXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWVhc3VyZTsgfQorICAg
IGJvb2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpQYWludDsgfQog
CiAgICAgc3RhdGljIGJvb2wgc3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKGNvbnN0IFJlZlB0cjxQ
ZXJmb3JtYW5jZUVudHJ5PiYgYSwgY29uc3QgUmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+JiBiKQog
ICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNw
cAkocmV2aXNpb24gMjYwMDIxKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDE1ICsxMTMsMjEgQEAgdm9pZCBQZXJm
b3JtYW5jZU9ic2VydmVyOjpkZWxpdmVyKCkKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZEZpcmVPYnNlcnZlckNhbGxiYWNrKCpjb250ZXh0KTsKIH0KIAotVmVjdG9yPFN0cmluZz4g
UGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcygpCitWZWN0b3I8U3RyaW5n
PiBQZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIHsKKyAgICBWZWN0b3I8U3RyaW5nPiBl
bnRyeVR5cGVzID0gewogICAgICAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4
NDM2Mz4gQWRkIHN1cHBvcnQgZm9yIE5hdmlnYXRpb24gVGltaW5nIExldmVsIDIKICAgICAgICAg
Ly8gIm5hdmlnYXRpb24iX3MsCiAgICAgICAgICJtYXJrIl9zLAotICAgICAgICAibWVhc3VyZSJf
cywKLSAgICAgICAgInJlc291cmNlIl9zCisgICAgICAgICJtZWFzdXJlIl9zCiAgICAgfTsKKwor
ICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4dCkgJiYgZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRl
eHQpLnN1cHBvcnRzUGFpbnRUaW1pbmcoKSkKKyAgICAgICAgZW50cnlUeXBlcy5hcHBlbmQoInBh
aW50Il9zKTsKKworICAgIGVudHJ5VHlwZXMuYXBwZW5kKCJyZXNvdXJjZSJfcyk7CisKKyAgICBy
ZXR1cm4gZW50cnlUeXBlczsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgJKHJldmlzaW9uIDI2MDAyMSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCSh3b3JraW5nIGNv
cHkpCkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihjb250ZXh0LCBXVEZNb3ZlKGNhbGxiYWNrKSkpOwogICAg
IH0KIAotICAgIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzKCk7Cisg
ICAgc3RhdGljIFZlY3RvcjxTdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYpOwogCiAgICAgdm9pZCBkaXNhc3NvY2lhdGUoKTsKIApJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCShyZXZpc2lvbiAyNjAwMjEp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiBdIGludGVyZmFjZSBQZXJmb3JtYW5jZU9ic2VydmVy
IHsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgb2JzZXJ2ZShQZXJmb3JtYW5jZU9ic2Vy
dmVySW5pdCBvcHRpb25zKTsKICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKLSAgICBzdGF0aWMgcmVh
ZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PERPTVN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBl
czsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gc3RhdGljIHJlYWRvbmx5
IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXM7CiB9
OwogCiBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IHsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCShub25leGlzdGVudCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlh
IEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJmb3JtYW5j
ZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZyBmaW5hbCA6IHB1YmxpYyBQ
ZXJmb3JtYW5jZUVudHJ5IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlUGFp
bnRUaW1pbmc+IGNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KERPTUhpZ2hSZXNUaW1lU3RhbXAg
dGltZVN0YW1wKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFu
Y2VQYWludFRpbWluZygiZmlyc3QtY29udGVudGZ1bC1wYWludCJfcywgdGltZVN0YW1wKSk7Cisg
ICAgfQorCitwcml2YXRlOgorICAgIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoY29uc3QgU3RyaW5n
JiBuYW1lLCBET01IaWdoUmVzVGltZVN0YW1wIHRpbWVTdGFtcCkKKyAgICAgICAgOiBQZXJmb3Jt
YW5jZUVudHJ5KG5hbWUsIHRpbWVTdGFtcCwgdGltZVN0YW1wKQorICAgIHsKKyAgICB9CisKKyAg
ICBBU0NJSUxpdGVyYWwgZW50cnlUeXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gInBhaW50Il9z
OyB9CisgICAgVHlwZSB0eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gVHlwZTo6UGFpbnQ7IH0K
KworICAgIH5QZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgPSBkZWZhdWx0OworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6
OlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdl
YkNvcmU6OlBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KSB7IHJldHVybiBlbnRyeS5pc1BhaW50KCk7
IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkobm9uZXhpc3RlbnQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEZv
dW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGFpbnQt
dGltaW5nLworCit0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOworCitbCisgICAg
RW5hYmxlZEF0UnVudGltZT1QYWludFRpbWluZywKKyAgICBFeHBvc2VkPShXaW5kb3cpLAorXSBp
bnRlcmZhY2UgUGVyZm9ybWFuY2VQYWludFRpbWluZyA6IFBlcmZvcm1hbmNlRW50cnkgeworfTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCShy
ZXZpc2lvbiAyNjAwMjEpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsOSBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRVc2VyVGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzVXNlclRpbWluZ0Vu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHVzZXJUaW1pbmdFbmFibGVkKCkgY29uc3Qg
eyByZXR1cm4gbV9pc1VzZXJUaW1pbmdFbmFibGVkOyB9CiAKKyAgICB2b2lkIHNldFBhaW50VGlt
aW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzUGFpbnRUaW1pbmdFbmFibGVkID0gaXNF
bmFibGVkOyB9CisgICAgYm9vbCBwYWludFRpbWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBt
X2lzUGFpbnRUaW1pbmdFbmFibGVkOyB9CisKICAgICBib29sIHBlcmZvcm1hbmNlVGltZWxpbmVF
bmFibGVkKCkgY29uc3QgeyByZXR1cm4gcmVzb3VyY2VUaW1pbmdFbmFibGVkKCkgfHwgdXNlclRp
bWluZ0VuYWJsZWQoKTsgfQogCiAgICAgdm9pZCBzZXRTaGFkb3dET01FbmFibGVkKGJvb2wgaXNF
bmFibGVkKSB7IG1faXNTaGFkb3dET01FbmFibGVkID0gaXNFbmFibGVkOyB9CkBAIC00MjQsNiAr
NDI3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNMaW5rUHJlbG9hZEVuYWJsZWQgeyB0cnVl
IH07CiAgICAgYm9vbCBtX2lzTGlua1ByZWZldGNoRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9v
bCBtX2lzTWVkaWFQcmVsb2FkaW5nRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzUGFp
bnRUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNSZXNvdXJjZVRpbWluZ0Vu
YWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1VzZXJUaW1pbmdFbmFibGVkIHsgZmFsc2Ug
fTsKICAgICBib29sIG1faXNJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCB7IGZhbHNl
IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQ
YWludENoZWNrZXIuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEy
NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBXaWtpTWVkaWEgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICog
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KKyAqCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ29udGVudGZ1bFBh
aW50Q2hlY2tlci5oIgorCisjaW5jbHVkZSAiSFRNTENhbnZhc0VsZW1lbnQuaCIKKyNpbmNsdWRl
ICJMaW5lTGF5b3V0VHJhdmVyc2FsLmgiCisjaW5jbHVkZSAiUmVuZGVyQW5jZXN0b3JJdGVyYXRv
ci5oIgorI2luY2x1ZGUgIlJlbmRlckNoaWxkSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJSZW5kZXJE
ZXNjZW5kYW50SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCisjaW5jbHVk
ZSAiUmVuZGVySFRNTENhbnZhcy5oIgorI2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCisjaW5jbHVk
ZSAiUmVuZGVyU1ZHUm9vdC5oIgorI2luY2x1ZGUgIlJlbmRlclRleHQuaCIKKyNpbmNsdWRlICJS
ZW5kZXJWaWRlby5oIgorI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGFpbnQtdGltaW5nLyNwYWludGFibGUt
Ym91bmRpbmctcmVjdCAKK3N0YXRpYyBib29sIGludGVyc2VjdHNXaXRoRG9jdW1lbnRSZWN0KGNv
bnN0IFJlbmRlck9iamVjdCYgb2JqZWN0LCBjb25zdCBJbnRSZWN0JiBkb2N1bWVudFJlY3QpCit7
CisgICAgQVNTRVJUKCFvYmplY3QubmVlZHNMYXlvdXQoKSk7CisKKyAgICBpZiAoaXM8UmVuZGVy
VGV4dD4ob2JqZWN0KSkgeworICAgICAgICBjb25zdCBhdXRvJiB0ZXh0UmVuZGVyZXIgPSBkb3du
Y2FzdDxSZW5kZXJUZXh0PihvYmplY3QpOworICAgICAgICBmb3IgKGF1dG8mIGJveCA6IExpbmVM
YXlvdXRUcmF2ZXJzYWw6OnRleHRCb3hlc0Zvcih0ZXh0UmVuZGVyZXIpKSB7CisgICAgICAgICAg
ICBpZiAodGV4dFJlbmRlcmVyLmxvY2FsVG9BYnNvbHV0ZVF1YWQoRmxvYXRRdWFkKGJveC5yZWN0
KCkpKS5ib3VuZGluZ0JveCgpLmludGVyc2VjdHMoZG9jdW1lbnRSZWN0KSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisKKyAgICBpZiAoaXM8UmVuZGVyUmVwbGFjZWQ+KG9iamVjdCkpIHsKKyAgICAgICAgY29u
c3QgYXV0byYgcmVwbGFjZWQgPSBkb3duY2FzdDxSZW5kZXJSZXBsYWNlZD4ob2JqZWN0KTsKKyAg
ICAgICAgRmxvYXRSZWN0IGxvY2FsUmVjdCgwLCAwLCByZXBsYWNlZC53aWR0aCgpLCByZXBsYWNl
ZC5oZWlnaHQoKSk7CisgICAgICAgIHJldHVybiBvYmplY3QubG9jYWxUb0Fic29sdXRlUXVhZChs
b2NhbFJlY3QpLmJvdW5kaW5nQm94KCkuaW50ZXJzZWN0cyhkb2N1bWVudFJlY3QpOworICAgIH0K
KworICAgIFZlY3RvcjxGbG9hdFF1YWQ+IHF1YWRzOworICAgIG9iamVjdC5hYnNvbHV0ZVF1YWRz
KHF1YWRzKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHF1YWRzLnNpemUoKTsgKytpKSB7
CisgICAgICAgIGlmIChxdWFkc1tpXS5ib3VuZGluZ0JveCgpLmludGVyc2VjdHMoZG9jdW1lbnRS
ZWN0KSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBmYWxz
ZTsKK30KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BhaW50LXRpbWluZy8jY29udGVudGZ1
bCAKK3N0YXRpYyBib29sIGlzQ29udGVudGZ1bChjb25zdCBSZW5kZXJPYmplY3QmIG9iamVjdCkK
K3sKKyAgICBpZiAob2JqZWN0LnN0eWxlKCkuaGFzUGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZElt
YWdlKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgaWYgKGlzPFJlbmRlclRleHQ+KG9i
amVjdCkpCisgICAgICAgIHJldHVybiAhZG93bmNhc3Q8UmVuZGVyVGV4dD4ob2JqZWN0KS5jb250
YWluc09ubHlIVE1MV2hpdGVzcGFjZSgpOworCisgICAgaWYgKGlzPFJlbmRlckhUTUxDYW52YXM+
KG9iamVjdCkpCisgICAgICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJIVE1MQ2FudmFzPihvYmpl
Y3QpLmNhbnZhc0VsZW1lbnQoKS5yZW5kZXJpbmdDb250ZXh0KCk7CisKKyAgICBpZiAoaXM8UmVu
ZGVyVmlkZW8+KG9iamVjdCkpIHsKKyAgICAgICAgY29uc3QgYXV0byYgdmlkZW8gPSBkb3duY2Fz
dDxSZW5kZXJWaWRlbz4ob2JqZWN0KTsKKyAgICAgICAgaWYgKCF2aWRlby52aWRlb0VsZW1lbnQo
KS5zaG91bGREaXNwbGF5UG9zdGVySW1hZ2UoKSkKKyAgICAgICAgICAgIHJldHVybiB2aWRlby52
aWRlb0VsZW1lbnQoKS5yZWFkeVN0YXRlKCkgPiBIVE1MTWVkaWFFbGVtZW50RW51bXM6OkhBVkVf
TUVUQURBVEE7CisgICAgfQorCisgICAgaWYgKGlzPFJlbmRlckltYWdlPihvYmplY3QpKSB7Cisg
ICAgICAgIGNvbnN0IGF1dG8mIGltYWdlID0gZG93bmNhc3Q8UmVuZGVySW1hZ2U+KG9iamVjdCk7
CisgICAgICAgIGF1dG8qIGNhY2hlZEltYWdlID0gaW1hZ2UuaW1hZ2VSZXNvdXJjZSgpLmNhY2hl
ZEltYWdlKCk7CisgICAgICAgIHJldHVybiBjYWNoZWRJbWFnZSAmJiBjYWNoZWRJbWFnZS0+Y2Fu
UmVuZGVyKCZpbWFnZSwgMSk7CisgICAgfQorCisgICAgaWYgKGlzPFJlbmRlclNWR1Jvb3Q+KG9i
amVjdCkpCisgICAgICAgIHJldHVybiBTVkdSZW5kZXJTdXBwb3J0OjpoYXNSZW5kZXJhYmxlQ2hp
bGRyZW4oZG93bmNhc3Q8UmVuZGVyU1ZHUm9vdD4ob2JqZWN0KSk7ICAgIAorCisgICAgcmV0dXJu
IGZhbHNlOworfQorCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGFpbnQtdGltaW5nLyNwYWlu
dGFibGUgCitzdGF0aWMgYm9vbCBpc1BhaW50YWJsZShjb25zdCBSZW5kZXJPYmplY3QmIG9iamVj
dCwgY29uc3QgSW50UmVjdCYgZG9jdW1lbnRSZWN0KQoreworICAgIGlmIChvYmplY3Quc3R5bGUo
KS52aXNpYmlsaXR5KCkgIT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgZm9yIChhdXRvJiBhbmNlc3RvciA6IGxpbmVhZ2VPZlR5cGU8UmVuZGVyT2Jq
ZWN0PihvYmplY3QpKSB7CisgICAgICAgIGlmICghYW5jZXN0b3Iuc3R5bGUoKS5vcGFjaXR5KCkp
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgcmV0dXJuIGludGVyc2Vj
dHNXaXRoRG9jdW1lbnRSZWN0KG9iamVjdCwgZG9jdW1lbnRSZWN0KTsKK30KKworYm9vbCBxdWFs
aWZpZXNGb3JDb250ZW50ZnVsUGFpbnQoUmVuZGVyVmlldyYgdmlldykKK3sKKyAgICBhdXRvIGRv
Y3VtZW50UmVjdCA9IHZpZXcuZG9jdW1lbnRSZWN0KCk7CisgICAgZm9yIChhdXRvJiBvYmplY3Qg
OiBkZXNjZW5kYW50c09mVHlwZTxSZW5kZXJPYmplY3Q+KHZpZXcpKSB7CisgICAgICAgIGlmIChp
c0NvbnRlbnRmdWwob2JqZWN0KSAmJiBpc1BhaW50YWJsZShvYmplY3QsIGRvY3VtZW50UmVjdCkp
CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVj
a2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQ
YWludENoZWNrZXIuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
Q29udGVudGZ1bFBhaW50Q2hlY2tlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisg
KgorKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUmVu
ZGVyVmlldzsKKworYm9vbCBxdWFsaWZpZXNGb3JDb250ZW50ZnVsUGFpbnQoUmVuZGVyVmlldyYp
OworCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJKHJldmlzaW9u
IDI2MDAyMSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTE4MCw3ICsxODAsNyBAQCBwdWJsaWM6CiAgICAgTGF5b3V0VW5pdCB0b3BP
ZkZpcnN0VGV4dCgpIGNvbnN0OwogICAgIAogICAgIGJvb2wgY29udGFpbnNPbmx5SFRNTFdoaXRl
c3BhY2UodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuZ3RoKSBjb25zdDsKLSAgICAKKyAgICBi
b29sIGNvbnRhaW5zT25seUhUTUxXaGl0ZXNwYWNlKCkgY29uc3QgeyByZXR1cm4gY29udGFpbnNP
bmx5SFRNTFdoaXRlc3BhY2UoMCwgdGV4dCgpLmxlbmd0aCgpKTsgfSAKICAgICBib29sIGNhblVz
ZVNpbXBsaWZpZWRUZXh0TWVhc3VyaW5nKCkgY29uc3QgeyByZXR1cm4gbV9jYW5Vc2VTaW1wbGlm
aWVkVGV4dE1lYXN1cmluZzsgfQogCiAgICAgVmVjdG9yPHN0ZDo6cGFpcjx1bnNpZ25lZCwgdW5z
aWduZWQ+PiBkcmFnZ2VkQ29udGVudFJhbmdlc0JldHdlZW5PZmZzZXRzKHVuc2lnbmVkIHN0YXJ0
T2Zmc2V0LCB1bnNpZ25lZCBlbmRPZmZzZXQpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5jcHAJKHJldmlzaW9uIDI2MDAyMSkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNDAsNiArMzQwLDE1IEBAIGJvb2wgRmlsbExheWVyOjpjb250YWluc0ltYWdlKFN0eWxl
SW1hZ2UKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgRmlsbExheWVyOjpoYXNMb2FkZWRD
YWNoZWRJbWFnZSgpIGNvbnN0Cit7CisgICAgZm9yIChhdXRvKiBsYXllciA9IHRoaXM7IGxheWVy
OyBsYXllciA9IGxheWVyLT5tX25leHQuZ2V0KCkpIHsKKyAgICAgICAgaWYgKGxheWVyLT5tX2lt
YWdlICYmIGxheWVyLT5tX2ltYWdlLT5pc0xvYWRlZCgpICYmIGxheWVyLT5tX2ltYWdlLT5oYXND
YWNoZWRJbWFnZSgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVy
biBmYWxzZTsKK30KKwogYm9vbCBGaWxsTGF5ZXI6OmltYWdlc0FyZUxvYWRlZCgpIGNvbnN0CiB7
CiAgICAgZm9yIChhdXRvKiBsYXllciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5tX25l
eHQuZ2V0KCkpIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExh
eWVyLmgJKHJldmlzaW9uIDI2MDAyMSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9GaWxsTGF5ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ1LDYgKzE0NSw3IEBAIHB1YmxpYzoK
IAogICAgIGJvb2wgY29udGFpbnNJbWFnZShTdHlsZUltYWdlJikgY29uc3Q7CiAgICAgYm9vbCBp
bWFnZXNBcmVMb2FkZWQoKSBjb25zdDsKKyAgICBib29sIGhhc0xvYWRlZENhY2hlZEltYWdlKCkg
Y29uc3Q7CiAgICAgYm9vbCBoYXNJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmV4dCA/IGhhc0lt
YWdlSW5BbnlMYXllcigpIDogbV9pbWFnZTsgfQogICAgIGJvb2wgaGFzRml4ZWRJbWFnZSgpIGNv
bnN0OwogICAgIGJvb2wgaGFzT3BhcXVlSW1hZ2UoY29uc3QgUmVuZGVyRWxlbWVudCYpIGNvbnN0
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
Y3BwCShyZXZpc2lvbiAyNjAwMjEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDQsNiArNDQ0LDIxIEBAIGJvb2wg
UmVuZGVyU3R5bGU6OmRlc2NlbmRhbnRBZmZlY3RpbmdOb24KICAgICAgICAgJiYgbV9yYXJlTm9u
SW5oZXJpdGVkRGF0YS0+anVzdGlmeUl0ZW1zID09IG90aGVyLm1fcmFyZU5vbkluaGVyaXRlZERh
dGEtPmp1c3RpZnlJdGVtczsKIH0KIAorYm9vbCBSZW5kZXJTdHlsZTo6aGFzUGFpbnRhYmxlQ2Fj
aGVkQmFja2dyb3VuZEltYWdlKCkgY29uc3QKK3sKKyAgICBpZiAoIWhhc0JhY2tncm91bmRJbWFn
ZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjb25zdCBGaWxsTGF5ZXImIGJhY2tn
cm91bmQgPSBiYWNrZ3JvdW5kTGF5ZXJzKCk7CisgICAgaWYgKCFiYWNrZ3JvdW5kLmhhc0xvYWRl
ZENhY2hlZEltYWdlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChiYWNrZ3Jv
dW5kU2l6ZUxlbmd0aCgpLmlzRW1wdHkoKSAmJiBiYWNrZ3JvdW5kU2l6ZVR5cGUoKSA9PSBGaWxs
U2l6ZVR5cGU6OlNpemUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVl
OworfQorCiAjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKIAogc3RhdGljIGlubGluZSB1bnNp
Z25lZCBjb21wdXRlRm9udEhhc2goY29uc3QgRm9udENhc2NhZGUmIGZvbnQpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkocmV2aXNpb24gMjYw
MDIxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQxNiw2ICs0MTYsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgTGVuZ3Ro
U2l6ZSYgYmFja2dyb3VuZFNpemVMZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2JhY2tncm91bmRE
YXRhLT5iYWNrZ3JvdW5kLnNpemVMZW5ndGgoKTsgfQogICAgIEZpbGxMYXllciYgZW5zdXJlQmFj
a2dyb3VuZExheWVycygpIHsgcmV0dXJuIG1fYmFja2dyb3VuZERhdGEuYWNjZXNzKCkuYmFja2dy
b3VuZDsgfQogICAgIGNvbnN0IEZpbGxMYXllciYgYmFja2dyb3VuZExheWVycygpIGNvbnN0IHsg
cmV0dXJuIG1fYmFja2dyb3VuZERhdGEtPmJhY2tncm91bmQ7IH0KKyAgICBib29sIGhhc1BhaW50
YWJsZUNhY2hlZEJhY2tncm91bmRJbWFnZSgpIGNvbnN0OwogCiAgICAgU3R5bGVJbWFnZSogbWFz
a0ltYWdlKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bWFzay5pbWFn
ZSgpOyB9CiAgICAgRmlsbFJlcGVhdCBtYXNrUmVwZWF0WCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRp
Y19jYXN0PEZpbGxSZXBlYXQ+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPm1hc2sucmVwZWF0WCgp
KTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRl
clN1cHBvcnQuY3BwCShyZXZpc2lvbiAyNjAwMjEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNiArMTQ4
LDIzIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB1cGRhdGVPYmplY3RCb3VuZGluZ0IKICAgICBvYmpl
Y3RCb3VuZGluZ0JveC51bml0ZUV2ZW5JZkVtcHR5KG90aGVyQm91bmRpbmdCb3gpOwogfQogCisK
K2Jvb2wgU1ZHUmVuZGVyU3VwcG9ydDo6aGFzUmVuZGVyYWJsZUNoaWxkcmVuKGNvbnN0IFJlbmRl
ckVsZW1lbnQmIGNvbnRhaW5lcikKK3sKKyAgICBmb3IgKGF1dG8mIGN1cnJlbnQgOiBjaGlsZHJl
bk9mVHlwZTxSZW5kZXJPYmplY3Q+KGNvbnRhaW5lcikpIHsKKyAgICAgICAgaWYgKGN1cnJlbnQu
aXNTVkdIaWRkZW5Db250YWluZXIoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAg
IC8vIERvbid0IGluY2x1ZGUgZWxlbWVudHMgaW4gdGhlIHVuaW9uIHRoYXQgZG8gbm90IHJlbmRl
ci4KKyAgICAgICAgaWYgKGlzPFJlbmRlclNWR1NoYXBlPihjdXJyZW50KSAmJiBkb3duY2FzdDxS
ZW5kZXJTVkdTaGFwZT4oY3VycmVudCkuaXNSZW5kZXJpbmdEaXNhYmxlZCgpKQorICAgICAgICAg
ICAgY29udGludWU7CisKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJu
IGZhbHNlOworfQorCiB2b2lkIFNWR1JlbmRlclN1cHBvcnQ6OmNvbXB1dGVDb250YWluZXJCb3Vu
ZGluZ0JveGVzKGNvbnN0IFJlbmRlckVsZW1lbnQmIGNvbnRhaW5lciwgRmxvYXRSZWN0JiBvYmpl
Y3RCb3VuZGluZ0JveCwgYm9vbCYgb2JqZWN0Qm91bmRpbmdCb3hWYWxpZCwgRmxvYXRSZWN0JiBz
dHJva2VCb3VuZGluZ0JveCwgRmxvYXRSZWN0JiByZXBhaW50Qm91bmRpbmdCb3gpCiB7CiAgICAg
b2JqZWN0Qm91bmRpbmdCb3ggPSBGbG9hdFJlY3QoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oCShyZXZpc2lvbiAyNjAwMjEpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtODksNiArODksOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlbmRlclNWR1Jv
b3QqIGZpbmRUcmVlUm9vdE9iamVjdChSZW5kZXJFbGVtZW50Jik7CiAgICAgc3RhdGljIGNvbnN0
IFJlbmRlclNWR1Jvb3QqIGZpbmRUcmVlUm9vdE9iamVjdChjb25zdCBSZW5kZXJFbGVtZW50Jik7
CiAKKyAgICBzdGF0aWMgYm9vbCBoYXNSZW5kZXJhYmxlQ2hpbGRyZW4oY29uc3QgUmVuZGVyRWxl
bWVudCYpOworCiBwcml2YXRlOgogICAgIC8vIFRoaXMgY2xhc3MgaXMgbm90IGNvbnN0cnVjdGFi
bGUuCiAgICAgU1ZHUmVuZGVyU3VwcG9ydCgpOwpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDAy
MSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MjAgQEAKKzIwMjAtMDQtMTMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisg
ICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBydW50aW1lIGZsYWcg
Zm9yIHBhaW50LXRpbWluZyAocGFpbnRUaW1pbmdFbmFibGVkKS4KKworICAgICAgICAqIFNoYXJl
ZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQp
OgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGF0ZVByZWZl
cmVuY2VzU3RvcmUpOgorCiAyMDIwLTA0LTEzICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBBZGQgbWVzc2FnZSBmaWx0ZXJpbmcgdG8gYWxsIGlv
a2l0IG9wZW4gcnVsZXMKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
LnlhbWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMu
eWFtbAkocmV2aXNpb24gMjYwMDIxKQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXMueWFtbAkod29ya2luZyBjb3B5KQpAQCAtODM5LDYgKzgzOSwxMyBAQCBVc2VyVGltaW5n
RW5hYmxlZDoKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFVzZXJUaW1pbmcg
QVBJIgogICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCitQYWludFRp
bWluZ0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiB0cnVlCisgIGh1bWFu
UmVhZGFibGVOYW1lOiAiUGFpbnQgVGltaW5nIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246
ICJFbmFibGUgUGFpbnQgVGltaW5nIEFQSSIKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXMKKwogQmVhY29uQVBJRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0
VmFsdWU6IHRydWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAyNjAwMjEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgxOSw2ICsx
ODE5LDE2IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFcKICAgICBy
ZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+dXNlclRpbWluZ0VuYWJsZWQoKTsKIH0KIAor
dm9pZCBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5zZXRQYWludFRpbWluZ0VuYWJsZWQoZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dl
dFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQorewor
ICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5wYWludFRpbWluZ0VuYWJsZWQoKTsK
K30KKwogdm9pZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0ltcGwocHJlZmVy
ZW5jZXNSZWYpLT5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoZmxhZyk7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2
YXRlLmgJKHJldmlzaW9uIDI2MDAyMSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwMCw2ICs1MDAs
MTAgQEAgV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbgogV0tfRVhQT1JU
IGJvb2wgV0tQcmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYp
OwogCiAvLyBEZWZhdWx0cyB0byBmYWxzZQorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1Nl
dFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOworV0tfRVhQ
T1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2Vz
UmVmKTsKKworLy8gRGVmYXVsdHMgdG8gZmFsc2UKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5j
ZXNTZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsK
IFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQ
cmVmZXJlbmNlc1JlZik7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5j
cHAJKHJldmlzaW9uIDI2MDAyMSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIy
LDYgKzEyMiw3IEBAIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGEKICAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENhY2hlQVBJRW5h
YmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNhY2hlQVBJ
RW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRGZXRjaEFQSUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZl
cmVuY2VzS2V5OjpmZXRjaEFQSUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9v
bFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp1c2VyVGltaW5nRW5hYmxlZEtleSgpKSk7
CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRp
bWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpw
YWludFRpbWluZ0VuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVzb3VyY2VUaW1pbmdFbmFibGVkS2V5KCkpKTsK
ICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJ
S2VlcEFsaXZlRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNL
ZXk6OmZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNz
KHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVzdHJpY3RlZEhU
VFBSZXNwb25zZUFjY2Vzc0tleSgpKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNjAwMjEpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRo
YWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29u
dGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBhIHByZWZlcmVuY2Uga2V5IGZvciBwYWludCB0aW1pbmcuCisKKyAgICAgICAg
KiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVd
KToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgcGFpbnRUaW1pbmdFbmFibGVkXSk6CisgICAg
ICAgICgtW1dlYlByZWZlcmVuY2VzIHNldFBhaW50VGltaW5nRW5hYmxlZDpdKToKKyAgICAgICAg
KiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2Vi
Vmlldy5tbToKKwogMjAyMC0wNC0xMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KIAogICAgICAgICBbbWFjT1NdIFtXSzFdIFRvdWNoIEJhciBmbGFzaGVzIHdoZW4gdHlw
aW5nIGluIFZpZXRuYW1lc2UgaW4gTWFpbApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZp
c2lvbiAyNjAwMjEpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNjAsNiArMjYwLDcgQEAKICNk
ZWZpbmUgV2ViS2l0QXR0YWNobWVudEVsZW1lbnRFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktp
dEF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0SW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEludGVyc2VjdGlvbk9ic2VydmVyRW5h
YmxlZCIKICNkZWZpbmUgV2ViS2l0TWVudUl0ZW1FbGVtZW50RW5hYmxlZFByZWZlcmVuY2VLZXkg
QCJXZWJLaXRNZW51SXRlbUVsZW1lbnRFbmFibGVkIgorI2RlZmluZSBXZWJLaXRQYWludFRpbWlu
Z0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkIgogI2RlZmlu
ZSBXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRVc2VyVGltaW5n
RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtl
eSBAIldlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TWVkaWFDb250
ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVk
aWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQiCkluZGV4OiBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHJldmlzaW9u
IDI2MDAyMSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTY4Miw2ICs2ODIsNyBAQCArICh2b2lkKWluaXRpYWxp
emUKICNpZiBFTkFCTEUoSU5URVJTRUNUSU9OX09CU0VSVkVSKQogICAgICAgICBATk8sIFdlYktp
dEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXksCiAjZW5kaWYKKyAgICAg
ICAgQE5PLCBXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBA
Tk8sIFdlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBX
ZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdl
YktpdE1lZGlhVXNlckdlc3R1cmVJbmhlcml0c0Zyb21Eb2N1bWVudCwKQEAgLTMzMDYsNiArMzMw
NywxNiBAQCAtICh2b2lkKXNldFVzZXJUaW1pbmdFbmFibGVkOihCT09MKWZsYWcKICAgICBbc2Vs
ZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVy
ZW5jZUtleV07CiB9CiAKKy0gKEJPT0wpcGFpbnRUaW1pbmdFbmFibGVkCit7CisgICAgcmV0dXJu
IFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5j
ZUtleV07Cit9CisKKy0gKHZvaWQpc2V0UGFpbnRUaW1pbmdFbmFibGVkOihCT09MKWZsYWcKK3sK
KyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFBhaW50VGltaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXldOworfQorCiAtIChCT09MKXJlc291cmNlVGltaW5nRW5hYmxlZAog
ewogICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFJlc291cmNlVGltaW5n
RW5hYmxlZFByZWZlcmVuY2VLZXldOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCShyZXZpc2lvbiAyNjAw
MjEpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJp
dmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02NjEsNiArNjYxLDcgQEAgQGludGVyZmFjZSBXZWJQ
cmVmZXJlbmNlcyAoV2ViUHJpdmF0ZSkKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGtleWdl
bkVsZW1lbnRFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgdXNlclRpbWluZ0Vu
YWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCByZXNvdXJjZVRpbWluZ0VuYWJsZWQ7
CitAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBwYWludFRpbWluZ0VuYWJsZWQ7CiBAcHJvcGVy
dHkgKG5vbmF0b21pYykgQk9PTCBsaW5rUHJlbG9hZEVuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0
b21pYykgQk9PTCBtZWRpYVVzZXJHZXN0dXJlSW5oZXJpdHNGcm9tRG9jdW1lbnQ7CiBAcHJvcGVy
dHkgKG5vbmF0b21pYykgQk9PTCBpc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkOwpJbmRl
eDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24g
MjYwMDIxKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0zMjAxLDYgKzMyMDEsNyBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0No
YW5nZWQ6KFdlYlByZWZlcmVuCiAKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnNldFVzZXJUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnVzZXJUaW1pbmdFbmFi
bGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFJl
c291cmNlVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5yZXNvdXJjZVRpbWluZ0VuYWJsZWQpOwor
ICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1p
bmdFbmFibGVkKHByZWZlcmVuY2VzLnBhaW50VGltaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMaW5rUHJlbG9hZEVuYWJsZWQocHJl
ZmVyZW5jZXMubGlua1ByZWxvYWRFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLnNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQocHJlZmVyZW5jZXMu
bWVkaWFQcmVsb2FkaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRJc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKHByZWZlcmVu
Y2VzLmlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQpOwpJbmRleDogU291cmNlL1dlYktp
dExlZ2FjeS93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL0NoYW5nZUxvZwkocmV2aXNpb24gMjYwMDIxKQorKysgU291cmNlL1dlYktpdExlZ2FjeS93
aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDQtMTMg
IE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBG
Q1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgcHJlZmVyZW5jZSBrZXkgZm9yIHBhaW50LXRpbWluZy4K
KworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6CisgICAg
ICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJlZmVyZW5j
ZXMuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgICogV2ViVmlldy5j
cHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorCisgICAg
ICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXMuaWRsOgorICAgICAgICAqIEludGVyZmFj
ZXMvV2ViS2l0LmlkbDoKKyAgICAgICAgICAgICAgICBUb3VjaGVkIHRvIHRyaWdnZXIgYnVpbGQu
CisKIDIwMjAtMDQtMDggIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAg
ICAgIFNob3VsZCBmaW5kIHRvdWNoLWFjdGlvbiBlbGVtZW50cyBpbnNpZGUgbm9uLWNvbXBvc2l0
ZWQgaWZyYW1lcwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtl
eXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDI2MDAyMSkKKysrIFNvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
OTcsNiArMTk3LDggQEAKIAogI2RlZmluZSBXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVu
Y2VLZXkgIldlYktpdFVzZXJUaW1pbmdFbmFibGVkIgogCisjZGVmaW5lIFdlYktpdFBhaW50VGlt
aW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFBhaW50VGltaW5nRW5hYmxlZCIKKwogI2Rl
ZmluZSBXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRSZXNv
dXJjZVRpbWluZ0VuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkUHJl
ZmVyZW5jZUtleSAiV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkIgpJbmRleDogU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gMjYwMDIxKQorKysgU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMjYsNiArMzI2LDggQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRT
ZQogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdFJlc291
cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCisgICAg
Q0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdFBhaW50VGltaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOworCiAgICAgQ0ZEaWN0aW9uYXJ5
QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVu
Y2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVm
YXVsdHMsIENGU1RSKFdlYktpdE1lZGlhUHJlbG9hZGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwg
a0NGQm9vbGVhbkZhbHNlKTsKQEAgLTI0MTQsNiArMjQxNiwyMCBAQCBIUkVTVUxUIFdlYlByZWZl
cmVuY2VzOjpyZXNvdXJjZVRpbWluZ0VuCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKK0hSRVNVTFQg
V2ViUHJlZmVyZW5jZXM6OnNldFBhaW50VGltaW5nRW5hYmxlZChCT09MIGVuYWJsZWQpCit7Cisg
ICAgc2V0Qm9vbFZhbHVlKFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksIGVu
YWJsZWQpOworICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpw
YWludFRpbWluZ0VuYWJsZWQoX091dF8gQk9PTCogZW5hYmxlZCkKK3sKKyAgICBpZiAoIWVuYWJs
ZWQpCisgICAgICAgIHJldHVybiBFX1BPSU5URVI7CisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVG
b3JLZXkoV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSk7CisgICAgcmV0dXJu
IFNfT0s7Cit9CisKIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNlcnZlclRpbWluZ0VuYWJsZWQo
X091dF8gQk9PTCogZW5hYmxlZCkKIHsKICAgICBpZiAoIWVuYWJsZWQpCkluZGV4OiBTb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgJKHJldmlzaW9uIDI2MDAyMSkKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTMwNyw2ICszMDcsOCBAQCBwdWJsaWM6CiAgICAgLy8gSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTgK
ICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgYWxsb3dUb3BOYXZpZ2F0aW9u
VG9EYXRhVVJMcyhfT3V0XyBCT09MKik7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIHNldEFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoQk9PTCk7CisgICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHBhaW50VGltaW5nRW5hYmxlZChfT3V0XyBCT09M
Kik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFBhaW50VGltaW5n
RW5hYmxlZChCT09MKTsKIAogICAgIC8vIFdlYlByZWZlcmVuY2VzCiAKSW5kZXg6IFNvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiAyNjAwMjEpCisrKyBTb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTI4NSw2ICs1Mjg1LDEx
IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2UKICAgICAgICAgcmV0
dXJuIGhyOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0
VXNlclRpbWluZ0VuYWJsZWQoISFlbmFibGVkKTsKIAorICAgIGhyID0gcHJlZnNQcml2YXRlLT5w
YWludFRpbWluZ0VuYWJsZWQoJmVuYWJsZWQpOworICAgIGlmIChGQUlMRUQoaHIpKQorICAgICAg
ICByZXR1cm4gaHI7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zZXRQYWludFRpbWluZ0VuYWJsZWQoISFlbmFibGVkKTsKKwogICAgIGhyID0gcHJlZnNQcml2
YXRlLT5yZXNvdXJjZVRpbWluZ0VuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIp
KQogICAgICAgICByZXR1cm4gaHI7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRl
cmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExl
Z2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXMuaWRsCShyZXZpc2lvbiAyNjAwMjEp
CisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAy
MDA2LTIwMjAgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIAogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRl
cmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwJKHJl
dmlzaW9uIDI2MDAyMSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdl
YlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2NSw0ICsyNjUsNiBA
QCBpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTggOiBJV2ViCiB7CiAgICAgSFJFU1VM
VCBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKFtvdXQsIHJldHZhbF0gQk9PTCogZW5hYmxl
ZCk7CiAgICAgSFJFU1VMVCBzZXRBbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKFtpbl0gQk9P
TCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIHBhaW50VGltaW5nRW5hYmxlZChbb3V0LCByZXR2YWxd
IEJPT0wqKTsKKyAgICBIUkVTVUxUIHNldFBhaW50VGltaW5nRW5hYmxlZChbaW5dIEJPT0wgZW5h
YmxlZCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL1dlYktp
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9X
ZWJLaXQuaWRsCShyZXZpc2lvbiAyNjAwMjEpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9J
bnRlcmZhY2VzL1dlYktpdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAq
LwogCiBjcHBfcXVvdGUoIi8qIikKLWNwcF9xdW90ZSgiICogQ29weXJpZ2h0IChDKSAyMDA2LCAy
MDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4iKQorY3BwX3F1b3RlKCIgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDks
IDIwMTAsIDIwMTUsIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiIpCiBjcHBf
cXVvdGUoIiAqIikKIGNwcF9xdW90ZSgiICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IikKIGNwcF9xdW90ZSgiICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIikKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDI2MDAyMSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA0LTEzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Vi
a2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHBy
ZWZlcmVuY2Uga2V5IGZvciBwYWludC10aW1pbmcuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9D
b25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRl
clRyZWUuY3BwOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVl
cyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFs
dWVzKToKKwogMjAyMC0wNC0xMyAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW2V3c10gSW1wcm92ZSBoYW5kbGluZyBvZiB1bmV4cGVjdGVkIG5ldHdvcmsg
aXNzdWVzIHdoaWxlIGNvbW11bmljYXRpbmcgd2l0aCBCdWd6aWxsYQpJbmRleDogVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMjYwMDIxKQorKysg
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDA0LDYgKzEwMDQsNyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVuY2VzVG9D
b25zaXN0CiAgICAgW3ByZWZlcmVuY2VzIHNldE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkOllF
U107CiAgICAgW3ByZWZlcmVuY2VzIHNldFJlc291cmNlVGltaW5nRW5hYmxlZDpZRVNdOwogICAg
IFtwcmVmZXJlbmNlcyBzZXRVc2VyVGltaW5nRW5hYmxlZDpZRVNdOworICAgIFtwcmVmZXJlbmNl
cyBzZXRQYWludFRpbWluZ0VuYWJsZWQ6WUVTXTsKIAogICAgIFtwcmVmZXJlbmNlcyBzZXRDYWNo
ZUFQSUVuYWJsZWQ6Tk9dOwogICAgIHByZWZlcmVuY2VzLm1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxl
ZCA9IFlFUzsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVl
LmNwcAkocmV2aXNpb24gMjYwMDIxKQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBS
ZW5kZXJUcmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTIxLDYgKzkyMSw3IEBAIHN0YXRpYyB2
b2lkIHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGkKICAgICBwcmVmc1ByaXZhdGUtPnNldEFs
bG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMob3B0aW9ucy5hbGxvd1RvcE5hdmlnYXRpb25Ub0Rh
dGFVUkxzKTsKICAgICBwcmVmZXJlbmNlcy0+c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChvcHRp
b25zLnVzZUVwaGVtZXJhbFNlc3Npb24pOwogICAgIHByZWZlcmVuY2VzLT5zZXRVc2VzUGFnZUNh
Y2hlKG9wdGlvbnMuZW5hYmxlQmFja0ZvcndhcmRDYWNoZSk7CisgICAgcHJlZnNQcml2YXRlLT5z
ZXRQYWludFRpbWluZ0VuYWJsZWQoVFJVRSk7CiB9CiAKIHN0YXRpYyBTdHJpbmcgYXBwbGljYXRp
b25JZCgpCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAko
cmV2aXNpb24gMjYwMDIxKQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzMSw2ICs5MzEsNyBAQCB2b2lkIFRlc3RDb250cm9s
bGVyOjpyZXNldFByZWZlcmVuY2VzVG9DCiAgICAgV0tQcmVmZXJlbmNlc1NldEZldGNoQVBJS2Vl
cEFsaXZlRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFJl
c291cmNlVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNl
c1NldFVzZXJUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKKyAgICBXS1ByZWZlcmVu
Y2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZl
cmVuY2VzU2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAg
V0tQcmVmZXJlbmNlc1NldE1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmUocHJlZmVyZW5jZXMsIHRy
dWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5
c0lubGluZUF0dHJpYnV0ZShwcmVmZXJlbmNlcywgZmFsc2UpOwpJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
MjYwMDIxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMzkgQEAKKzIwMjAtMDQtMTMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgor
CisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0cyBmb3Ig
c29tZSBmaXJzdC1jb250ZW50ZnVsLXBhaW50IChGQ1ApIHVzZS1jYXNlcy4KKworICAgICAgICAq
IHBlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanM6
IEFkZGVkLgorICAgICAgICAgICAgICAgIFRlc3QgZXhpc3RlbmNlIG9mIHBhaW50IHRpbWluZyBB
UEkgb24gdGhlIHdpbmRvdyBvYmplY3QuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmly
c3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtd2l0
aC13b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkv
Zmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sOiBBZGRlZC4KKyAg
ICAgICAgICAgICAgICBUZXN0IHRoYXQgRkNQIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNyb3NzLW9y
aWdpbiBmcmFtZXMgYW5kIHdvcmtlcnMuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVy
Zm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJz
dC1jb250ZW50ZnVsLXBhaW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFw
aS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5jIHdh
aXRGb3JGQ1ApOgorICAgICAgICAgICAgICAgIFRlc3QgdGhhdCBwZXJmb3JtYW5jZSBvYnNlcnZl
cnMgYXJlIGNhbGxlZCBmb3IgRkNQLgorCisgICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5j
ZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNl
LXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWV4cGVjdGVkLnR4dDog
QWRkZWQKKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c3R5
bGUucGhwOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNl
cy9zdHlsZS5jc3M6ICBBZGRlZC4KKyAgICAgICAgICAgICAgICBUZXN0IHRoYXQgRkNQIGhhcHBl
bnMgYWZ0ZXIgVk5FIC0gaWYgYSBwZW5kaW5nIHN0eWxlc2hlZXQgYmxvY2tzIHBhaW50aW5nLCBm
aXJlIEZDUCBvbmx5IGFmdGVyIHN0eWxlc2hlZXQgaGFzIGxvYWRlZC4KKworICAgICAgICAKKwog
MjAyMC0wNC0xMyAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgog
CiAgICAgICAgIFdoZW4gZHJhd2luZyBhbiBpbWFnZSBzcmNSZWN0IGFuZCBpbWFnZVJlY3QgaGF2
ZSB0byBiZSBpbiB0aGUgb3JpZW50YXRpb24gb2YgZGVzdFJlY3QKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRl
ci12aXN1YWxseS1ub24tZW1wdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1h
ZnRlci12aXN1YWxseS1ub24tZW1wdHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5n
LWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMiBAQAorUEFTUyBwYWludEVudHJ5LnN0YXJ0VGltZSA+PSBzdHlsZUVudHJ5
LnN0YXJ0VGltZSArIHN0eWxlRW50cnkuZHVyYXRpb24gaXMgdHJ1ZQorVEVYVApJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmct
ZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1h
ZnRlci12aXN1YWxseS1ub24tZW1wdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0
ZXItdmlzdWFsbHktbm9uLWVtcHR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCkKKyAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dD4KKyAgICB2YXIgc3R5bGVFbnRyeSA9IG51bGw7CisgICAgdmFyIHBhaW50RW50cnkgPSBudWxs
OworICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7
CisgICAgICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5
cGUoJ3BhaW50Jyk7CisgICAgICAgIGlmIChwYWludEVudHJpZXMubGVuZ3RoKQorICAgICAgICAg
ICAgcGFpbnRFbnRyeSA9IHBhaW50RW50cmllc1swXTsKKworICAgICAgICBjb25zdCByZXNvdXJj
ZUVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpLmZpbHRl
cihyID0+IHIubmFtZS5pbmNsdWRlcygnc2xvd3N0eWxlLnBocCcpKTsKKyAgICAgICAgaWYgKHJl
c291cmNlRW50cmllcy5sZW5ndGgpCisgICAgICAgICAgICBzdHlsZUVudHJ5ID0gcmVzb3VyY2VF
bnRyaWVzWzBdOworCisgICAgICAgIGlmICghc3R5bGVFbnRyeSB8fCAhcGFpbnRFbnRyeSkKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICBzaG91bGRCZVRydWUoInBhaW50RW50cnkuc3Rh
cnRUaW1lID49IHN0eWxlRW50cnkuc3RhcnRUaW1lICsgc3R5bGVFbnRyeS5kdXJhdGlvbiIpOwor
ICAgICAgICAgICAgICAgIAorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9KTsKKyAgICBvYnNlcnZlci5vYnNl
cnZlKHtlbnRyeVR5cGVzOiBbInBhaW50IiwgInJlc291cmNlIl19KTsKKzwvc2NyaXB0PgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuL3Jlc291cmNlcy9zbG93c3R5bGUucGhwP2RlbGF5
PTAuNSIgLz4KKzwvaGVhZD4KKzxib2R5PgorVEVYVAorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3N0eWxlLnBo
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291
cmNlcy9zbG93c3R5bGUucGhwCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dzdHlsZS5waHAJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw2IEBACis8P3BocAoraWYgKGlzc2V0KCRfR0VUWyJkZWxheSJdKSkKKyAgICBzbGVl
cCgkX0dFVFsiZGVsYXkiXSk7CitoZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBtdXN0
LXJldmFsaWRhdGUnKTsKK2hlYWRlcignTG9jYXRpb246IHN0eWxlLmNzcycpOworPz4KSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3N0eWxlLmNzcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNl
cy9zdHlsZS5jc3MJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJm
b3JtYW5jZS9yZXNvdXJjZXMvc3R5bGUuY3NzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorYm9keSB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4KK307ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBzaXplLiAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1iYWNrZ3JvdW5kLXNpemUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDog
RkNQIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemU8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsK
KyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNv
dXJjZXMvY2lyY2xlcy5wbmcpOworICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDAgMDsKKyAgICB9
CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0
LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEw
MCUgMTAwJTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlw
dD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFj
a2dyb3VuZCBzaXplLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3Jv
dW5kIGltYWdlIGluIGltYWdlLXNldC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1z
ZXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVy
Zm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gYmFja2dyb3VuZCBpbWFnZSBp
biBpbWFnZS1zZXQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6
IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRm
dWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29u
dGVudGZ1bCB7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtaW1hZ2Utc2V0KHVy
bCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpIDF4KTsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFn
ZTogaW1hZ2Utc2V0KHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpIDF4KTsKKyAgICB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgi
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBpbWFnZSBpbiBp
bWFnZS1zZXQuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
Zm9yIGJhY2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGUuIAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWJnLWltYWdlLXR3by1zdGVwcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
Zy1pbWFnZS10d28tc3RlcHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM0IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBU
ZXN0OiBGQ1Agc2hvdWxkIGZpcmUgZm9yIGJhY2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2li
bGU8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgYW5kIHBy
ZUZDUCBjbGFzc2VzIGFyZSBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFp
bi5wcmVGQ1AgeworICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgfQorCisgICAgI21h
aW4uY29udGVudGZ1bCwgICNtYWluLnByZUZDUCB7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6
IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgICNtYWluLmNvbnRl
bnRmdWwgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOworICAgIH0KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0Pgor
PGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxl
LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1j
YW52YXMtY29udGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNh
bnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Y2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIENhbnZhcyBzaG91bGQgY291bnQgYXMgY29udGVudGZ1bCB3aGVuIGNvbnRleHQg
aXMgY3JlYXRlZCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5j
ZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHdoZW4gY2FudmFzIGNvbnRleHQgaXMgY3JlYXRlZDwv
dGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvY2Fu
dmFzPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGFzc2VydF9w
cmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcg
aXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRl
bnRmdWxQYWludCgpOworICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdjYW52YXMnKTsKKyAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7
CisgICAgY29udGV4dC5maWxsUmVjdCgwLCAwLCAxMDAsIDEwMCk7CisgICAgYXdhaXQgYXNzZXJ0
Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ0NhbnZhcyBzaG91bGQgY291bnQgYXMgY29u
dGVudGZ1bCB3aGVuIGNvbnRleHQgaXMgY3JlYXRlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+CisK
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMyBAQAorCitQQVNTIEdyYWRpZW50cyBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRl
bnRmdWwgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1ncmFkaWVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZD
UCBzaG91bGQgbm90IGZpcmUgd2l0aCBncmFkaWVudC1vbmx5IGJhY2tncm91bmRzPC90aXRsZT4K
KzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRv
IGJvdHRvbSwgb3JhbmdlLCBibHVlKTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4i
PjwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNz
ZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRp
bWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBjb25zdCBtYWluID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ21haW4nKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0
Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICAnR3JhZGllbnRzIHNob3VsZCBub3QgY291bnQgYXMg
Y29udGVudGZ1bCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90
YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBA
QAorVGV4dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBh
bmNlc3RvciBnZXR0aW5nIHJvdGF0aW5nIGludG8gdmlldy4gCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gM2QgcmV2ZWFs
aW5nIG9mIGRlc2NlbmRhbnRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAg
IHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4
OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAg
dHJhbnNmb3JtOiByb3RhdGVYKDQ1ZGVnKTsKKyAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVz
ZXJ2ZS0zZDsKKyAgICB9CisKKyAgICAvKgorICAgICAgIFRoaXMgdGVzdHMgdGhhdCBnaXZlbiBt
dWx0aXBsaWNhdGlvbiBlZmZlY3Qgb2YgM2QgdHJhbnNmb3JtcyBvbiBib3VuZGluZyByZWN0LAor
ICAgICAgIEFuIGVsZW1lbnQgY291bnRzIGFzIGNvbnRlbnRmdWwvcGFpbnRhYmxlIG9ubHkgd2hl
biBpdHMgYm91bmRpbmcgcmVjdCBpcyB0cnVseSBub24tZW1wdHkgKi8KKyAgICAjY2hpbGQgewor
ICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVkZWcpOworICAgIH0KKworICAgIC8qIGNvbnRl
bnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4u
Y29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXYgaWQ9ImNoaWxkIj5UZXh0PC9kaXY+Cis8L2Rpdj4K
KzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVl
IHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHJvdGF0aW5nIGludG8gdmlldy4iKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3Rh
dGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qt
cm90YXRlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBA
CitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gM2Qgcm90
YXRpb24gaW50byB2aWV3LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3Rh
dGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVh
ZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byAzZCBy
b3RhdGlvbiBpbnRvIHZpZXc8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAg
d2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7
CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSg5MGRlZyk7CisgICAgICAgIHBvc2l0aW9uOiBy
ZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xh
c3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1
bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9
Im1haW4iPlRleHQ8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgZmlyZXMgZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldy4iKQorPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxl
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBzY2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4g
CisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0
aW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NCBAQAorVEVYVAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiByZXZl
YWxlZCBkdXJpbmcgdHJhbnNpdGlvbi4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
c2NhbGUtdHJhbnNpdGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1p
bnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQg
VGltaW5nIFRlc3Q6IEZDUCBpbiB0cmFuc2l0aW9uPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFp
biB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAgICAgICB0cmFu
c2l0aW9uOiB0cmFuc2Zvcm0gMTBzOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAg
ICAgIHRvcDogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQg
aW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0
cmFuc2Zvcm06IHNjYWxlKDEpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+VEVY
VDwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyB3aGVuIHJldmVhbGVkIGR1cmluZyB0cmFuc2l0aW9uLiIpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1h
bmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHNjYWxlIGNoYW5nZTwvdGl0bGU+Cis8
c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgw
KTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAg
IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0K
KworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQu
ICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAg
ICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxz
LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0
X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gc2NhbGUgYmVjb21pbmcg
cG9zaXRpdmUuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw0IEBACitJTlZJU0lCTEUKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiAKKwpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS10ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10
ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3Vs
ZCBzdGlsbCBmaXJlIGZvciBpbnZpc2libGUgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21h
aW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsK
KyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOworICAg
ICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVs
IGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRl
bnRmdWwgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOworICAgIH0KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0Pgor
PGRpdiBpZD0ibWFpbiI+CisgICAgSU5WSVNJQkxFCis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVz
dF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50
IGJlY29taW5nIHZpc2libGUuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0
eS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gYW5jZXN0b3Igb3BhY2l0eTwvdGl0
bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJl
bGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAgI2NoaWxkIHsKKyAgICAgICAg
b3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGFuZCBpbnRlcm1lZGlhdGUg
Y2xhc3NlcyBhcmUgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29u
dGVudGZ1bCAjY2hpbGQgeworICAgICAgICBvcGFjaXR5OiAxOworICAgIH0KKworICAgICNtYWlu
LmludGVybWVkaWF0ZSAjY2hpbGQgeworICAgICAgICBvcGFjaXR5OiAxOworICAgIH0KKworICAg
ICNtYWluLmludGVybWVkaWF0ZSB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAg
I21haW4uY29udGVudGZ1bCB7CisgICAgICAgIG9wYWNpdHk6IDAuNTsKKyAgICB9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXYgaWQ9ImNoaWxkIj5UZXh0PC9kaXY+Cis8L2Rp
dj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIik7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIG9wYWNpdHktcmV2ZWFsZWQgZWxlbWVudC4gCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vcGFjaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gb3BhY2l0eTwvdGl0bGU+Cis8c3R5
bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwor
ICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJj
ZXMvY2lyY2xlcy5wbmcpOworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNv
bnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21h
aW4uY29udGVudGZ1bCB7CisgICAgICAgIG9wYWNpdHk6IDAuMTsKKyAgICB9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gb3BhY2l0eS1yZXZlYWxlZCBlbGVtZW50LiIpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJv
dW5kcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3Vu
ZHMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91
bmRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1
bWVudC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNs
YXRlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJv
dW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1i
YXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4gCisKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
dXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
dXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQg
VGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlvbiB3aXRo
IGRvY3VtZW50PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAx
MDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAg
ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwMHB4KTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9y
ZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3Mg
aXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7
CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1h
aW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWlu
dCBmaXJlcyBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50
LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQt
b2YtYm91bmRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gaW50ZXJzZWN0
aW9uIHdpdGggZG9jdW1lbnQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAg
d2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAtMTAw
MHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAg
ICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAg
fQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlw
dC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgbGVmdDogMHB4OworICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNw
KCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpbnRlcnNlY3Rpb24gd2l0aCBk
b2N1bWVudC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiAKKwpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWlu
dCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0PC90aXRsZT4KKzxz
dHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAg
d2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWlu
OmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiOworICAgICAgICBkaXNwbGF5OiBub25l
OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2Zj
cCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAgIGRpc3Bs
YXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRv
IHBzZXVkby1lbGVtZW50IHRleHQuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVu
dGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgaW1hZ2UuIAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBh
aW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IGltYWdlPC90aXRsZT4K
KzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAg
ICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC8q
IGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAg
I21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6IHVybCguLi9yZXNvdXJj
ZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rp
dj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIHBzZXVkby1lbGVtZW50IGltYWdlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
b3BhY2l0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0
dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LW9wYWNpdHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtb3BhY2l0eS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC1vcGFjaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDog
RkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHk8L3RpdGxl
PgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAg
ICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAg
I21haW46YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAiVEVYVCI7CisgICAgICAgIG9wYWNpdHk6
IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3Rf
ZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgb3Bh
Y2l0eTogMC41OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRv
IHBzZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4iKQorPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRl
eHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC10ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0
ZXh0LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Q
ZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0
ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxh
dGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
IH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3Jp
cHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJU
RVhUIgorICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+
CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVk
by1lbGVtZW50IHRleHQuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmls
aXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWlu
ZyB2aXNpYmxlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxp
dHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJp
bGl0eS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12
aXNpYmlsaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlPC90aXRsZT4KKzxzdHlsZT4K
KyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6
IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluOmFmdGVy
IHsKKyAgICAgICAgY29udGVudDogIlRFWFQiOworICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47
CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNw
IHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgdmlzaWJp
bGl0eTogdmlzaWJsZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiIpCis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiBTVkcgYmVjb21lcyBj
b250ZW50ZnVsLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3Zn
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHdpdGggU1ZH
PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CisgICAgfQorCisgICAgI2NpcmNsZSB7CisgICAgICBkaXNwbGF5OiBub25l
OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2Zj
cCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCAjY2lyY2xlIHsKKyAgICAgICAgZGlz
cGxheTogYmxvY2s7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgPHN2ZyB2
aWV3Qm94PSIwIDAgMTAgMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKKyAg
ICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgorICAgIDxkZWZz
PgorICAgICAgPGNpcmNsZSBpZD0ibXlDaXJjbGUiIGN4PSI1IiBjeT0iNSIgcj0iNCIgc3Ryb2tl
PSJibHVlIi8+CisgICAgPC9kZWZzPgorICAgIDx1c2UgaWQ9ImNpcmNsZSIgaHJlZj0iI215Q2ly
Y2xlIiBmaWxsPSJncmVlbiIgLz4KKyAgPC9zdmc+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVz
dF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiBTVkcgYmVjb21lcyBjb250
ZW50ZnVsLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10
ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4
dC1pbnB1dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACisKKwor
UEFTUyBUZXh0IGlucHV0IHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGl0cyB2YWx1ZSBp
cyBub24tZW1wdHkgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGlt
aW5nIFRlc3Q6IEZDUCBkdWUgZm9yIG5vbi1lbXB0eSB0ZXh0IGlucHV0PC90aXRsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8aW5w
dXQgaWQ9ImlucHV0IiB0eXBlPSJ0ZXh0IiAvPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQ
YWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2Fp
dCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOwor
ICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgICAgY29uc3Qg
aW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQnKTsKKyAgICAgIGlucHV0LnNl
dEF0dHJpYnV0ZSgndmFsdWUnLCAnICAnKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250
ZW50ZnVsUGFpbnQoKTsKKyAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgndmFsdWUnLCAndmFsdWUn
KTsKKyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdUZXh0
IGlucHV0IHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGl0cyB2YWx1ZSBpcyBub24tZW1w
dHknKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5
cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw0IEBACitBCisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBvbmx5
IHdoZW4gc29tZSBvZiB0aGUgdGV4dCBpcyB2aXNpYmxlLCBjb25zaWRlcmluZyA6OmZpcnN0LWxl
dHRlci4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVy
Zm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgbm90IGZpcmUgd2hlbiBhbGwg
dGV4dCBpcyBoaWRkZW4gZHVlIHRvIHR5cG9ncmFwaGljIHBzZXVkby1lbGVtZW50czwvdGl0bGU+
Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAj
bWFpbiAqOjpmaXJzdC1sZXR0ZXIgeworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAg
IC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisg
ICAgI21haW4uY29udGVudGZ1bCAqOjpmaXJzdC1sZXR0ZXIgeworICAgICAgICBvcGFjaXR5OiAx
OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
dXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdj5BPC9kaXY+Cis8
L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgb25seSB3aGVuIHNvbWUgb2YgdGhlIHRleHQgaXMgdmlzaWJsZSwgY29uc2lkZXJpbmcgOjpm
aXJzdC1sZXR0ZXIuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBA
CisKKworUEFTUyBWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBmaXJzdCBmcmFt
ZSBpcyBsb2FkZWQgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQg
VGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gbG9hZGVkIHZpZGVvIGZyYW1lPC90aXRsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8dmlk
ZW8gaWQ9InZpZGVvIiBhdXRvcGxheT48L3ZpZGVvPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFu
Y2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBh
d2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikp
OworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgICAgY29u
c3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmlkZW8nKTsKKyAgICAgIHZpZGVv
LnNldEF0dHJpYnV0ZSgnc3JjJywgJy9tZWRpYS90ZXN0Lm1wNCcpOworICAgICAgYXdhaXQgbmV3
IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIHZpZGVvLm9uY2FucGxheSA9IHJlc29sdmU7
CisgICAgICB9KTsKKyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7Cisg
IH0sICdWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBmaXJzdCBmcmFtZSBpcyBs
b2FkZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZp
ZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZp
ZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACisK
KworUEFTUyBWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBwb3N0ZXIgaXMgbG9h
ZGVkIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWlu
ZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRlZCB2aWRlbyBwb3N0ZXI8L3RpdGxlPgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBp
ZD0idmlkZW8iIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC92aWRlbz4KKzxzY3JpcHQ+CisgIHBy
b21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5Q
ZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsK
KyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2Fk
JywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICBj
b25zdCB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2aWRlbycpOworICAgIGNvbnN0
IHNyYyA9ICcuLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcnOworICAgIGNvbnN0IGltYWdlID0gbmV3
IEltYWdlKCk7CisgICAgaW1hZ2Uuc3JjID0gc3JjOworICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgn
cG9zdGVyJywgc3JjKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAg
ICAgaW1hZ2Uub25sb2FkID0gYXN5bmMgKCkgPT4gcmVzb2x2ZSgpOworICAgIH0pCisgICAgYXdh
aXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ1ZpZGVvIHNob3VsZCBiZWNv
bWUgY29udGVudGZ1bCB3aGVuIHBvc3RlciBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgV2hpdGVzcGFjZSBzaG91bGQgbm90
IGNvdW50IGFzIGNvbnRlbnRmdWwuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNl
IFBhaW50IFRpbWluZyBUZXN0OiBXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVu
dGZ1bDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVs
YXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7Cisg
ICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCAwOworICAgIH0KKworICAgICN0ZXh0IHsKKyAgICAg
ICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRl
ZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI3RleHR7
CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFp
biI+CisgICAgPGRpdiBpZD0id2hpdGVzcGFjZSI+ICAgPC9kaXY+CisgICAgPGRpdiBpZD0idGV4
dCI+VEVYVDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJXaGl0ZXNwYWNl
IHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDQgQEAKK1RFWFQKKworUEFTUyBGQ1Agc2hvdWxkIGZpcmUgd2hlbiBjb29yZGluYXRl
cyBhcmUgbmVnYXRpdmUsIGlmIHdpdGhpbiBkb2N1bWVudCBzY3JvbGxhYmxlIGFyZWEgCisKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC13aXRoLXJ0bC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhl
YWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gZGly
ZWN0aW9uIGNoYW5nZTwvdGl0bGU+Cis8c3R5bGU+CisgICN0ZXh0IHsKKyAgICByaWdodDogLTEw
MHB4OworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgfQorCisgIGJvZHkgeworICAgIGRpcmVj
dGlvbjogcnRsOworICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHkgZGlyZWN0aW9uPSJSVEwi
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJ0ZXh0
Ij5URVhUPC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAg
ICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFp
bnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIg
PT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3Nl
cnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmRp
cmVjdGlvbiA9ICdsdHInCisgICAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgp
OworICB9LCAnRkNQIHNob3VsZCBmaXJlIHdoZW4gY29vcmRpbmF0ZXMgYXJlIG5lZ2F0aXZlLCBp
ZiB3aXRoaW4gZG9jdW1lbnQgc2Nyb2xsYWJsZSBhcmVhJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L3czYy1pbXBvcnQubG9nCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1pbXBv
cnQubG9nCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAKK1RoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1v
dmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6
ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmctaW1hZ2Utc2V0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFk
aWVudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRl
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
dGV4dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0
ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3V0LW9mLWJvdW5kcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3ZlcmZsb3cuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LWltYWdlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10
ZXh0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFw
aGljLXBzZXVkby5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1y
dGwuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3Vy
Y2VzL2NpcmNsZS5zdmcJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIj4KKyAgIDxjaXJjbGUgY3g9IjEwMCIgY3k9IjUwIiBy
PSI0MCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiAvPgorPC9z
dmc+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNv
dXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPGRpdiBpZD0iaW1hZ2UiPjwvZGl2PgorPHNj
cmlwdD4KKyAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnSU1HJyk7CisgIGlt
Zy5zcmMgPSAnY2lyY2xlcy5wbmcnOworICBpbWcub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAg
ZnVuY3Rpb24gc2VuZFBhaW50RW50cmllcygpIHsKKyAgICAgIGNvbnN0IHBhaW50RW50cmllcyA9
IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3BhaW50Jyk7CisgICAgICBpZiAocGFpbnRF
bnRyaWVzLmxlbmd0aCA8IDIpIHsKKyAgICAgICAgc2V0VGltZW91dChzZW5kUGFpbnRFbnRyaWVz
LCAyMCk7CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAgIGxldCBlbnRyeUNvbnRlbnRz
ID0gcGFpbnRFbnRyaWVzLmxlbmd0aCArICcnOworICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBw
YWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgY29uc3QgZW50cnkgPSBwYWludEVu
dHJpZXNbaV07CisgICAgICAgIGVudHJ5Q29udGVudHMgKz0gJyAnICsgZW50cnkuZW50cnlUeXBl
ICsgJyAnICArIGVudHJ5Lm5hbWU7CisgICAgICB9CisgICAgICBwYXJlbnQucG9zdE1lc3NhZ2Uo
ZW50cnlDb250ZW50cywgJyonKTsKKyAgICB9OworICAgIHNlbmRQYWludEVudHJpZXMoKTsKKyAg
fTsKKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltYWdlJykuYXBwZW5kQ2hpbGQoaW1nKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNl
bmRpbmctcGFpbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGlu
Zy1wYWludC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5n
LXBhaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8c2NyaXB0PgorICBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlv
bihlKSB7CisgICAgLy8gU2VuZCBwYWludC10aW1pbmcgZW50cmllcyB1cG9uIHJlY2VpdmluZyBh
IG1lc3NhZ2UuCisgICAgY29uc3QgcGFpbnRFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5VHlwZSgncGFpbnQnKTsKKyAgICBsZXQgZW50cnlDb250ZW50cyA9IHBhaW50RW50cmllcy5s
ZW5ndGggKyAnJzsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhaW50RW50cmllcy5sZW5ndGg7
IGkrKykgeworICAgICAgY29uc3QgZW50cnkgPSBwYWludEVudHJpZXNbaV07CisgICAgICBlbnRy
eUNvbnRlbnRzICs9ICcgJyArIGVudHJ5LmVudHJ5VHlwZSArICcgJyAgKyBlbnRyeS5uYW1lOwor
ICAgIH0KKyAgICBwYXJlbnQucG9zdE1lc3NhZ2UoZW50cnlDb250ZW50cywgJyonKTsKKyAgfSk7
Cis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNv
dXJjZXMvdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8vIE51bWJlciBtaWxsaXNlY29uZHMgdG8gd2Fp
dCBmb3IgQ1NTIHJlc291cmNlcyB0byBsb2FkLgorY29uc3QgbnVtTWlsbGlzZWNvbmRzV2FpdCA9
IDUwOworCisvLyBXZSB1c2UgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCkgY2FsbHMgdG8gZm9yY2Ug
dGhlIHVzZXIgYWdlbnQgdG8gcGFpbnQgYW5kIGdpdmUgZW5vdWdoCisvLyB0aW1lIGZvciBGQ1Ag
dG8gc2hvdyB1cCBpbiB0aGUgcGVyZm9ybWFuY2UgdGltZWxpbmUuIEhlbmNlLCBzZXQgfG51bUZy
YW1lc1dhaXRpbmd8IHRvCisvLyAzIGFuZCB1c2UgdGhhdCBjb25zdGFudCB3aGVuZXZlciB0aGUg
dGVzdCBuZWVkcyB0byB3YWl0IGZvciB0aGUgbmV4dCBwYWludCB0byBvY2N1ci4KK2NvbnN0IG51
bUZyYW1lc1dhaXRpbmcgPSAzOworCitmdW5jdGlvbiB3YWl0VGltZSh0KSB7CisgIHJldHVybiBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IHQuc3RlcF90aW1lb3V0KHJlc29sdmUsIG51bU1pbGxpc2Vj
b25kc1dhaXQpKTsKK30KKworZnVuY3Rpb24gd2FpdEZvckFuaW1hdGlvbkZyYW1lcyhjb3VudCkg
eworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgaWYgKGNvdW50LS0gPD0g
MCkgeworICAgICAgcmVzb2x2ZSgpOworICAgIH0gZWxzZSB7CisgICAgICByZXF1ZXN0QW5pbWF0
aW9uRnJhbWUoKCkgPT4geworICAgICAgICB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKGNvdW50KS50
aGVuKHJlc29sdmUpOworICAgICAgfSk7CisgICAgfQorICB9KTsKK30KKworLy8gQXNzZXJ0cyB0
aGF0IHRoZXJlIGlzIGN1cnJlbnRseSBubyBGQ1AgcmVwb3J0ZWQsIGV2ZW4gYWZ0ZXIgc29tZSB3
YWl0LgorYXN5bmMgZnVuY3Rpb24gYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KSB7Cisg
IGlmICh0KQorICAgIGF3YWl0IHdhaXRUaW1lKHQpOworCisgIGF3YWl0IHdhaXRGb3JBbmltYXRp
b25GcmFtZXMobnVtRnJhbWVzV2FpdGluZyk7CisgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0aCwgMCwgJ0Zp
cnN0IGNvbnRlbnRmdWwgcGFpbnQgbWFya2VkIHRvbyBlYXJseS4gJyk7Cit9CisKKy8vIEFzc2Vy
dHMgdGhhdCBGQ1AgaXMgcmVwb3J0ZWQsIHBvc3NpYmx5IGFmdGVyIHNvbWUgd2FpdC4gVGhlIHdh
aXQgaXMgbmVlZGVkCisvLyBiZWNhdXNlIHNvbWV0aW1lcyB0aGUgRkNQIHJlbGllcyBvbiBzb21l
IENTUyByZXNvdXJjZXMgdG8gZmluaXNoIGxvYWRpbmcuCithc3luYyBmdW5jdGlvbiBhc3NlcnRG
aXJzdENvbnRlbnRmdWxQYWludCh0KSB7CisgIGlmICh0KQorICAgIGF3YWl0IHdhaXRUaW1lKHQp
OworICBhd2FpdCB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKG51bUZyYW1lc1dhaXRpbmcpOworICBh
c3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ2ZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQnKS5sZW5ndGgsIDEsICdFeHBlY3RlZCBmaXJzdCBjb250ZW50ZnVsIHBhaW50IG5v
dCBmb3VuZC4gJyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RfZmNwKGxhYmVsKSB7CisgIGNvbnN0IHN0
eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKKyAgZG9jdW1lbnQuaGVhZC5h
cHBlbmRDaGlsZChzdHlsZSk7CisgIHJldHVybiBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Cisg
ICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBh
aW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgY29uc3QgbWFpbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdtYWluJyk7CisgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0
Q29udGVudGZ1bFBhaW50KCk7CisgICAgbWFpbi5jbGFzc05hbWUgPSAncHJlRkNQJzsKKyAgICBh
d2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgbWFpbi5jbGFzc05hbWUg
PSAnY29udGVudGZ1bCc7CisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsK
KyAgfSwgbGFiZWwpOworfQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJj
ZXMvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMSBAQAorVGhlIHRl
c3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRv
cnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dp
dGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2Ny
aXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9k
aWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyBy
ZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xl
LnN2ZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2Np
cmNsZXMucG5nCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9yZXNvdXJj
ZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWlu
dC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzCkluZGV4OiBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmct
YXBpcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDEzIEBACitCYXNpYyBJbnRlcmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQZXJmb3JtYW5jZVBhaW50VGltaW5n
CitQQVNTIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaXMgZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5wcm90b3R5cGUudG9KU09OIGlzIGRlZmluZWQuCitQQVNTIG5ldyBQZXJm
b3JtYW5jZVBhaW50VGltaW5nKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogZnVuY3Rpb24g
aXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBQZXJmb3JtYW5jZVBhaW50VGlt
aW5nKCknKS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGlt
aW5nLWFwaXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBA
Cis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVz
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKK1BhaW50IEFQSSBzaG91bGQgYmUgYXZhaWxh
YmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4vc2FuZGJv
eGVkIGZyYW1lcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgcmVjZWl2
ZWRFdmVudC5zb3VyY2UgaXMgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNhbmRib3hlZCcp
LmNvbnRlbnRXaW5kb3cKK1BBU1MgcmVjZWl2ZWRFbnRyeS5uYW1lIGlzICdmaXJzdC1jb250ZW50
ZnVsLXBhaW50JworUEFTUyBkaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUgaXMg
ZmFsc2UKK1BBU1MgQXJyYXkuaXNBcnJheShub25TYW5kYm94U3VwcG9ydGVkVHlwZXMpIGlzIHRy
dWUKK1BBU1MgQXJyYXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVkVHlwZXMpIGlzIHRydWUKK1BB
U1MgZGlkUmVjZWl2ZU1lc3NhZ2UgaXMgdHJ1ZQorUEFTUyBub25TYW5kYm94U3VwcG9ydGVkVHlw
ZXMuaW5jbHVkZXMoInBhaW50IikgaXMgdHJ1ZQorUEFTUyBzYW5kYm94U3VwcG9ydGVkVHlwZXMu
aW5jbHVkZXMoInBhaW50IikgaXMgZmFsc2UKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJz
dC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBmaXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJh
bWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKworCitURVhUCkluZGV4OiBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFt
ZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY3IEBACis8IURPQ1RZUEUgSFRNTD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2Pgor
ICAgIDxpZnJhbWUgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGlkPSJub25TYW5kYm94ZWQiIHNy
Yz0iLi9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwiPjwvaWZyYW1lPgorPGRpdiBjbGFzcz0i
c3BhY2VyIj48L2Rpdj4KKzxpZnJhbWUgaWQ9InNhbmRib3hlZCIgc3JjPSIuL3Jlc291cmNlcy9m
Y3Atc3ViZnJhbWUuaHRtbCIgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyI+PC9pZnJhbWU+Cis8ZGl2
IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorCisgICAgVEVYVAorCis8c2NyaXB0PgorZGVzY3JpcHRp
b24oIlBhaW50IEFQSSBzaG91bGQgYmUgYXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMg
YnV0IG5vdCB0byBjcm9zcy1vcmlnaW4vc2FuZGJveGVkIGZyYW1lcy4iKTsKK3dpbmRvdy5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5kaWRSZWNlaXZlTWVzc2FnZSA9IGZhbHNlOworCit3
aW5kb3cub25sb2FkID0gYXN5bmMgKCkgPT4geworICAgIGNvbnN0IHNhbmRib3hlZCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdzYW5kYm94ZWQnKTsKKyAgICBjb25zdCBub25TYW5kYm94ZWQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJyk7CisgICAgY29uc3QgZmNw
TWVzc2FnZVByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgd2luZG93
Lm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5yZWNlaXZlZEV2ZW50
ID0gZXZlbnQ7CisgICAgICAgICAgICBjb25zdCBpc0Zyb21TYW5kYm94ZWQgPSBldmVudC5zb3Vy
Y2UgPT09IHNhbmRib3hlZC5jb250ZW50V2luZG93OworICAgICAgICAgICAgY29uc3QgbWVzc2Fn
ZSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAgICAgICAgICBzd2l0Y2ggKG1lc3NhZ2Uu
dHlwZSkgeworICAgICAgICAgICAgICAgIGNhc2UgJ3N1cHBvcnRlZCc6CisgICAgICAgICAgICAg
ICAgICAgIGlmIChpc0Zyb21TYW5kYm94ZWQpCisgICAgICAgICAgICAgICAgICAgICAgICB3aW5k
b3cuc2FuZGJveFN1cHBvcnRlZFR5cGVzID0gbWVzc2FnZS5zdXBwb3J0ZWQ7CisgICAgICAgICAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5ub25TYW5kYm94
U3VwcG9ydGVkVHlwZXMgPSBtZXNzYWdlLnN1cHBvcnRlZDsKKyAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSAncmVjZWl2ZWQnOgorICAgICAgICAgICAgICAg
ICAgICB3aW5kb3cuZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1lID0gaXNGcm9t
U2FuZGJveGVkOworICAgICAgICAgICAgICAgICAgICB3aW5kb3cucmVjZWl2ZWRFbnRyeSA9IG1l
c3NhZ2UuZW50cnk7CisgICAgICAgICAgICAgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlID0gdHJ1
ZTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ3JlY2VpdmVkRXZlbnQuc291cmNlJywg
ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKS5jb250ZW50V2luZG93Iik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCdyZWNlaXZlZEVudHJ5Lm5hbWUnLCAiJ2Zp
cnN0LWNvbnRlbnRmdWwtcGFpbnQnIik7CisgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsK
KyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH07Cisg
ICAgfSk7CisKKyAgICBzYW5kYm94ZWQuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgicGFpbnQi
LCAiKiIpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBub25TYW5kYm94ZWQuY29udGVu
dFdpbmRvdy5wb3N0TWVzc2FnZSgicGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRGb3JGQ1Ao
KTsKKyAgICBhd2FpdCBmY3BNZXNzYWdlUHJvbWlzZTsKKyAgICBzaG91bGRCZUZhbHNlKCdkaWRS
ZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUnKTsKKyAgICBzaG91bGRCZVRydWUoJ0Fy
cmF5LmlzQXJyYXkobm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzKScpOworICAgIHNob3VsZEJlVHJ1
ZSgnQXJyYXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVkVHlwZXMpJyk7CisgICAgc2hvdWxkQmVU
cnVlKCdkaWRSZWNlaXZlTWVzc2FnZScpOworICAgIHNob3VsZEJlVHJ1ZSgnbm9uU2FuZGJveFN1
cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnc2Fu
ZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgdGVzdFBhc3NlZCgi
UGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBm
aXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1l
Iik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdv
cmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorUGFpbnQgQVBJIHNo
b3VsZCBub3QgYmUgYXZhaWxhYmxlIGluIHdvcmtlciBjb250ZXh0cy4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRy
eVR5cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIHRydWUKK1BBU1Mgd29ya2VyU3VwcG9ydGVkRW50
cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyBmYWxzZQorUEFTUyB3b3JrZXJTdXBwb3J0ZWRF
bnRyeVR5cGVzLmluY2x1ZGVzKCJtYXJrIikgaXMgdHJ1ZQorUEFTUyBQZXJmb3JtYW5jZU9ic2Vy
dmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNsdWRlICdwYWludCcgZm9yIHdvcmtl
cnMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCklu
ZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2Vy
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRp
bWluZy13aXRoLXdvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50IEFQSSBzaG91bGQgbm90IGJlIGF2YWls
YWJsZSBpbiB3b3JrZXIgY29udGV4dHMuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
Citjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKCIuL3Jlc291cmNlcy93b3JrZXIuaHRtbCIpOwor
d29ya2VyLm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICB3aW5kb3cud29ya2VyU3VwcG9ydGVk
RW50cnlUeXBlcyA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAgc2hvdWxkQmVUcnVlKCdQ
ZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50Iikn
KTsKKyAgICBzaG91bGRCZUZhbHNlKCd3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVz
KCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVUcnVlKCd3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVz
LmluY2x1ZGVzKCJtYXJrIiknKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVy
LnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNsdWRlICdwYWludCcgZm9yIHdvcmtlcnMi
KTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK3dvcmtlci5wb3N0TWVzc2FnZSgic3RhcnQi
KTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZv
cm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNl
cnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDEwIEBACitQQVNTIGRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCBpcyB0
cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKS5sZW5ndGggaXMgMQorUEFTUyBwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikubGVuZ3Ro
IGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1
bC1wYWludCIsICJwYWludCIpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeVR5cGUoInBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBm
aXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorVEVYVDIKSW5kZXg6
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1j
b250ZW50ZnVsLXBhaW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Ut
b2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiRW5zdXJlIFBlcmZvcm1hbmNlT2JzZXJ2ZXJzIGFyZSBu
b3RpZmllZCBvbmNlIGZvciBmaXJzdC1jb250ZW50ZnVsLXBhaW50LiIpOword2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOworIAorKGFzeW5jICgpID0+IHsKKyAgICB3aW5kb3cuZGlkUmVjZWl2
ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gZmFsc2U7CisgICAgd2luZG93LnN0YXJ0VGltZSA9IHBl
cmZvcm1hbmNlLm5vdygpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBhd2FpdCBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9y
bWFuY2VPYnNlcnZlcihlbnRyeUxpc3QgPT4geworICAgICAgICAgICAgd2luZG93LmVudHJ5TGlz
dCA9IGVudHJ5TGlzdDsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmll
cygpLmxlbmd0aCcsICIxIik7CisgICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0LmdldEVu
dHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAxKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5sZW5n
dGgnLCAiMSIpOworICAgICAgICAgICAgd2luZG93LmZjcEVudHJ5ID0gZW50cnlMaXN0LmdldEVu
dHJpZXMoKVswXTsKKyAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVGaXJzdENv
bnRlbnRmdWxQYWludCcpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5Lm5hbWUnLCAn
ImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiJyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50
cnkuZW50cnlUeXBlJywgJyJwYWludCInKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgnZmNw
RW50cnkuc3RhcnRUaW1lID4gd2luZG93LnN0YXJ0VGltZScpOworICAgICAgICAgICAgc2hvdWxk
QmVUcnVlKCdmY3BFbnRyeS5zdGFydFRpbWUgPCBwZXJmb3JtYW5jZS5ub3coKScpOworICAgICAg
ICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5LmR1cmF0aW9uJywgIjAiKTsKKyAgICAgICAgICAgIGRp
ZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCA9IHRydWU7CisgICAgICAgICAgICByZXNvbHZl
KCk7CisgICAgICAgIH0pOworCisgICAgICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6
IFsncGFpbnQnXX0pOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICdURVhUJzsK
KyAgICB9KQorICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQyJzsKKyAgICBhd2Fp
dCB3YWl0Rm9yRkNQKCk7CisgICAgc2hvdWxkQmVUcnVlKCdkaWRSZWNlaXZlRmlyc3RDb250ZW50
ZnVsUGFpbnQnKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllcygpLmxlbmd0
aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImZp
cnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHNob3VsZEJlKCdwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IiwgInBhaW50
IikubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNl
T2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXNuJ3QgZmlyZWQgYWdh
aW4gIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KSgpOworCisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3At
c3ViZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdD4KKyAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3Qg
PT4geworICAgICAgICBsaXN0LmdldEVudHJpZXMoKS5mb3JFYWNoKGVudHJ5ID0+IHsKKyAgICAg
ICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3R5cGU6ICdy
ZWNlaXZlZCcsIGVudHJ5fSksICcqJyk7CisgICAgICAgIH0pOworICAgIH0pOworCisgICAgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJwYWludCJdfSk7CisgICAgd2luZG93Lm9ubWVz
c2FnZSA9IGUgPT4geworICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKEpTT04uc3Ry
aW5naWZ5KHtzdXBwb3J0ZWQ6IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBl
cywgdHlwZTogJ3N1cHBvcnRlZCd9KSwgJyonKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5l
clRleHQgPSAiVEVYVCI7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMv
cGFpbnQtYXBpLXV0aWxzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNSBAQAorYXN5bmMgZnVuY3Rpb24gd2FpdEZvckZDUCgpCit7
CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUo
KCkgPT4gcmVzb2x2ZSgpKSk7CisgICAgcmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRy
aWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoID09IDE7Cit9ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWlu
Zy1hcGkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAoraWYgKHNlbGYuaW1wb3J0
U2NyaXB0cykKKyAgICBpbXBvcnRTY3JpcHRzKCIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiKTsKKworaWYgKHNlbGYud2luZG93KQorICAgIGRlc2NyaXB0aW9uKCJCYXNpYyBJbnRlcmZh
Y2UgdGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuIik7CisKK2RlYnVnKCJQZXJmb3JtYW5jZVBh
aW50VGltaW5nIik7CitzaG91bGRCZURlZmluZWQoIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmciKTsK
K3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUudG9KU09O
YCk7CitzaG91bGRUaHJvdyhgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKWApOworCitpZiAo
c2VsZi5pbXBvcnRTY3JpcHRzKQorICAgIGZpbmlzaEpTVGVzdCgpOwpJbmRleDogTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACitzZWxmLm9ubWVzc2FnZSA9ICgpID0+
IHsKKyAgICBzZWxmLnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KFBlcmZvcm1hbmNlT2JzZXJ2
ZXIuc3VwcG9ydGVkRW50cnlUeXBlcykpOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBm
aWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmcKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCitpbWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNRQUFBQklDQVlBQUFD
ZU5sZTVBQUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0Zw
ckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJo
CkIvK0FIbnJ3WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExT
TlBXQUJPUU54MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRX
dzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQ
T1U1NWVNRzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVa
c2JJCkVMMVBrS2E3ek82cllxR2NUdllPa0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80
bUhocE9iRWhqMGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FP
TXBrWVlCeldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1H
Z3lhRFVoUUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQx
R2szVHorCktDSnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdo
N1gwOGpqYzAxZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5
bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZK
UG1WZmxQWHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpI
NkpOVmdZSnE4CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitU
M2l1ZWZLQUl2Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnEx
U05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJP
WlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4
L1VYQWVJdUpBQUFBCkNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUdaMGxFUVZSb0JlMmFVVzlW
UlJESGQ2OHRFVkpMVzJLQ3hDWStpZ1FEb1lrS2ZnSjgKOU1rbkV2RWR2b0Nta1MrQTcycENRc0tU
ai9JSkJDU0IxTlNvUEpxVTFDYWtnTmlBYWVOZGYvK1pPVDIzNTk3U0Z1N2w2VXl5NSt6TwoyWjJa
blozZG5abDdjNXJQSmUwS1NzcHBocDc3VTBtUHFEL2RIRlVSeUp1WVJKOEQ5SmtHODR6NlE5NjlY
M3M2TnFwampYYWpLU0xkCkVHUWY5UldJTyttU3pzTDFCSzFaeWlHS2hGamx1VVNIWHhoem5mWlRF
eU9udytEWFE3Q085ZVF4RUo0amtGaVBRVkRFbG0xd0taL3kKUHBkS09jM2JoYkFQelFkRFRiaDhr
L2VWbFBNUDFpT25JN1FmVU4rZ0ROWlk3bDh5MTBwS2t3d1paeUN6TG1jUjRtdmFwNHh3U2I5Qwo3
eWJ0aFZUeUg3ei9EdnpCbE10Um1KNWt6R253eHdOL0Y2RytZc3gxMm9mNExvR2VVUHExMVJDb1hp
S3R1MXFsZk1mamMyb3NYYjZHCkFKZkIzNkVObW1KOXJGWFhoUk9VTkllQUY2SHhHUzJZNSsraGNU
N0d6ZkNXYlcwVnFpRlFaYmdQYlZEcS9zeUFEeWczR1BjRjczc20KUUxKbEZDSE5WTGJSNVMyQmhK
T3RTYlBDdWMybDlDN05iMm1mb2R5RzFvZEJweEtxbW9LTVpCTTAzMG1LcEFhNnYvTTRDcGR2S0Jl
RAp3Q3pNdFR3cjZnSFVoTlFTQlllcXBtVS9DT3BlS3AyUDZYQ1pjc0ZwZDk0REwxN2lxZVZ6V3Bw
U05NWkJqUnZSZ21heUNhTjFsekJ2CjAyZUtiK3lndEJiOXR3b0RzZ2YwVFdVdHhrdzVEV2dsYkVt
MHhjT1hYTnBVMlNLUXR2YWJJRmRaYzJ5R1pTcW1tVXZnMzJIZ1g1VEgKTWFpYVBjMGR3Vmxxckdp
SVZzcVhuRFk4bkJjOGpYZTE3UE81K0FHRzNiQ2JVdm1SRGpkTXhkS01DTGs5N01oOUZ4MDYwSDRM
bXZkVAo3djdFRzV2S24yRG8ybjJ5cDBleVFzMUNoZ2l3dFkyNUdiQVFXcDcvVkJrU2lKWm9Bc1lE
clJoUElTUkRTUjIvRHRnTmR1aWQ4cTF0CnUwa0dYQzJUQmd3RHN0SE1uTzVGUERoR0VtZWI4MTVC
ZXpQU2tPNG13VGw3SnM0WmdlK21zSG4vTXFSbkoyaERMbmpaNlcvVTk2ZU8KWDVSOHM1TjFFZlFk
Sk5WMW9hM29vbHJmb1QxRTgwbndFSy9GNEMxdTJKQnViVjJVUlVkNnZoVnNSNkdaNW95Y2gzZ2Fi
MlNRTElFOQpFYjI1bTZ5bUU5alBoU2FaNGJSRmV5TjRMVGhKOHh6OElnRXg2MGk3S0ZWZDkvWklu
K3MrWlhnNnVBeGpyaEYzSlhScmU5c1BxVkhLClU5OS9GVTk1QVpzYUdpWHJ2ZEhHcUFYeTlHVGwr
RE84L2RZMjFNZ2U0aUZlNHVtZ0syUlRRN28wQVhPdVZJbVRXOVdSd1Q0M0QzZzYKdUF5K3kvQ0JI
VTZhbEg3N3VqWEZoeUcvUkZ2ZWhRRHZVaEF5WU5TS0RuUzV5VlhGVjdaZW96ZnE2c0xXZ2V3bW82
RGdnQTdHYVZOZApNWWRjUHZBY2JUbGdjcHg4RGxTR0NLSTVHVHpFNnpnSHNvSUJjWnZXd2ZnczJG
NXhwdmpBQXZmMFJxRXArVjVoeU1FcktUSXhycEpsCkhnSHQ3dUxHNzhwNXg0NDZ4NUJZL3JPOHhN
Y21udlYvNllkOGRxZVo4Yk5MOXpjb0xzQnZqdmRoZUsxSVE1SXRUbWFGS2tLWlEwNDEKVFZCZVUy
VklJRnFpQ1JnUHNSZFBnV1NJQThmRGtTUG11V1ZDRmZQa2NNak5zN05yaFlHMFhodzBWdWVPL0tE
N2tCTHRNL0JUV0tRTgpwUURTZzR1SU91U2pQR0NBYnZ6ekREaUdTM0FCM0NwdCtkVnk4dVd3YS9u
MklweTBMNXVaNGozQitEK2gvV1hRdm0yOGpLZEZzMDQzCkJOSU1kUHR1TUJnZ2Jpb0tnOHk5bEpB
ZUJ2a01GUWJKVnhLNEtYcTk5MWxwOHcxNnlJQ1hmRElSQnBWRXRBc1BnVWV4dFhjUkF1bVQKaUl2
UkRBWDFLVzVTb0tnNHFyQTlYemhRRk0zK1FCRWtFTHg2SmlZOTlZQ1dUbXVwam9pb1diRE9Gbkd5
STNLNXluZnRDSjFUeTlTVgpPSkRHL29taW0xdTRaUXE3MWtMcHEweE11MGtSQmpZVG12RW9RN3ky
aXNDMmIrYUhmTjExZUcyZmJGaUUrQzIrUHkvWjhCSGYzNGVoCmx1VXV4c3R1Mm51eXdjYkhRM2Fn
KzBZQnBHWU00VWpIMkJYenZIU005ZVlxNGdTMlF5L1NNYjZiOXB5T01XcnhjRzE1cUNRUFFNc0EK
SDRyODhJemJXZXhZY0FmUElsOFpNQmVsSjZ5OHJ5Y25kcGV3R3JCa0lVdmZxOHFNdkk0UWlocDBE
QXdHRjNpQ1BwTjArSmQrc2hWaApkNGF0RnJWei81SDM2Tm4yZzNpOTdKS3RtVjVlV1k1eDBKSVpq
a2ViWTlRQ1N4dHV3TDdjVmIweTN6YkgyTnpLdFUxVnRUYkg2TGF6Ci9kT3RUSDVVbTJQY1hrdTlY
OW9jWTY4MnRxdTNPY2J0Tk5QRXU2UFI1aGliZXFuYmJZNngxc1ZlYW0yT3NkWldtMk9zZFRHNDFq
VjAKbTJQczEwNmJZK3pYU1kxcGM0eTFMcnhXaGVKdGpqSE9GRXZQS1kvVSsyZVVOc2RJaW5mZ0g1
cmFIR1AvbitMOGQ2OGxRdjVYbW1QVQpYek5HOTdmQi93RlpiZzA1RUVOdU53QUFBQUJKUlU1RXJr
SmdnZz09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396515</attachid>
            <date>2020-04-15 02:03:27 -0700</date>
            <delta_ts>2020-04-16 04:48:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200415120324.patch</filename>
            <type>text/plain</type>
            <size>147989</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDExMyBAQAorMjAyMC0wNC0xMyAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWlu
dC10aW1pbmcvI2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuCisgCisgICAgICAgIFdoZW4gdGhlIHBh
Z2UgdXBkYXRlcyB0aGUgcmVuZGVyaW5nLCBhbmQgdGhlIGRvY3VtZW50IGhhcyBjb250ZW50ZnVs
IHBhaW50YWJsZSBlbGVtZW50cywgY3JlYXRlIGEgZmlyc3QtY29udGVudGZ1bC1wYWludCBwZXJm
b3JtYW5jZSBlbnRyeS4KKworICAgICAgICBBZGRlZCB0aGUgbmVjZXNzYXJ5IElETHMsIHJ1bnRp
bWUgZmxhZywgYW5kIGNvbnRlbnRmdWxuZXNzIGNoZWNrcy4KKworICAgICAgICBVc2luZyB0aGUg
ZXhpc3RpbmcgUGFpbnRlZENvbnRlbnRSZXF1ZXN0IG1lY2hhbmlzbSBmb3Igd2Fsa2luZyB0aGUg
dHJlZSBvZiBub24tbGF5ZXIgZWxlbWVudHMuCisgICAgICAgIFRoZXJlIG1pZ2h0IGJlIHJhcmUg
ZWRnZSBjYXNlcyB3aGVyZSBjb21wdXRpbmcgY29udGVudGZ1bG5lc3Mgd291bGQgYmUgdG9vIGNv
c3RseSwgYW5kIEZDUCB3b3VsZCBiZSByZXBvcnRlZCBsYXRlLgorCisgICAgICAgIFRlc3RzOiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
YmFja2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Y2FudmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAg
ICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUu
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1k
aXNwbGF5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisg
ICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtdmlzaWJpbGl0eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC10ZXh0LWlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8u
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12
aWRlby1wb3N0ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9m
aXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3Jt
YW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sCisgICAgICAg
ICAgICAgICBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAorICAgICAgICAg
ICAgICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFp
bnRUaW1pbmcuaDogCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDoK
KyAgICAgICAgICAgICAgICBBZGQgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNl
LgorCisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChX
ZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFi
bGVkIGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgUGFpbnRUaW1pbmdFbmFibGVkIHJ1bnRp
bWUgZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVT
dHJpbmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNQYWludCBjb25zdCk6CisgICAgICAgICAgICAgICAg
QWRkIGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQg
ZW50cmllcy4KKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKToK
KyAgICAgICAgICAgICAgICBBZGQgInBhaW50IiB0byBzdXBwb3J0ZWRFbnRyeVR5cGVzIHdoZW4g
aW4gZWxpZ2libGUgYnJvd3NpbmcgY29udGV4dC4KKworICAgICAgICAqIHJlbmRlcmluZy9Db250
ZW50ZnVsUGFpbnRDaGVja2VyLmg6IAorICAgICAgICAqIHJlbmRlcmluZy9Db250ZW50ZnVsUGFp
bnRDaGVja2VyLmNwcDoKKyAgICAgICAgICAgICAgICBBZGQgbG9naWMgZm9yIGNvbXB1dGluZyB3
aGV0aGVyIGVsZW1lbnRzIGFyZSBjb250ZW50ZnVsICYgcGFpbnRhYmxlLCBhcyBwZXIgc3BlYy4K
KworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOiAKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoUGFpbnRlZENvbnRlbnRSZXF1ZXN0KToKKyAg
ICAgICAgICAgICAgICBFeHRlbmRlZCBQYWludGVkQ29udGVudFJlcXVlc3QgdG8gcXVlcnkgZm9y
IGNvbnRlbnRmdWwtcGFpbnQgZWxpZ2liaWxpdHkuCisKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jl
bmRlclN1cHBvcnQ6Omhhc1JlbmRlcmFibGVDaGlsZHJlbiBjb25zdCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuaDoKKyAgICAgICAgICAgICAgICBVdGlsaXR5IHRvIHNl
ZSBpZiBhbiBTVkcgcm9vdCBoYXMgYW55IHJlbmRlcmFibGUgY2hpbGRyZW4uCisKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGxM
YXllcjo6aGFzTG9hZGVkQ2FjaGVkSW1hZ2UgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9GaWxsTGF5ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6Omhhc1BhaW50YWJsZUNhY2hlZEJh
Y2tncm91bmRJbWFnZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmg6CisgICAgICAgICAgICAgICAgQWRkIGhlbHBlciBmb3IgZmluZGluZyBvdXQgaWYgYmFj
a2dyb3VuZCBjb250YWlucyBsb2FkZWQgY2FjaGVkIGltYWdlcy4KKworICAgICAgICAqIHBhZ2Uv
RG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpyZXBvcnRQYWludFRpbWluZ0lmTmVlZGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpzdXBwb3J0c1BhaW50VGltaW5nKToKKyAgICAgICAgICAgICAgICBNYXJr
IEZDUCBvbmNlIGZvciBlbGlnaWJsZSBkb2N1bWVudHMuCisKK2AgICAgICAgKiBwYWdlL1BhZ2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6Cisg
ICAgICAgICAgICAgICAgTWFyayBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGFmdGVyIHJlbmRlcmlu
ZywgYXMgaW4KKyAgICAgICAgICAgICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211
bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjdXBkYXRlLXRoZS1yZW5kZXJpbmcuIAorCiAyMDIwLTA0
LTEzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBCYWNrZ3Jv
dW5kIGltYWdlcyBzaG91bGQgZmlndXJlIGludG8gdmlzdWFsbHkgbm9uIGVtcHR5IGhldXJpc3Rp
YwpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC05MzYsNiArOTM2LDcgQEAg
c2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2
ZXJDYWxsYmFjay5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRs
CiAgICAgcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsCisgICAgcGFnZS9QZXJmb3JtYW5j
ZVBhaW50VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwK
ICAgICBwYWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFu
Y2VUaW1pbmcuaWRsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9u
IDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcg
Y29weSkKQEAgLTkyNiw2ICs5MjYsNyBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJD
b3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVy
Zm9ybWFuY2VQYWludFRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlU2Vy
dmVyVGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlk
bCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIxMjEsNiArMjEyMSw3IEBAIHJlbmRl
cmluZy9CcmVha0xpbmVzLmNwcAogcmVuZGVyaW5nL0NTU0ZpbHRlci5jcHAKIHJlbmRlcmluZy9D
bGlwUmVjdC5jcHAKIHJlbmRlcmluZy9Db21wbGV4TGluZUxheW91dC5jcHAKK3JlbmRlcmluZy9D
b250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAogcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmNwcAogcmVu
ZGVyaW5nL0VsbGlwc2lzQm94LmNwcAogcmVuZGVyaW5nL0V2ZW50UmVnaW9uLmNwcApAQCAtMzE5
OSw2ICszMjAwLDcgQEAgSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCiBKU1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHAKIEpTUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAKK0pTUGVyZm9ybWFuY2VQYWludFRpbWluZy5jcHAK
IEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VTZXJ2ZXJUaW1p
bmcuY3BwCiBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjYwMDQ1KQor
KysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MDUzLDYgKzQwNTMsNyBAQAogCQlDOUY4N0NGRTFCMjhGNDBFMDA5NzlC
ODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDOUY4N0NGRDFCMjhFNUY2MDA5NzlCODMgLyogTWVkaWFTZXNzaW9u
RXZlbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQ0EzQkY2N0UxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQTNCRjY3RDEwRDk5QkFFMDBF
NkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlDQTZDMTUzMDIyMEI5OENDMDA1NUNCRkMgLyogSlNWYWx1ZUlu
V3JhcHBlZE9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTMxQUUzQjgxRkI4MEVBRTAwRjVFRkIyIC8qIEpTVmFsdWVJbldyYXBwZWRPYmplY3Qu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDQTdF
OUI0OTI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0E3RTlCNDcyNDM2MURDNTAw
NEU4OUY2IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIuaCAqLzsgfTsKIAkJQ0FFOUY5MTAxNDY0
NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENBRTlGOTBFMTQ2NDQxRjAwMEMyNDVCMCAvKiBD
U1NBc3BlY3RSYXRpb1ZhbHVlLmggKi87IH07CiAJCUNCMzhGRDUyMUNDRjkzOTQwMDU5MkEzRiAv
KiBKU1BlcmZvcm1hbmNlRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENCMzhGRDRFMUNDRjkzN0UwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50
cnkuaCAqLzsgfTsKIAkJQ0IzOEZENUIxQ0QyMzI1QjAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0IzOEZENTkxQ0QyMzE0NTAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5oICovOyB9OwpAQCAtMTM4MTYsNiArMTM4MTcsOCBAQAogCQlDQTA5MUQ4NjIzQ0Y5MDc4
MDBBRDQzNDYgLyogU3R5bGVJbWFnZVNldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUlt
YWdlU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EwOTFEODkyM0NGOTA4
ODAwQUQ0MzQ2IC8qIFN0eWxlSW1hZ2VTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVJbWFnZVNl
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTE2MzVEQzIwNzJFNzY5MDBFN0Qy
Q0UgLyogUmVmZXJyZXJQb2xpY3kuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUmVmZXJyZXJQb2xpY3kuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlD
QTE5MzNENTI0MDdENjQwMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUNBMTkzM0Q4MjQwN0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGlt
aW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUz
IC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNjcm9sbEFuaW1hdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Ez
QkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNBNTJCQUU1MjNEMEFGMTYwMERFMEI4NCAvKiBTdHlsZUN1cnNvckltYWdlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlQ3Vyc29ySW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTM4MjUsNiArMTM4MjgsOCBAQAogCQlDQTZDMTUyRjIyMEI0QTU1
MDA1NUNCRkMgLyogSlNJREJSZXF1ZXN0Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTSURCUmVxdWVzdEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBNkMxNTM3MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvckN1c3Rv
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0lEQkN1cnNvckN1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNkMxNTM4MjIwRDFFQjMw
MDU1Q0JGQyAvKiBKU0lEQkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0lEQkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBN0U5QjQ3MjQzNjFEQzUwMDRFODlGNiAvKiBD
b250ZW50ZnVsUGFpbnRDaGVja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENvbnRlbnRmdWxQYWludENoZWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
Q0E3RTlCNDgyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGVudGZ1bFBhaW50Q2hlY2tl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBRTlGOTBEMTQ2NDQxRjAwMEMy
NDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENTU0FzcGVjdFJhdGlvVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDQUU5RjkwRTE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEz
RiAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFBlcmZvcm1hbmNlRW50cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMjA5NTksNiArMjA5NjQsOCBAQAogCQkJCUE1QTk5MzNBMUUzN0ZBRkQwMDVCNUU0RCAvKiBQ
ZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCAqLywKIAkJCQlBNUE5OTMzQjFFMzdGQUZE
MDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oICovLAogCQkJCUE1QTk5
MzNDMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCAq
LywKKwkJCQlDQTE5MzNENTI0MDdENjQwMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWlu
Zy5oICovLAorCQkJCUNBMTkzM0Q4MjQwN0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50
VGltaW5nLmlkbCAqLywKIAkJCQk4NjUxMkVEQjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZy5jcHAgKi8sCiAJCQkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8q
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCAqLywKIAkJCQk4NjUxMkVERDE1NEEyQUVGMDBB
OTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgKi8sCkBAIC0yODA0Miw2ICsy
ODA0OSw4IEBACiAJCQkJQkNERDQ1NEQxMjM2Qzk1QzAwOUE3OTg1IC8qIENvbHVtbkluZm8uaCAq
LywKIAkJCQlCQ0VBNDgxMzA5N0Q5MzAyMDA5NEM5RTQgLyogQ29tcGxleExpbmVMYXlvdXQuY3Bw
ICovLAogCQkJCUU0QTFBQzc4MjJGQUZENTAwMDE3Qjc1QiAvKiBDb21wbGV4TGluZUxheW91dC5o
ICovLAorCQkJCUNBN0U5QjQ4MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVj
a2VyLmNwcCAqLywKKwkJCQlDQTdFOUI0NzI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBh
aW50Q2hlY2tlci5oICovLAogCQkJCTkzOTJGMTRGMEFEMTg2MjMwMDY5MUJENCAvKiBDb3VudGVy
Tm9kZS5jcHAgKi8sCiAJCQkJOTM5MkYxNEIwQUQxODYxQjAwNjkxQkQ0IC8qIENvdW50ZXJOb2Rl
LmggKi8sCiAJCQkJMEY1M0ZCODEyMTNCMUJCODAwQzQwRDM0IC8qIENTU0ZpbHRlci5jcHAgKi8s
CkBAIC0yOTc0Niw2ICsyOTc1NSw3IEBACiAJCQkJQTE0OTc4NkYxQUJBRjMzODAwQ0VGN0U0IC8q
IENvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDRENEREM2MjNEODBBMUMwMEJB
MzRBMSAvKiBDb250ZW50RmlsdGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQwOTBG
RDFBQTUxRTQ4MDA5MTE5MUEgLyogQ29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlDQTdFOUI0OTI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50
Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUM5QzJEQjUyMjQxQTY3QjAwOTk2QjBCIC8q
IENvbnRlbnRSdWxlTGlzdFJlc3VsdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QzQ3MURDMTJG
OTI1QkQwMDg2MzU0QiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3kuaCBpbiBIZWFkZXJzICovLAog
CQkJCUNFNUZBMjU1MjA5RTQ4QzUwMDUxRDcwMCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lDbGll
bnQuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQ
ZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCShyZXZpc2lvbiAyNjAwNDUp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSwxMSBAQAogI2luY2x1ZGUgIkpTRE9NQmlu
ZGluZy5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAiSlNQZXJm
b3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIK
ICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJm
b3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRl
ICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAog
SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+JiYgZW50cnkpCiB7CisgICAg
aWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkKKyAgICAgICAgcmV0dXJuIGNy
ZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3Zl
KGVudHJ5KSk7CisKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZW50cnkp
KQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
PihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjYwMDQ1
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xNzksNiArMTc5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IG1hY3JvKFBlcmZvcm1hbmNlTWVhc3VyZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2
ZXIpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0KSBcCisgICAgbWFj
cm8oUGVyZm9ybWFuY2VQYWludFRpbWluZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAogICAgIG1h
Y3JvKFBvaW50ZXJFdmVudCkgXApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lv
biAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiQ29tcG9zaXRpb25FdmVudC5oIgogI2lu
Y2x1ZGUgIkNvbnN0YW50UHJvcGVydHlNYXAuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQ
b2xpY3kuaCIKKyNpbmNsdWRlICJDb250ZW50ZnVsUGFpbnRDaGVja2VyLmgiCiAjaW5jbHVkZSAi
Q29va2llSmFyLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaCIKICNp
bmNsdWRlICJDdXN0b21FbGVtZW50UmVnaXN0cnkuaCIKQEAgLTE0OCw2ICsxNDksNyBAQAogI2lu
Y2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlBhZ2VUcmFuc2l0aW9uRXZlbnQuaCIKICNp
bmNsdWRlICJQYWludFdvcmtsZXRHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNl
LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Mb2NhbGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVNjcmVlbi5oIgpAQCAtMzE0MSw2
ICszMTQzLDM0IEBAIGJvb2wgRG9jdW1lbnQ6OmlzTGF5b3V0VGltZXJBY3RpdmUoKSBjb24KICAg
ICByZXR1cm4gdmlldygpICYmIHZpZXcoKS0+bGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0UGVuZGlu
ZygpOwogfQogCitib29sIERvY3VtZW50OjpzdXBwb3J0c1BhaW50VGltaW5nKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5wYWlu
dFRpbWluZ0VuYWJsZWQoKSAmJiBzZWN1cml0eU9yaWdpbigpLmNhbkFjY2Vzcyh0b3BPcmlnaW4o
KSk7Cit9CisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI3JlZi1mb3It
bWFyay1wYWludC10aW1pbmcKK3ZvaWQgRG9jdW1lbnQ6OnJlcG9ydFBhaW50VGltaW5nSWZOZWVk
ZWQoKQoreworICAgIGlmIChtX2RpZFJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KQorICAgICAg
ICByZXR1cm47CisKKyAgICBpZiAoIXN1cHBvcnRzUGFpbnRUaW1pbmcoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgaWYgKCFkb21XaW5kb3coKSB8fCAhdmlldygpKQorICAgICAgICByZXR1cm47
CisKKyAgICAvLyBUbyBtYWtlIHN1cmUgd2UgZG9uJ3QgcmVwb3J0IHBhaW50IHdoaWxlIHRoZSBs
YXllciB0cmVlIGlzIHN0aWxsIGZyb3plbi4KKyAgICBpZiAoIXZpZXcoKS0+aXNWaXN1YWxseU5v
bkVtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghQ29udGVudGZ1bFBhaW50Q2hl
Y2tlcjo6cXVhbGlmaWVzRm9yQ29udGVudGZ1bFBhaW50KCp2aWV3KCkpKQorICAgICAgICByZXR1
cm47CisKKyAgICBkb21XaW5kb3coKS0+cGVyZm9ybWFuY2UoKS5yZXBvcnRGaXJzdENvbnRlbnRm
dWxQYWludCgpOworICAgIG1fZGlkUmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQgPSB0cnVlOwor
fQorCiBFeGNlcHRpb25Pcjx2b2lkPiBEb2N1bWVudDo6d3JpdGUoRG9jdW1lbnQqIHJlc3BvbnNp
YmxlRG9jdW1lbnQsIFNlZ21lbnRlZFN0cmluZyYmIHRleHQpCiB7CiAgICAgaWYgKG1fYWN0aXZl
UGFyc2VyV2FzQWJvcnRlZCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCShyZXZpc2lvbiAyNjAw
NDUpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
MTAzNSw2ICsxMDM1LDggQEAgcHVibGljOgogCiAgICAgYm9vbCBzaG91bGREZWZlckFzeW5jaHJv
bm91c1NjcmlwdHNVbnRpbFBhcnNpbmdGaW5pc2hlcygpIGNvbnN0OwogCisgICAgYm9vbCBzdXBw
b3J0c1BhaW50VGltaW5nKCkgY29uc3Q7CisKICNpZiBFTkFCTEUoWFNMVCkKICAgICB2b2lkIHNj
aGVkdWxlVG9BcHBseVhTTFRyYW5zZm9ybXMoKTsKICAgICB2b2lkIGFwcGx5UGVuZGluZ1hTTFRy
YW5zZm9ybXNOb3dJZlNjaGVkdWxlZCgpOwpAQCAtMTU3NSw2ICsxNTc3LDcgQEAgcHVibGljOgog
CiAgICAgdm9pZCBzZXRIYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCgpIHsgbV9oYXNW
aXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCA9IHRydWU7IH0KICAgICBib29sIGhhc1Zpc3Vh
bGx5Tm9uRW1wdHlDdXN0b21Db250ZW50KCkgY29uc3QgeyByZXR1cm4gbV9oYXNWaXN1YWxseU5v
bkVtcHR5Q3VzdG9tQ29udGVudDsgfQorICAgIHZvaWQgcmVwb3J0UGFpbnRUaW1pbmdJZk5lZWRl
ZCgpOwogCiBwcm90ZWN0ZWQ6CiAgICAgZW51bSBDb25zdHJ1Y3Rpb25GbGFncyB7IFN5bnRoZXNp
emVkID0gMSwgTm9uUmVuZGVyZWRQbGFjZWhvbGRlciA9IDEgPDwgMSB9OwpAQCAtMjA0MSw2ICsy
MDQ0LDkgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9hcmVEZXZpY2VNb3Rpb25BbmRPcmllbnRh
dGlvblVwZGF0ZXNTdXNwZW5kZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV91c2VyRGlkSW50ZXJh
Y3RXaXRoUGFnZSB7IGZhbHNlIH07CisKKyAgICBib29sIG1fZGlkUmVwb3J0Rmlyc3RDb250ZW50
ZnVsUGFpbnQgeyBmYWxzZSB9OworCiAjaWYgQVNTRVJUX0VOQUJMRUQKICAgICBib29sIG1faW5I
aXRUZXN0aW5nIHsgZmFsc2UgfTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCShyZXZp
c2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzc2LDYgKzEzNzYsMTAgQEAgdm9pZCBQYWdlOjpkb0FmdGVyVXBkYXRlUmVuZGVy
aW5nKCkKICAgICAvLyBsYXlvdXQgdG8gYmUgdXAtdG8tZGF0ZS4gSXQgc2hvdWxkIG5vdCBydW4g
c2NyaXB0LCB0cmlnZ2VyIGxheW91dCwgb3IgZGlydHkgbGF5b3V0LgogCiAgICAgZm9yRWFjaERv
Y3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKKyAgICAgICAgZG9jdW1lbnQucmVwb3J0
UGFpbnRUaW1pbmdJZk5lZWRlZCgpOworICAgIH0pOworCisgICAgZm9yRWFjaERvY3VtZW50KFtd
IChEb2N1bWVudCYgZG9jdW1lbnQpIHsKICAgICAgICAgZG9jdW1lbnQudXBkYXRlSGlnaGxpZ2h0
UG9zaXRpb25zKCk7CiAgICAgfSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
Y3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlBlcmZvcm1h
bmNlRW50cnkuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZU9ic2VydmVyLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VQYWludFRpbWlu
Zy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQ
ZXJmb3JtYW5jZVRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVXNlclRpbWluZy5oIgpA
QCAtMTI0LDYgKzEyNSw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZv
cm0KICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNZWFzdXJl
cygpKTsKICAgICB9CiAKKyAgICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCkKKyAgICAgICAg
ZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBzdGQ6OnNvcnQo
ZW50cmllcy5iZWdpbigpLCBlbnRyaWVzLmVuZCgpLCBQZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRp
bWVDb21wYXJlTGVzc1RoYW4pOwogICAgIHJldHVybiBlbnRyaWVzOwogfQpAQCAtMTM1LDYgKzEz
OSw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICBpZiAo
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicmVzb3VyY2UiKSkKICAg
ICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV9yZXNvdXJjZVRpbWluZ0J1ZmZlcik7CiAKKyAg
ICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJ
Q2FzZShlbnRyeVR5cGUsICJwYWludCIpKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0
Q29udGVudGZ1bFBhaW50KTsKKwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYg
KGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkKICAgICAg
ICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MoKSk7CkBA
IC0xNTcsNiArMTY0LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9y
bQogICAgICAgICB9CiAgICAgfQogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYg
KGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRy
eVR5cGUsICJwYWludCIpKSAmJiBuYW1lID09ICJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikKKyAg
ICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAo
bV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxM
ZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAibWFyayIpKQogICAgICAgICAgICAg
ZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNYXJrcyhuYW1lKSk7CkBAIC0x
ODAsNiArMTkwLDEzIEBAIHZvaWQgUGVyZm9ybWFuY2U6OnNldFJlc291cmNlVGltaW5nQnVmZmUK
ICAgICBtX3Jlc291cmNlVGltaW5nQnVmZmVyRnVsbEZsYWcgPSBmYWxzZTsKIH0KIAordm9pZCBQ
ZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKQoreworICAgIEFTU0VSVCgh
bV9maXJzdENvbnRlbnRmdWxQYWludCk7CisgICAgbV9maXJzdENvbnRlbnRmdWxQYWludCA9IFBl
cmZvcm1hbmNlUGFpbnRUaW1pbmc6OmNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KG5vdygpKTsK
KyAgICBxdWV1ZUVudHJ5KCptX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKK30KKwogdm9pZCBQZXJm
b3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRpbWlu
ZykKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlLmgJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBjbGFz
cyBMb2FkVGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VFbnRyeTsKIGNsYXNzIFBlcmZvcm1hbmNl
TmF2aWdhdGlvbjsKIGNsYXNzIFBlcmZvcm1hbmNlT2JzZXJ2ZXI7CitjbGFzcyBQZXJmb3JtYW5j
ZVBhaW50VGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VUaW1pbmc7CiBjbGFzcyBSZXNvdXJjZVJl
c3BvbnNlOwogY2xhc3MgUmVzb3VyY2VUaW1pbmc7CkBAIC03Nyw2ICs3OCw4IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgYWRkUmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJik7CiAKKyAgICB2
b2lkIHJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisKICAgICB2b2lkIHJlbW92ZUFsbE9i
c2VydmVycygpOwogICAgIHZvaWQgcmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1h
bmNlT2JzZXJ2ZXImKTsKICAgICB2b2lkIHVucmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBl
cmZvcm1hbmNlT2JzZXJ2ZXImKTsKQEAgLTEyMSw2ICsxMjQsNyBAQCBwcml2YXRlOgogCiAgICAg
TW9ub3RvbmljVGltZSBtX3RpbWVPcmlnaW47CiAKKyAgICBSZWZQdHI8UGVyZm9ybWFuY2VQYWlu
dFRpbWluZz4gbV9maXJzdENvbnRlbnRmdWxQYWludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXNl
clRpbWluZz4gbV91c2VyVGltaW5nOwogCiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxTY3JpcHRFeGVj
dXRpb25Db250ZXh0PiBtX3BlcmZvcm1hbmNlVGltZWxpbmVUYXNrUXVldWU7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAJKHJldmlzaW9uIDI2MDA0NSkKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY0LDYgKzY0LDExIEBAIE9wdGlvbmFsPFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IFBlcmZv
cm0KICAgICAgICAgICAgIHJldHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpSZXNvdXJjZSk7CiAg
ICAgfQogCisgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
cGFpbnRUaW1pbmdFbmFibGVkKCkpIHsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9PSAicGFpbnQi
KQorICAgICAgICAgICAgcmV0dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6OlBhaW50KTsKKyAgICB9
CisKICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlRW50cnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlRW50cnkuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDEwICs0OCwxMSBA
QCBwdWJsaWM6CiAgICAgZG91YmxlIGR1cmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kdXJhdGlv
bjsgfQogCiAgICAgZW51bSBjbGFzcyBUeXBlIHsKLSAgICAgICAgTmF2aWdhdGlvbiA9IDEgPDwg
MCwKLSAgICAgICAgTWFyayA9IDEgPDwgMSwKLSAgICAgICAgTWVhc3VyZSA9IDEgPDwgMiwKLSAg
ICAgICAgUmVzb3VyY2UgPSAxIDw8IDMsCisgICAgICAgIE5hdmlnYXRpb24gID0gMSA8PCAwLAor
ICAgICAgICBNYXJrICAgICAgICA9IDEgPDwgMSwKKyAgICAgICAgTWVhc3VyZSAgICAgPSAxIDw8
IDIsCisgICAgICAgIFJlc291cmNlICAgID0gMSA8PCAzLAorICAgICAgICBQYWludCAgICAgICA9
IDEgPDwgNAogICAgIH07CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0ID0gMDsKQEAg
LTYyLDYgKzYzLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNSZXNvdXJjZSgpIGNvbnN0IHsgcmV0
dXJuIHR5cGUoKSA9PSBUeXBlOjpSZXNvdXJjZTsgfQogICAgIGJvb2wgaXNNYXJrKCkgY29uc3Qg
eyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1hcms7IH0KICAgICBib29sIGlzTWVhc3VyZSgpIGNv
bnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNZWFzdXJlOyB9CisgICAgYm9vbCBpc1BhaW50
KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OlBhaW50OyB9CiAKICAgICBzdGF0aWMg
Ym9vbCBzdGFydFRpbWVDb21wYXJlTGVzc1RoYW4oY29uc3QgUmVmUHRyPFBlcmZvcm1hbmNlRW50
cnk+JiBhLCBjb25zdCBSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4mIGIpCiAgICAgewpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCShyZXZpc2lvbiAy
NjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTMsMTUgKzExMywyMSBAQCB2b2lkIFBlcmZvcm1hbmNlT2JzZXJ2
ZXI6OmRlbGl2ZXIoKQogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmlyZU9ic2Vy
dmVyQ2FsbGJhY2soKmNvbnRleHQpOwogfQogCi1WZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5jZU9i
c2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKCkKK1ZlY3RvcjxTdHJpbmc+IFBlcmZvcm1hbmNl
T2JzZXJ2ZXI6OnN1cHBvcnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29u
dGV4dCkKIHsKLSAgICByZXR1cm4geworICAgIFZlY3RvcjxTdHJpbmc+IGVudHJ5VHlwZXMgPSB7
CiAgICAgICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTg0MzYzPiBBZGQgc3Vw
cG9ydCBmb3IgTmF2aWdhdGlvbiBUaW1pbmcgTGV2ZWwgMgogICAgICAgICAvLyAibmF2aWdhdGlv
biJfcywKICAgICAgICAgIm1hcmsiX3MsCi0gICAgICAgICJtZWFzdXJlIl9zLAotICAgICAgICAi
cmVzb3VyY2UiX3MKKyAgICAgICAgIm1lYXN1cmUiX3MKICAgICB9OworCisgICAgaWYgKGlzPERv
Y3VtZW50Pihjb250ZXh0KSAmJiBkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCkuc3VwcG9ydHNQ
YWludFRpbWluZygpKQorICAgICAgICBlbnRyeVR5cGVzLmFwcGVuZCgicGFpbnQiX3MpOworCisg
ICAgZW50cnlUeXBlcy5hcHBlbmQoInJlc291cmNlIl9zKTsKKworICAgIHJldHVybiBlbnRyeVR5
cGVzOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDcg
KzQ5LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5j
ZU9ic2VydmVyKGNvbnRleHQsIFdURk1vdmUoY2FsbGJhY2spKSk7CiAgICAgfQogCi0gICAgc3Rh
dGljIFZlY3RvcjxTdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXMoKTsKKyAgICBzdGF0aWMgVmVj
dG9yPFN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7
CiAKICAgICB2b2lkIGRpc2Fzc29jaWF0ZSgpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM2
LDcgKzM2LDcgQEAKIF0gaW50ZXJmYWNlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgewogICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBvYnNlcnZlKFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IG9wdGlv
bnMpOwogICAgIHZvaWQgZGlzY29ubmVjdCgpOwotICAgIHN0YXRpYyByZWFkb25seSBhdHRyaWJ1
dGUgRnJvemVuQXJyYXk8RE9NU3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzOworICAgIFtDYWxs
V2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZy
b3plbkFycmF5PERPTVN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlczsKIH07CiAKIGRpY3Rpb25h
cnkgUGVyZm9ybWFuY2VPYnNlcnZlckluaXQgewpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZVBhaW50VGltaW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBXaWtpTWVkaWEgRm91bmRhdGlvbi4g
QWxsIFJpZ2h0cyBSZXNlcnZlLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKKyNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBQZXJmb3JtYW5jZVBhaW50VGltaW5nIGZpbmFsIDogcHVibGljIFBlcmZvcm1hbmNlRW50
cnkgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VQYWludFRpbWluZz4gY3Jl
YXRlRmlyc3RDb250ZW50ZnVsUGFpbnQoRE9NSGlnaFJlc1RpbWVTdGFtcCB0aW1lU3RhbXApCisg
ICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5n
KCJmaXJzdC1jb250ZW50ZnVsLXBhaW50Il9zLCB0aW1lU3RhbXApKTsKKyAgICB9CisKK3ByaXZh
dGU6CisgICAgUGVyZm9ybWFuY2VQYWludFRpbWluZyhjb25zdCBTdHJpbmcmIG5hbWUsIERPTUhp
Z2hSZXNUaW1lU3RhbXAgdGltZVN0YW1wKQorICAgICAgICA6IFBlcmZvcm1hbmNlRW50cnkobmFt
ZSwgdGltZVN0YW1wLCB0aW1lU3RhbXApCisgICAgeworICAgIH0KKworICAgIEFTQ0lJTGl0ZXJh
bCBlbnRyeVR5cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiAicGFpbnQiX3M7IH0KKyAgICBUeXBl
IHR5cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBUeXBlOjpQYWludDsgfQorCisgICAgflBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcoKSA9IGRlZmF1bHQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6UGVyZm9ybWFuY2VQ
YWludFRpbWluZykKKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6UGVyZm9y
bWFuY2VFbnRyeSYgZW50cnkpIHsgcmV0dXJuIGVudHJ5LmlzUGFpbnQoKTsgfQorU1BFQ0lBTEla
RV9UWVBFX1RSQUlUU19FTkQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZVBhaW50VGltaW5nLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlUGFpbnRUaW1pbmcuaWRsCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBXaWtpTWVkaWEgRm91bmRhdGlvbi4gQWxs
IFJpZ2h0cyBSZXNlcnZlLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvCisKK3R5
cGVkZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1lU3RhbXA7CisKK1sKKyAgICBFbmFibGVkQXRSdW50
aW1lPVBhaW50VGltaW5nLAorICAgIEV4cG9zZWQ9KFdpbmRvdyksCitdIGludGVyZmFjZSBQZXJm
b3JtYW5jZVBhaW50VGltaW5nIDogUGVyZm9ybWFuY2VFbnRyeSB7Cit9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHJldmlzaW9uIDI2MDA0
NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02Miw2ICs2Miw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVzZXJUaW1p
bmdFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNVc2VyVGltaW5nRW5hYmxlZCA9IGlzRW5h
YmxlZDsgfQogICAgIGJvb2wgdXNlclRpbWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lz
VXNlclRpbWluZ0VuYWJsZWQ7IH0KIAorICAgIHZvaWQgc2V0UGFpbnRUaW1pbmdFbmFibGVkKGJv
b2wgaXNFbmFibGVkKSB7IG1faXNQYWludFRpbWluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAg
ICBib29sIHBhaW50VGltaW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNQYWludFRpbWlu
Z0VuYWJsZWQ7IH0KKwogICAgIGJvb2wgcGVyZm9ybWFuY2VUaW1lbGluZUVuYWJsZWQoKSBjb25z
dCB7IHJldHVybiByZXNvdXJjZVRpbWluZ0VuYWJsZWQoKSB8fCB1c2VyVGltaW5nRW5hYmxlZCgp
OyB9CiAKICAgICB2b2lkIHNldFNoYWRvd0RPTUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9p
c1NoYWRvd0RPTUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KQEAgLTQyNCw2ICs0MjcsNyBAQCBwcml2
YXRlOgogICAgIGJvb2wgbV9pc0xpbmtQcmVsb2FkRW5hYmxlZCB7IHRydWUgfTsKICAgICBib29s
IG1faXNMaW5rUHJlZmV0Y2hFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNNZWRpYVBy
ZWxvYWRpbmdFbmFibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNQYWludFRpbWluZ0VuYWJs
ZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1Jlc291cmNlVGltaW5nRW5hYmxlZCB7IGZhbHNl
IH07CiAgICAgYm9vbCBtX2lzVXNlclRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9pc0ludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkIHsgZmFsc2UgfTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5j
cHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQ
YWludENoZWNrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRpYSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDb250ZW50ZnVsUGFpbnRDaGVja2VyLmgi
CisKKyNpbmNsdWRlICJIVE1MQ2FudmFzRWxlbWVudC5oIgorI2luY2x1ZGUgIkxpbmVMYXlvdXRU
cmF2ZXJzYWwuaCIKKyNpbmNsdWRlICJSZW5kZXJBbmNlc3Rvckl0ZXJhdG9yLmgiCisjaW5jbHVk
ZSAiUmVuZGVyQ2hpbGRJdGVyYXRvci5oIgorI2luY2x1ZGUgIlJlbmRlckRlc2NlbmRhbnRJdGVy
YXRvci5oIgorI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKKyNpbmNsdWRlICJSZW5kZXJIVE1M
Q2FudmFzLmgiCisjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdS
b290LmgiCisjaW5jbHVkZSAiUmVuZGVyVGV4dC5oIgorI2luY2x1ZGUgIlJlbmRlclZpZGVvLmgi
CisjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRp
YyBib29sIGNoZWNrQ29udGVudGZ1bFBhaW50Rm9yTGF5ZXJPckRlc2NlbmRhbnRzKFJlbmRlckxh
eWVyJiBsYXllciwgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgY29uc3QgSW50UmVjdCYgZG9jdW1l
bnRSZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgcGFyZW50VHJhbnNmb3JtID0gVHJh
bnNmb3JtYXRpb25NYXRyaXgoKSkKK3sKKyAgICBpZiAoIWxheWVyLnJlbmRlcmVyKCkuc3R5bGUo
KS5vcGFjaXR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIFRyYW5zZm9ybWF0aW9u
TWF0cml4IHRyYW5zZm9ybSA9IHBhcmVudFRyYW5zZm9ybSAqIGxheWVyLmN1cnJlbnRUcmFuc2Zv
cm0oKTsKKyAgICAKKyAgICBhdXRvIGlzTGF5ZXJDb250ZW50ZnVsID0gWyZdKCkgeworICAgICAg
ICBsYXllci51cGRhdGVEZXNjZW5kYW50RGVwZW5kZW50RmxhZ3MoKTsKKyAgICAgICAgUmVuZGVy
TGF5ZXI6OlBhaW50ZWRDb250ZW50UmVxdWVzdCByZXF1ZXN0OworICAgICAgICByZXF1ZXN0LnF1
YWxpZmllc0FzQ29udGVudGZ1bCA9IFJlcXVlc3RTdGF0ZTo6VW5rbm93bjsKKyAgICAgICAgLy8g
SWYgd2UgaGF2ZSB0b28gbWFueSBlbGVtZW50cyBhbmQgd2Ugc3RpbGwgZGlkbid0IGZpZ3VyZSBv
dXQgY29udGVudGZ1bG5lc3MsIGFzc3VtZSBjb250ZW50ZnVsbmVzcy4KKyAgICAgICAgcmV0dXJu
IGxheWVyLmlzVmlzdWFsbHlOb25FbXB0eSgmcmVxdWVzdCkgJiYgcmVxdWVzdC5wcm9iYWJseVF1
YWxpZmllc0FzQ29udGVudGZ1bCgpOworICAgIH07CisKKyAgICBhdXRvIG92ZXJsYXBzV2l0aERv
Y3VtZW50UmVjdCA9IFsmXSB7CisgICAgICAgIC8vIFRyeSB0byBrZWVwIHRoZSBib3VuZHMgY2hl
Y2sgYXMgc2ltcGxlIGFzIHBvc3NpYmxlLCB0byBhdm9pZCBvdmVyaGVhZC4KKyAgICAgICAgY29u
c3QgYXV0byBsYXllckJvdW5kc0ZsYWdzID0gT3B0aW9uU2V0PFJlbmRlckxheWVyOjpDYWxjdWxh
dGVMYXllckJvdW5kc0ZsYWc+IHsKKyAgICAgICAgICAgIFJlbmRlckxheWVyOjpDYWxjdWxhdGVM
YXllckJvdW5kc0ZsYWc6OkV4Y2x1ZGVIaWRkZW5EZXNjZW5kYW50cywKKyAgICAgICAgICAgIFJl
bmRlckxheWVyOjpDYWxjdWxhdGVMYXllckJvdW5kc0ZsYWc6OkRvbnRDb25zdHJhaW5Gb3JNYXNr
LAorICAgICAgICAgICAgUmVuZGVyTGF5ZXI6OkNhbGN1bGF0ZUxheWVyQm91bmRzRmxhZzo6VXNl
RnJhZ21lbnRCb3hlc0V4Y2x1ZGluZ0NvbXBvc2l0aW5nCisgICAgICAgIH07CisKKyAgICAgICAg
Y29uc3QgZmxvYXQgc2l6ZVBhaW50YWJpbGl0eVRocmVzaG9sZCA9IDAuMDU7CisKKyAgICAgICAg
TGF5b3V0UmVjdCBib3VuZHMgPSB0cmFuc2Zvcm0ubWFwUmVjdChsYXllci5ib3VuZGluZ0JveChy
b290TGF5ZXIsIGxheWVyLm9mZnNldEZyb21BbmNlc3Rvcihyb290TGF5ZXIpLCBsYXllckJvdW5k
c0ZsYWdzKSk7CisgICAgICAgIGlmIChib3VuZHMud2lkdGgoKSA8IHNpemVQYWludGFiaWxpdHlU
aHJlc2hvbGQgfHwgYm91bmRzLmhlaWdodCgpIDwgc2l6ZVBhaW50YWJpbGl0eVRocmVzaG9sZCkK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIGJvdW5kcy5pbnRlcnNl
Y3RzKGRvY3VtZW50UmVjdCk7CisgICAgfTsKKworICAgIGlmIChpc0xheWVyQ29udGVudGZ1bCgp
ICYmIG92ZXJsYXBzV2l0aERvY3VtZW50UmVjdCgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgIGZvciAoUmVuZGVyTGF5ZXIqIGNoaWxkID0gbGF5ZXIuZmlyc3RDaGlsZCgpOyBjaGlsZDsg
Y2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgeworICAgICAgICBpZiAoY2hlY2tDb250ZW50
ZnVsUGFpbnRGb3JMYXllck9yRGVzY2VuZGFudHMoKmNoaWxkLCByb290TGF5ZXIsIGRvY3VtZW50
UmVjdCwgdHJhbnNmb3JtKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAg
IHJldHVybiBmYWxzZTsKK30KKyAgICAKK2Jvb2wgQ29udGVudGZ1bFBhaW50Q2hlY2tlcjo6cXVh
bGlmaWVzRm9yQ29udGVudGZ1bFBhaW50KEZyYW1lVmlldyYgZnJhbWVWaWV3KQoreworICAgIEFT
U0VSVCghZnJhbWVWaWV3Lm5lZWRzTGF5b3V0KCkpOworCisgICAgUmVuZGVyVmlldyogdmlldyA9
IGZyYW1lVmlldy5yZW5kZXJWaWV3KCk7CisgICAgQVNTRVJUKHZpZXcpOworCisgICAgYXV0byBk
b2N1bWVudFJlY3QgPSB2aWV3LT5kb2N1bWVudFJlY3QoKTsKKyAgICBSZW5kZXJMYXllciogcm9v
dExheWVyID0gdmlldy0+bGF5ZXIoKTsKKworICAgIEFTU0VSVChyb290TGF5ZXIpOworCisgICAg
cmV0dXJuIGNoZWNrQ29udGVudGZ1bFBhaW50Rm9yTGF5ZXJPckRlc2NlbmRhbnRzKCpyb290TGF5
ZXIsIHJvb3RMYXllciwgZG9jdW1lbnRSZWN0KTsKK30KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BhaW50LXRpbWluZy8jY29udGVudGZ1bCAKK2Jvb2wgQ29udGVudGZ1bFBhaW50Q2hlY2tl
cjo6cmVwbGFjZWRSZW5kZXJlclF1YWxpZmllc0FzQ29udGVudGZ1bChjb25zdCBSZW5kZXJSZXBs
YWNlZCYgcmVwbGFjZWQpCit7CisgICAgaWYgKGlzPFJlbmRlckhUTUxDYW52YXM+KHJlcGxhY2Vk
KSkKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PFJlbmRlckhUTUxDYW52YXM+KHJlcGxhY2VkKS5j
YW52YXNFbGVtZW50KCkucmVuZGVyaW5nQ29udGV4dCgpOworCisgICAgaWYgKGlzPFJlbmRlclZp
ZGVvPihyZXBsYWNlZCkpIHsKKyAgICAgICAgY29uc3QgYXV0byYgdmlkZW8gPSBkb3duY2FzdDxS
ZW5kZXJWaWRlbz4ocmVwbGFjZWQpOworICAgICAgICBpZiAoIXZpZGVvLnZpZGVvRWxlbWVudCgp
LnNob3VsZERpc3BsYXlQb3N0ZXJJbWFnZSgpKQorICAgICAgICAgICAgcmV0dXJuIHZpZGVvLnZp
ZGVvRWxlbWVudCgpLnJlYWR5U3RhdGUoKSA+IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6SEFWRV9N
RVRBREFUQTsKKyAgICB9CisKKyAgICBpZiAoaXM8UmVuZGVySW1hZ2U+KHJlcGxhY2VkKSkgewor
ICAgICAgICBjb25zdCBhdXRvJiBpbWFnZSA9IGRvd25jYXN0PFJlbmRlckltYWdlPihyZXBsYWNl
ZCk7CisgICAgICAgIGF1dG8qIGNhY2hlZEltYWdlID0gaW1hZ2UuaW1hZ2VSZXNvdXJjZSgpLmNh
Y2hlZEltYWdlKCk7CisgICAgICAgIHJldHVybiBjYWNoZWRJbWFnZSAmJiBjYWNoZWRJbWFnZS0+
Y2FuUmVuZGVyKCZpbWFnZSwgMSk7CisgICAgfQorCisgICAgaWYgKGlzPFJlbmRlclNWR1Jvb3Q+
KHJlcGxhY2VkKSkKKyAgICAgICAgcmV0dXJuIFNWR1JlbmRlclN1cHBvcnQ6Omhhc1JlbmRlcmFi
bGVDaGlsZHJlbihkb3duY2FzdDxSZW5kZXJTVkdSb290PihyZXBsYWNlZCkpOyAgICAKKworICAg
IHJldHVybiBmYWxzZTsKK30KKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Nv
bnRlbnRmdWxQYWludENoZWNrZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBXaWtpTWVkaWEgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KKyAqCisqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBGcmFtZVZpZXc7CitjbGFzcyBSZW5kZXJSZXBsYWNlZDsKKworY2xhc3Mg
Q29udGVudGZ1bFBhaW50Q2hlY2tlciB7CitwdWJsaWM6CisgICAgc3RhdGljIGJvb2wgcXVhbGlm
aWVzRm9yQ29udGVudGZ1bFBhaW50KEZyYW1lVmlldyYpOworICAgIHN0YXRpYyBib29sIHJlcGxh
Y2VkUmVuZGVyZXJRdWFsaWZpZXNBc0NvbnRlbnRmdWwoY29uc3QgUmVuZGVyUmVwbGFjZWQmKTsK
K307CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAko
cmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsNyBAQAogI2luY2x1ZGUgIkNTU0ZpbHRl
ci5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIK
KyNpbmNsdWRlICJDb250ZW50ZnVsUGFpbnRDaGVja2VyLmgiCiAjaW5jbHVkZSAiRGVidWdQYWdl
T3ZlcmxheXMuaCIKICNpbmNsdWRlICJEZXByZWNhdGVkR2xvYmFsU2V0dGluZ3MuaCIKICNpbmNs
dWRlICJEb2N1bWVudC5oIgpAQCAtNjU1NSw2ICs2NTU2LDggQEAgc3RhdGljIHZvaWQgZGV0ZXJt
aW5lTm9uTGF5ZXJEZXNjZW5kYW50cwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAK
KyAgICAgICAgYm9vbCBtYXlSZXBvcnRDb250ZW50ZnVsbmVzcyA9IHJlcXVlc3QubmVlZFRvRGV0
ZXJtaW5lQ29udGVudGZ1bG5lc3NTdGF0ZSgpICYmIGNoaWxkLnN0eWxlKCkudmlzaWJpbGl0eSgp
ID09IFZpc2liaWxpdHk6OlZpc2libGU7CisKICAgICAgICAgaWYgKGlzPFJlbmRlclRleHQ+KGNo
aWxkKSkgewogICAgICAgICAgICAgY29uc3QgYXV0byYgcmVuZGVyVGV4dCA9IGRvd25jYXN0PFJl
bmRlclRleHQ+KGNoaWxkKTsKICAgICAgICAgICAgIGlmICghcmVuZGVyVGV4dC5oYXNSZW5kZXJl
ZFRleHQoKSkKQEAgLTY1NjUsNiArNjU2OCw4IEBAIHN0YXRpYyB2b2lkIGRldGVybWluZU5vbkxh
eWVyRGVzY2VuZGFudHMKIAogICAgICAgICAgICAgaWYgKCFyZW5kZXJUZXh0LnRleHQoKS5pc0Fs
bFNwZWNpYWxDaGFyYWN0ZXJzPGlzSFRNTFNwYWNlPigpKSB7CiAgICAgICAgICAgICAgICAgcmVx
dWVzdC5zZXRIYXNQYWludGVkQ29udGVudCgpOworICAgICAgICAgICAgICAgIGlmIChtYXlSZXBv
cnRDb250ZW50ZnVsbmVzcykKKyAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5zZXRRdWFsaWZp
ZXNBc0NvbnRlbnRmdWwoKTsKIAogICAgICAgICAgICAgICAgIGlmIChyZXF1ZXN0Lm5lZWRUb0Rl
dGVybWluZVN1YnBpeGVsQW50aWFsaWFzZWRUZXh0U3RhdGUoKSAmJiBzdHlsZUhhc1Ntb290aGlu
Z1RleHRNb2RlKGNoaWxkLnN0eWxlKCkpKQogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LnNl
dEhhc1N1YnBpeGVsQW50aWFsaWFzZWRUZXh0KCk7CkBAIC02NTg0LDEyICs2NTg5LDE2IEBAIHN0
YXRpYyB2b2lkIGRldGVybWluZU5vbkxheWVyRGVzY2VuZGFudHMKIAogICAgICAgICBpZiAoaGFz
VmlzaWJsZUJveERlY29yYXRpb25zT3JCYWNrZ3JvdW5kKHJlbmRlckVsZW1lbnRDaGlsZCkpIHsK
ICAgICAgICAgICAgIHJlcXVlc3Quc2V0SGFzUGFpbnRlZENvbnRlbnQoKTsKKyAgICAgICAgICAg
IGlmIChtYXlSZXBvcnRDb250ZW50ZnVsbmVzcyAmJiByZW5kZXJFbGVtZW50Q2hpbGQuc3R5bGUo
KS5oYXNQYWludGFibGVDYWNoZWRCYWNrZ3JvdW5kSW1hZ2UoKSkKKyAgICAgICAgICAgICAgICBy
ZXF1ZXN0LnNldFF1YWxpZmllc0FzQ29udGVudGZ1bCgpOwogICAgICAgICAgICAgaWYgKHJlcXVl
c3QuaXNTYXRpc2ZpZWQoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAg
ICAgICAgCiAgICAgICAgIGlmIChpczxSZW5kZXJSZXBsYWNlZD4ocmVuZGVyRWxlbWVudENoaWxk
KSkgewogICAgICAgICAgICAgcmVxdWVzdC5zZXRIYXNQYWludGVkQ29udGVudCgpOworICAgICAg
ICAgICAgaWYgKG1heVJlcG9ydENvbnRlbnRmdWxuZXNzICYmIENvbnRlbnRmdWxQYWludENoZWNr
ZXI6OnJlcGxhY2VkUmVuZGVyZXJRdWFsaWZpZXNBc0NvbnRlbnRmdWwoZG93bmNhc3Q8UmVuZGVy
UmVwbGFjZWQ+KHJlbmRlckVsZW1lbnRDaGlsZCkpKQorICAgICAgICAgICAgICAgIHJlcXVlc3Qu
c2V0UXVhbGlmaWVzQXNDb250ZW50ZnVsKCk7ICAgICAgICAgICAgICAgIAogCiAgICAgICAgICAg
ICBpZiAoaXM8UmVuZGVySW1hZ2U+KHJlbmRlckVsZW1lbnRDaGlsZCkgJiYgcmVxdWVzdC5uZWVk
VG9EZXRlcm1pbmVTdWJwaXhlbEFudGlhbGlhc2VkVGV4dFN0YXRlKCkpIHsKICAgICAgICAgICAg
ICAgICBhdXRvJiBpbWFnZVJlbmRlcmVyID0gZG93bmNhc3Q8UmVuZGVySW1hZ2U+KHJlbmRlckVs
ZW1lbnRDaGlsZCk7CkBAIC02NjQwLDYgKzY2NDksMTAgQEAgYm9vbCBSZW5kZXJMYXllcjo6aXNW
aXN1YWxseU5vbkVtcHR5KFBhaQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICAgICAg
cmVxdWVzdC0+c2V0SGFzUGFpbnRlZENvbnRlbnQoKTsKKworICAgICAgICBpZiAocmVxdWVzdC0+
bmVlZFRvRGV0ZXJtaW5lQ29udGVudGZ1bG5lc3NTdGF0ZSgpICYmIHJlbmRlcmVyKCkuaXNSZXBs
YWNlZCgpICYmIENvbnRlbnRmdWxQYWludENoZWNrZXI6OnJlcGxhY2VkUmVuZGVyZXJRdWFsaWZp
ZXNBc0NvbnRlbnRmdWwoZG93bmNhc3Q8UmVuZGVyUmVwbGFjZWQ+KHJlbmRlcmVyKCkpKSkKKyAg
ICAgICAgICAgIHJlcXVlc3QtPnNldFF1YWxpZmllc0FzQ29udGVudGZ1bCgpOworCiAgICAgICAg
IGlmIChyZXF1ZXN0LT5pc1NhdGlzZmllZCgpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQpAQCAtNjY0OSw2ICs2NjYyLDEwIEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmlzVmlzdWFsbHlO
b25FbXB0eShQYWkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgICAgIHJlcXVlc3Qt
PnNldEhhc1BhaW50ZWRDb250ZW50KCk7CisKKyAgICAgICAgaWYgKHJlcXVlc3QtPm5lZWRUb0Rl
dGVybWluZUNvbnRlbnRmdWxuZXNzU3RhdGUoKSAmJiByZW5kZXJlcigpLnN0eWxlKCkuaGFzUGFp
bnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdlKCkpCisgICAgICAgICAgICByZXF1ZXN0LT5zZXRR
dWFsaWZpZXNBc0NvbnRlbnRmdWwoKTsKKwogICAgICAgICBpZiAocmVxdWVzdC0+aXNTYXRpc2Zp
ZWQoKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNjAzLDIwICs2
MDMsMjcgQEAgcHVibGljOgogCiAgICAgICAgICAgICBpZiAoaGFzU3VicGl4ZWxBbnRpYWxpYXNl
ZFRleHQgPT0gUmVxdWVzdFN0YXRlOjpVbmtub3duKQogICAgICAgICAgICAgICAgIGhhc1N1YnBp
eGVsQW50aWFsaWFzZWRUZXh0ID0gUmVxdWVzdFN0YXRlOjpVbmRldGVybWluZWQ7CisKKyAgICAg
ICAgICAgIGlmIChxdWFsaWZpZXNBc0NvbnRlbnRmdWwgPT0gUmVxdWVzdFN0YXRlOjpVbmtub3du
KQorICAgICAgICAgICAgICAgIHF1YWxpZmllc0FzQ29udGVudGZ1bCA9IFJlcXVlc3RTdGF0ZTo6
VW5kZXRlcm1pbmVkOwogICAgICAgICB9CiAKICAgICAgICAgdm9pZCBzZXRIYXNQYWludGVkQ29u
dGVudCgpIHsgaGFzUGFpbnRlZENvbnRlbnQgPSBSZXF1ZXN0U3RhdGU6OlRydWU7IH0KICAgICAg
ICAgdm9pZCBzZXRIYXNTdWJwaXhlbEFudGlhbGlhc2VkVGV4dCgpIHsgaGFzU3VicGl4ZWxBbnRp
YWxpYXNlZFRleHQgPSBSZXF1ZXN0U3RhdGU6OlRydWU7IH0KKyAgICAgICAgdm9pZCBzZXRRdWFs
aWZpZXNBc0NvbnRlbnRmdWwoKSB7IHF1YWxpZmllc0FzQ29udGVudGZ1bCA9IFJlcXVlc3RTdGF0
ZTo6VHJ1ZTsgfQogCiAgICAgICAgIGJvb2wgbmVlZFRvRGV0ZXJtaW5lUGFpbnRlZENvbnRlbnRT
dGF0ZSgpIGNvbnN0IHsgcmV0dXJuIGhhc1BhaW50ZWRDb250ZW50ID09IFJlcXVlc3RTdGF0ZTo6
VW5rbm93bjsgfQogICAgICAgICBib29sIG5lZWRUb0RldGVybWluZVN1YnBpeGVsQW50aWFsaWFz
ZWRUZXh0U3RhdGUoKSBjb25zdCB7IHJldHVybiBoYXNTdWJwaXhlbEFudGlhbGlhc2VkVGV4dCA9
PSBSZXF1ZXN0U3RhdGU6OlVua25vd247IH0KKyAgICAgICAgYm9vbCBuZWVkVG9EZXRlcm1pbmVD
b250ZW50ZnVsbmVzc1N0YXRlKCkgY29uc3QgeyByZXR1cm4gcXVhbGlmaWVzQXNDb250ZW50ZnVs
ID09IFJlcXVlc3RTdGF0ZTo6VW5rbm93bjsgfQogCiAgICAgICAgIGJvb2wgcHJvYmFibHlIYXNQ
YWludGVkQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIGhhc1BhaW50ZWRDb250ZW50ID09IFJlcXVl
c3RTdGF0ZTo6VHJ1ZSB8fCBoYXNQYWludGVkQ29udGVudCA9PSBSZXF1ZXN0U3RhdGU6OlVuZGV0
ZXJtaW5lZDsgfQogICAgICAgICBib29sIHByb2JhYmx5SGFzU3VicGl4ZWxBbnRpYWxpYXNlZFRl
eHQoKSBjb25zdCB7IHJldHVybiBoYXNTdWJwaXhlbEFudGlhbGlhc2VkVGV4dCA9PSBSZXF1ZXN0
U3RhdGU6OlRydWUgfHwgaGFzU3VicGl4ZWxBbnRpYWxpYXNlZFRleHQgPT0gUmVxdWVzdFN0YXRl
OjpVbmRldGVybWluZWQ7IH0KKyAgICAgICAgYm9vbCBwcm9iYWJseVF1YWxpZmllc0FzQ29udGVu
dGZ1bCgpIGNvbnN0IHsgcmV0dXJuIHF1YWxpZmllc0FzQ29udGVudGZ1bCA9PSBSZXF1ZXN0U3Rh
dGU6OlRydWUgfHwgcXVhbGlmaWVzQXNDb250ZW50ZnVsID09IFJlcXVlc3RTdGF0ZTo6VW5kZXRl
cm1pbmVkOyB9CiAgICAgICAgIAotICAgICAgICBib29sIGlzU2F0aXNmaWVkKCkgY29uc3QgeyBy
ZXR1cm4gaGFzUGFpbnRlZENvbnRlbnQgIT0gUmVxdWVzdFN0YXRlOjpVbmtub3duICYmIGhhc1N1
YnBpeGVsQW50aWFsaWFzZWRUZXh0ICE9IFJlcXVlc3RTdGF0ZTo6VW5rbm93bjsgfQorICAgICAg
ICBib29sIGlzU2F0aXNmaWVkKCkgY29uc3QgeyByZXR1cm4gaGFzUGFpbnRlZENvbnRlbnQgIT0g
UmVxdWVzdFN0YXRlOjpVbmtub3duICYmIGhhc1N1YnBpeGVsQW50aWFsaWFzZWRUZXh0ICE9IFJl
cXVlc3RTdGF0ZTo6VW5rbm93biAmJiBxdWFsaWZpZXNBc0NvbnRlbnRmdWwgIT0gUmVxdWVzdFN0
YXRlOjpVbmtub3duOyB9CiAKICAgICAgICAgUmVxdWVzdFN0YXRlIGhhc1BhaW50ZWRDb250ZW50
IHsgUmVxdWVzdFN0YXRlOjpVbmtub3duIH07CisgICAgICAgIFJlcXVlc3RTdGF0ZSBxdWFsaWZp
ZXNBc0NvbnRlbnRmdWwgeyBSZXF1ZXN0U3RhdGU6OkRvbnRDYXJlIH07CiAgICAgICAgIFJlcXVl
c3RTdGF0ZSBoYXNTdWJwaXhlbEFudGlhbGlhc2VkVGV4dCB7IFJlcXVlc3RTdGF0ZTo6RG9udENh
cmUgfTsKICAgICB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJ
KHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTE4MCw3ICsxODAsNyBAQCBwdWJsaWM6CiAgICAgTGF5b3V0
VW5pdCB0b3BPZkZpcnN0VGV4dCgpIGNvbnN0OwogICAgIAogICAgIGJvb2wgY29udGFpbnNPbmx5
SFRNTFdoaXRlc3BhY2UodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuZ3RoKSBjb25zdDsKLSAg
ICAKKwogICAgIGJvb2wgY2FuVXNlU2ltcGxpZmllZFRleHRNZWFzdXJpbmcoKSBjb25zdCB7IHJl
dHVybiBtX2NhblVzZVNpbXBsaWZpZWRUZXh0TWVhc3VyaW5nOyB9CiAKICAgICBWZWN0b3I8c3Rk
OjpwYWlyPHVuc2lnbmVkLCB1bnNpZ25lZD4+IGRyYWdnZWRDb250ZW50UmFuZ2VzQmV0d2Vlbk9m
ZnNldHModW5zaWduZWQgc3RhcnRPZmZzZXQsIHVuc2lnbmVkIGVuZE9mZnNldCkgY29uc3Q7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmNwcAkocmV2
aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXll
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0MCw2ICszNDAsMTUgQEAgYm9vbCBGaWxsTGF5ZXI6
OmNvbnRhaW5zSW1hZ2UoU3R5bGVJbWFnZQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBG
aWxsTGF5ZXI6Omhhc0xvYWRlZENhY2hlZEltYWdlKCkgY29uc3QKK3sKKyAgICBmb3IgKGF1dG8q
IGxheWVyID0gdGhpczsgbGF5ZXI7IGxheWVyID0gbGF5ZXItPm1fbmV4dC5nZXQoKSkgeworICAg
ICAgICBpZiAobGF5ZXItPm1faW1hZ2UgJiYgbGF5ZXItPm1faW1hZ2UtPmlzTG9hZGVkKCkgJiYg
bGF5ZXItPm1faW1hZ2UtPmhhc0NhY2hlZEltYWdlKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIEZpbGxMYXllcjo6aW1hZ2Vz
QXJlTG9hZGVkKCkgY29uc3QKIHsKICAgICBmb3IgKGF1dG8qIGxheWVyID0gdGhpczsgbGF5ZXI7
IGxheWVyID0gbGF5ZXItPm1fbmV4dC5nZXQoKSkgewpJbmRleDogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDUs
NiArMTQ1LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBjb250YWluc0ltYWdlKFN0eWxlSW1hZ2Um
KSBjb25zdDsKICAgICBib29sIGltYWdlc0FyZUxvYWRlZCgpIGNvbnN0OworICAgIGJvb2wgaGFz
TG9hZGVkQ2FjaGVkSW1hZ2UoKSBjb25zdDsKICAgICBib29sIGhhc0ltYWdlKCkgY29uc3QgeyBy
ZXR1cm4gbV9uZXh0ID8gaGFzSW1hZ2VJbkFueUxheWVyKCkgOiBtX2ltYWdlOyB9CiAgICAgYm9v
bCBoYXNGaXhlZEltYWdlKCkgY29uc3Q7CiAgICAgYm9vbCBoYXNPcGFxdWVJbWFnZShjb25zdCBS
ZW5kZXJFbGVtZW50JikgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0
NCw2ICs0NDQsMjEgQEAgYm9vbCBSZW5kZXJTdHlsZTo6ZGVzY2VuZGFudEFmZmVjdGluZ05vbgog
ICAgICAgICAmJiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5qdXN0aWZ5SXRlbXMgPT0gb3RoZXIu
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+anVzdGlmeUl0ZW1zOwogfQogCitib29sIFJlbmRlclN0
eWxlOjpoYXNQYWludGFibGVDYWNoZWRCYWNrZ3JvdW5kSW1hZ2UoKSBjb25zdAoreworICAgIGlm
ICghaGFzQmFja2dyb3VuZEltYWdlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNv
bnN0IEZpbGxMYXllciYgYmFja2dyb3VuZCA9IGJhY2tncm91bmRMYXllcnMoKTsKKyAgICBpZiAo
IWJhY2tncm91bmQuaGFzTG9hZGVkQ2FjaGVkSW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgaWYgKGJhY2tncm91bmRTaXplTGVuZ3RoKCkuaXNFbXB0eSgpICYmIGJhY2tncm91
bmRTaXplVHlwZSgpID09IEZpbGxTaXplVHlwZTo6U2l6ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgcmV0dXJuIHRydWU7Cit9CisKICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQog
CiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGNvbXB1dGVGb250SGFzaChjb25zdCBGb250Q2FzY2Fk
ZSYgZm9udCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDE2LDYgKzQxNiw3IEBAIHB1Ymxp
YzoKICAgICBjb25zdCBMZW5ndGhTaXplJiBiYWNrZ3JvdW5kU2l6ZUxlbmd0aCgpIGNvbnN0IHsg
cmV0dXJuIG1fYmFja2dyb3VuZERhdGEtPmJhY2tncm91bmQuc2l6ZUxlbmd0aCgpOyB9CiAgICAg
RmlsbExheWVyJiBlbnN1cmVCYWNrZ3JvdW5kTGF5ZXJzKCkgeyByZXR1cm4gbV9iYWNrZ3JvdW5k
RGF0YS5hY2Nlc3MoKS5iYWNrZ3JvdW5kOyB9CiAgICAgY29uc3QgRmlsbExheWVyJiBiYWNrZ3Jv
dW5kTGF5ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9iYWNrZ3JvdW5kRGF0YS0+YmFja2dyb3VuZDsg
fQorICAgIGJvb2wgaGFzUGFpbnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdlKCkgY29uc3Q7CiAK
ICAgICBTdHlsZUltYWdlKiBtYXNrSW1hZ2UoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhl
cml0ZWREYXRhLT5tYXNrLmltYWdlKCk7IH0KICAgICBGaWxsUmVwZWF0IG1hc2tSZXBlYXRYKCkg
Y29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RmlsbFJlcGVhdD4obV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+bWFzay5yZXBlYXRYKCkpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE0OCw2ICsxNDgsMjMgQEAgc3RhdGljIGlubGluZSB2b2lkIHVwZGF0ZU9iamVj
dEJvdW5kaW5nQgogICAgIG9iamVjdEJvdW5kaW5nQm94LnVuaXRlRXZlbklmRW1wdHkob3RoZXJC
b3VuZGluZ0JveCk7CiB9CiAKKworYm9vbCBTVkdSZW5kZXJTdXBwb3J0OjpoYXNSZW5kZXJhYmxl
Q2hpbGRyZW4oY29uc3QgUmVuZGVyRWxlbWVudCYgY29udGFpbmVyKQoreworICAgIGZvciAoYXV0
byYgY3VycmVudCA6IGNoaWxkcmVuT2ZUeXBlPFJlbmRlck9iamVjdD4oY29udGFpbmVyKSkgewor
ICAgICAgICBpZiAoY3VycmVudC5pc1NWR0hpZGRlbkNvbnRhaW5lcigpKQorICAgICAgICAgICAg
Y29udGludWU7CisKKyAgICAgICAgLy8gRG9uJ3QgaW5jbHVkZSBlbGVtZW50cyBpbiB0aGUgdW5p
b24gdGhhdCBkbyBub3QgcmVuZGVyLgorICAgICAgICBpZiAoaXM8UmVuZGVyU1ZHU2hhcGU+KGN1
cnJlbnQpICYmIGRvd25jYXN0PFJlbmRlclNWR1NoYXBlPihjdXJyZW50KS5pc1JlbmRlcmluZ0Rp
c2FibGVkKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgU1ZHUmVuZGVyU3VwcG9ydDo6
Y29tcHV0ZUNvbnRhaW5lckJvdW5kaW5nQm94ZXMoY29uc3QgUmVuZGVyRWxlbWVudCYgY29udGFp
bmVyLCBGbG9hdFJlY3QmIG9iamVjdEJvdW5kaW5nQm94LCBib29sJiBvYmplY3RCb3VuZGluZ0Jv
eFZhbGlkLCBGbG9hdFJlY3QmIHN0cm9rZUJvdW5kaW5nQm94LCBGbG9hdFJlY3QmIHJlcGFpbnRC
b3VuZGluZ0JveCkKIHsKICAgICBvYmplY3RCb3VuZGluZ0JveCA9IEZsb2F0UmVjdCgpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmgJ
KHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVu
ZGVyU3VwcG9ydC5oCSh3b3JraW5nIGNvcHkpCkBAIC04OSw2ICs4OSw4IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgUmVuZGVyU1ZHUm9vdCogZmluZFRyZWVSb290T2JqZWN0KFJlbmRlckVsZW1lbnQm
KTsKICAgICBzdGF0aWMgY29uc3QgUmVuZGVyU1ZHUm9vdCogZmluZFRyZWVSb290T2JqZWN0KGNv
bnN0IFJlbmRlckVsZW1lbnQmKTsKIAorICAgIHN0YXRpYyBib29sIGhhc1JlbmRlcmFibGVDaGls
ZHJlbihjb25zdCBSZW5kZXJFbGVtZW50Jik7CisKIHByaXZhdGU6CiAgICAgLy8gVGhpcyBjbGFz
cyBpcyBub3QgY29uc3RydWN0YWJsZS4KICAgICBTVkdSZW5kZXJTdXBwb3J0KCk7CkluZGV4OiBT
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxu
b2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1
bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBhIHJ1bnRpbWUgZmxhZyBmb3IgcGFpbnQtdGltaW5nIChwYWludFRpbWluZ0VuYWJsZWQp
LgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1Nl
dFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0UGFpbnRUaW1p
bmdFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlBy
aXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29u
bmVjdGlvbjo6dXBkYXRlUHJlZmVyZW5jZXNTdG9yZSk6CisKIDIwMjAtMDQtMTMgIFBlciBBcm5l
IFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFVwZGF0ZSBtZXNz
YWdlIGZpbHRlcnMgaW4gdGhlIFdlYkNvbnRlbnQgc2FuZGJveApJbmRleDogU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCSh3b3JraW5nIGNvcHkpCkBAIC04Mzks
NiArODM5LDEzIEBAIFVzZXJUaW1pbmdFbmFibGVkOgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRp
b246ICJFbmFibGUgVXNlclRpbWluZyBBUEkiCiAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzCiAKK1BhaW50VGltaW5nRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBkZWZh
dWx0VmFsdWU6IHRydWUKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJQYWludCBUaW1pbmciCisgIGh1
bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQYWludCBUaW1pbmcgQVBJIgorICB3ZWJj
b3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcworCiBCZWFjb25BUElFbmFibGVkOgog
ICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQpJbmRleDogU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAJKHJldmlzaW9uIDI2MDA0NSkK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xODIwLDYgKzE4MjAsMTYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0VXNl
clRpbWluZ0VuYWJsZWQoVwogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT51c2Vy
VGltaW5nRW5hYmxlZCgpOwogfQogCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0Vu
YWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQoreworICAg
IHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFBhaW50VGltaW5nRW5hYmxlZChmbGFnKTsKK30K
KworYm9vbCBXS1ByZWZlcmVuY2VzR2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZikt
PnBhaW50VGltaW5nRW5hYmxlZCgpOworfQorCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRSZXNvdXJj
ZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFn
KQogewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFJlc291cmNlVGltaW5nRW5hYmxl
ZChmbGFnKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXNSZWZQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTAwLDYgKzUwMCwxMCBAQCBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2Vz
U2V0VXNlclRpbWluCiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0VXNlclRpbWluZ0Vu
YWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CiAKIC8vIERlZmF1bHRzIHRvIGZhbHNlCitXS19FWFBP
UlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNS
ZWYsIGJvb2wgZmxhZyk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0UGFpbnRUaW1p
bmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOworCisvLyBEZWZhdWx0cyB0byBmYWxzZQogV0tf
RVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZl
cmVuY2VzUmVmLCBib29sIGZsYWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFJl
c291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIApJbmRleDogU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMjIsNiArMTIyLDcgQEAgdm9pZCBXZWJTV0NvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbjo6dXBkYQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkuc2V0Q2FjaGVBUElFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQ
cmVmZXJlbmNlc0tleTo6Y2FjaGVBUElFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJRW5hYmxlZChzdG9yZS5nZXRC
b29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZldGNoQVBJRW5hYmxlZEtleSgpKSk7
CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyVGlt
aW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnVz
ZXJUaW1pbmdFbmFibGVkS2V5KCkpKTsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldFBhaW50VGltaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JL
ZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnBhaW50VGltaW5nRW5hYmxlZEtleSgpKSk7CiAgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXNvdXJjZVRpbWluZ0Vu
YWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXNvdXJj
ZVRpbWluZ0VuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6ZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkS2V5KCkp
KTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFJlc3Ry
aWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3Moc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZl
cmVuY2VzS2V5OjpyZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzS2V5KCkpKTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisy
MDIwLTA0LTEzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJ
bXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgcHJlZmVyZW5jZSBrZXkgZm9yIHBh
aW50IHRpbWluZy4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRl
Lmg6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2Vi
UHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBwYWlu
dFRpbWluZ0VuYWJsZWRdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0UGFpbnRUaW1p
bmdFbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6
CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorCiAyMDIwLTA0LTEzICBUaW0gSG9ydG9u
ICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTk4
NDMpOiAiTWlzc2luZyBQbHVnLUluIiB3aGVuIGRyYWdnaW5nIGFuIGltYWdlIGludG8gTWFpbCBD
b21wb3NlCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VLZXlzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI2MCw2ICsyNjAsNyBAQAogI2RlZmluZSBXZWJLaXRBdHRhY2ht
ZW50RWxlbWVudEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QXR0YWNobWVudEVsZW1lbnRF
bmFibGVkIgogI2RlZmluZSBXZWJLaXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWRQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkIgogI2RlZmluZSBXZWJL
aXRNZW51SXRlbUVsZW1lbnRFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdE1lbnVJdGVtRWxl
bWVudEVuYWJsZWQiCisjZGVmaW5lIFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXkgQCJXZWJLaXRQYWludFRpbWluZ0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFVzZXJUaW1pbmdF
bmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFVzZXJUaW1pbmdFbmFibGVkIgogI2RlZmluZSBX
ZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UmVzb3VyY2VU
aW1pbmdFbmFibGVkIgogI2RlZmluZSBXZWJLaXRNZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hh
cmR3YXJlU3VwcG9ydFByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZWRpYUNvbnRlbnRUeXBlc1JlcXVp
cmluZ0hhcmR3YXJlU3VwcG9ydCIKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkod29ya2luZyBjb3B5
KQpAQCAtNjgyLDYgKzY4Miw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogI2lmIEVOQUJMRShJTlRF
UlNFQ1RJT05fT0JTRVJWRVIpCiAgICAgICAgIEBOTywgV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2
ZXJFbmFibGVkUHJlZmVyZW5jZUtleSwKICNlbmRpZgorICAgICAgICBATk8sIFdlYktpdFBhaW50
VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0VXNlclRpbWlu
Z0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktpdFJlc291cmNlVGltaW5n
RW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0TWVkaWFVc2VyR2VzdHVy
ZUluaGVyaXRzRnJvbURvY3VtZW50LApAQCAtMzMwNiw2ICszMzA3LDE2IEBAIC0gKHZvaWQpc2V0
VXNlclRpbWluZ0VuYWJsZWQ6KEJPT0wpZmxhZwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6Zmxh
ZyBmb3JLZXk6V2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAo
Qk9PTClwYWludFRpbWluZ0VuYWJsZWQKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZv
cktleTpXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9p
ZClzZXRQYWludFRpbWluZ0VuYWJsZWQ6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29s
VmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07
Cit9CisKIC0gKEJPT0wpcmVzb3VyY2VUaW1pbmdFbmFibGVkCiB7CiAgICAgcmV0dXJuIFtzZWxm
IF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtl
eV07CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTY2MSw2ICs2NjEsNyBAQCBAaW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzIChXZWJQcml2
YXRlKQogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wga2V5Z2VuRWxlbWVudEVuYWJsZWQ7CiBA
cHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCB1c2VyVGltaW5nRW5hYmxlZDsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljKSBCT09MIHJlc291cmNlVGltaW5nRW5hYmxlZDsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljKSBCT09MIHBhaW50VGltaW5nRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09M
IGxpbmtQcmVsb2FkRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIG1lZGlhVXNl
ckdlc3R1cmVJbmhlcml0c0Zyb21Eb2N1bWVudDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09M
IGlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTMy
MDEsNiArMzIwMSw3IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW4K
IAogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRp
bWluZ0VuYWJsZWQocHJlZmVyZW5jZXMudXNlclRpbWluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVk
KHByZWZlcmVuY2VzLnJlc291cmNlVGltaW5nRW5hYmxlZCk7CisgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJsZWQocHJlZmVyZW5j
ZXMucGFpbnRUaW1pbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChwcmVmZXJlbmNlcy5saW5rUHJlbG9h
ZEVuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5tZWRpYVByZWxvYWRpbmdFbmFi
bGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldElz
U2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQocHJlZmVyZW5jZXMuaXNTZWN1cmVDb250ZXh0
QXR0cmlidXRlRW5hYmxlZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCShyZXZp
c2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxu
b2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1
bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBwcmVmZXJlbmNlIGtleSBmb3IgcGFpbnQtdGltaW5nLgorCisgICAgICAgICogSW50ZXJm
YWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdl
YlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZp
ZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lX
ZWJQcmVmZXJlbmNlcy5pZGw6CisgICAgICAgICogSW50ZXJmYWNlcy9XZWJLaXQuaWRsOgorICAg
ICAgICAgICAgICAgIFRvdWNoZWQgdG8gdHJpZ2dlciBidWlsZC4KKwogMjAyMC0wNC0wOCAgRGFu
aWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgU2hvdWxkIGZpbmQgdG91
Y2gtYWN0aW9uIGVsZW1lbnRzIGluc2lkZSBub24tY29tcG9zaXRlZCBpZnJhbWVzCkluZGV4OiBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE5Nyw2ICsxOTcsOCBAQAogCiAj
ZGVmaW5lIFdlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0VXNlclRp
bWluZ0VuYWJsZWQiCiAKKyNkZWZpbmUgV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5j
ZUtleSAiV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkIgorCiAjZGVmaW5lIFdlYktpdFJlc291cmNl
VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZCIK
IAogI2RlZmluZSBXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRM
aW5rUHJlbG9hZEVuYWJsZWQiCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVm
ZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJl
ZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyNiw2ICszMjYsOCBAQCB2
b2lkIFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNlCiAKICAgICBDRkRpY3Rpb25h
cnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJl
ZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1
ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSks
IGtDRkJvb2xlYW5GYWxzZSk7CisKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywg
Q0ZTVFIoV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5G
YWxzZSk7CiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0
TWVkaWFQcmVsb2FkaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwpA
QCAtMjQxNCw2ICsyNDE2LDIwIEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnJlc291cmNlVGlt
aW5nRW4KICAgICByZXR1cm4gU19PSzsKIH0KIAorSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0
UGFpbnRUaW1pbmdFbmFibGVkKEJPT0wgZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUoV2Vi
S2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwgZW5hYmxlZCk7CisgICAgcmV0dXJu
IFNfT0s7Cit9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnBhaW50VGltaW5nRW5hYmxlZChf
T3V0XyBCT09MKiBlbmFibGVkKQoreworICAgIGlmICghZW5hYmxlZCkKKyAgICAgICAgcmV0dXJu
IEVfUE9JTlRFUjsKKyAgICAqZW5hYmxlZCA9IGJvb2xWYWx1ZUZvcktleShXZWJLaXRQYWludFRp
bWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KTsKKyAgICByZXR1cm4gU19PSzsKK30KKwogSFJFU1VM
VCBXZWJQcmVmZXJlbmNlczo6c2VydmVyVGltaW5nRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVk
KQogewogICAgIGlmICghZW5hYmxlZCkKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YlByZWZlcmVuY2VzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
UHJlZmVyZW5jZXMuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViUHJlZmVyZW5jZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzA3LDYgKzMwNyw4IEBAIHB1
YmxpYzoKICAgICAvLyBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOAogICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKF9PdXRfIEJP
T0wqKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0QWxsb3dUb3BO
YXZpZ2F0aW9uVG9EYXRhVVJMcyhCT09MKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgcGFpbnRUaW1pbmdFbmFibGVkKF9PdXRfIEJPT0wqKTsKKyAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0UGFpbnRUaW1pbmdFbmFibGVkKEJPT0wpOwogCiAg
ICAgLy8gV2ViUHJlZmVyZW5jZXMKIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
Vmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5j
cHAJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Mjg1LDYgKzUyODUsMTEgQEAgSFJFU1VMVCBXZWJWaWV3
Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQogICAgICAgICByZXR1cm4gaHI7CiAgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZCgh
IWVuYWJsZWQpOwogCisgICAgaHIgPSBwcmVmc1ByaXZhdGUtPnBhaW50VGltaW5nRW5hYmxlZCgm
ZW5hYmxlZCk7CisgICAgaWYgKEZBSUxFRChocikpCisgICAgICAgIHJldHVybiBocjsKKyAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFBhaW50VGltaW5nRW5h
YmxlZCghIWVuYWJsZWQpOworCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPnJlc291cmNlVGltaW5n
RW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBo
cjsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVu
Y2VzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2Vz
L0lXZWJQcmVmZXJlbmNlcy5pZGwJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVu
Y2VzUHJpdmF0ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50
ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAkocmV2aXNpb24gMjYwMDQ1KQorKysg
U291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjY1LDQgKzI2NSw2IEBAIGludGVyZmFjZSBJV2ViUHJl
ZmVyZW5jZXNQcml2YXRlOCA6IElXZWIKIHsKICAgICBIUkVTVUxUIGFsbG93VG9wTmF2aWdhdGlv
blRvRGF0YVVSTHMoW291dCwgcmV0dmFsXSBCT09MKiBlbmFibGVkKTsKICAgICBIUkVTVUxUIHNl
dEFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoW2luXSBCT09MIGVuYWJsZWQpOworICAgIEhS
RVNVTFQgcGFpbnRUaW1pbmdFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOworICAgIEhSRVNV
TFQgc2V0UGFpbnRUaW1pbmdFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKIH0KSW5kZXg6IFNv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvV2ViS2l0LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL1dlYktpdC5pZGwJKHJldmlzaW9u
IDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvV2ViS2l0Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIGNwcF9xdW90ZSgiLyoi
KQotY3BwX3F1b3RlKCIgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIw
MTAsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiIpCitjcHBfcXVvdGUoIiAq
IENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxNSwgMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIikKIGNwcF9xdW90ZSgiICoiKQogY3BwX3F1
b3RlKCIgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQiKQogY3BwX3F1b3RlKCIgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMiKQpJbmRleDogVG9v
bHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjYw
MDQ1KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMjAtMDQtMTMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAg
IEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgcHJlZmVyZW5jZSBrZXkgZm9yIHBh
aW50LXRpbWluZy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJl
ZS5tbToKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAg
IChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRy
b2xsZXI6OnJlc2V0UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorCiAyMDIwLTA0LTEz
ICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAgICAgIGh0
dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtZG9tYWluLmh0bWwgaXMg
YSBjb25zdGFudCBmYWlsdXJlIG9uIGlPUwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMjYwMDQ1KQorKysgVG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDA0LDYgKzEw
MDQsNyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0CiAgICAgW3By
ZWZlcmVuY2VzIHNldE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkOllFU107CiAgICAgW3ByZWZl
cmVuY2VzIHNldFJlc291cmNlVGltaW5nRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBz
ZXRVc2VyVGltaW5nRW5hYmxlZDpZRVNdOworICAgIFtwcmVmZXJlbmNlcyBzZXRQYWludFRpbWlu
Z0VuYWJsZWQ6WUVTXTsKIAogICAgIFtwcmVmZXJlbmNlcyBzZXRDYWNoZUFQSUVuYWJsZWQ6Tk9d
OwogICAgIHByZWZlcmVuY2VzLm1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxlZCA9IFlFUzsKSW5kZXg6
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAkocmV2aXNpb24g
MjYwMDQ1KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtOTIxLDYgKzkyMSw3IEBAIHN0YXRpYyB2b2lkIHNldFdlYlByZWZl
cmVuY2VzRm9yVGVzdE9wdGkKICAgICBwcmVmc1ByaXZhdGUtPnNldEFsbG93VG9wTmF2aWdhdGlv
blRvRGF0YVVSTHMob3B0aW9ucy5hbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKTsKICAgICBw
cmVmZXJlbmNlcy0+c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChvcHRpb25zLnVzZUVwaGVtZXJh
bFNlc3Npb24pOwogICAgIHByZWZlcmVuY2VzLT5zZXRVc2VzUGFnZUNhY2hlKG9wdGlvbnMuZW5h
YmxlQmFja0ZvcndhcmRDYWNoZSk7CisgICAgcHJlZnNQcml2YXRlLT5zZXRQYWludFRpbWluZ0Vu
YWJsZWQoVFJVRSk7CiB9CiAKIHN0YXRpYyBTdHJpbmcgYXBwbGljYXRpb25JZCgpCkluZGV4OiBU
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMjYwMDQ1
KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTkzMSw2ICs5MzEsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpyZXNldFByZWZl
cmVuY2VzVG9DCiAgICAgV0tQcmVmZXJlbmNlc1NldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChw
cmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5h
YmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbmdF
bmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKKyAgICBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1p
bmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQ
cmVsb2FkaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1Nl
dE1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmUocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJl
ZmVyZW5jZXNTZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0
ZShwcmVmZXJlbmNlcywgZmFsc2UpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjYwMDQ1KQorKysgTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjAt
MDQtMTMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxl
bWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0cyBmb3Igc29tZSBmaXJzdC1jb250
ZW50ZnVsLXBhaW50IChGQ1ApIHVzZS1jYXNlcy4KKyAgICAgICAgRW5zdXJlIHRoYXQgRkNQIHdv
cmtzIHdlbGwgd2l0aCBWTkUgKGZpcnN0IHBhaW50IGRlbGF5IHVudGlsIGNvbnRlbnRzIGFyZSB2
aXN1YWxseSBub24tZW1wdHkpLgorCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRp
bWluZy1hcGlzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBp
L3BhaW50LXRpbWluZy1hcGlzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFw
aS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qczogQWRkZWQuCisgICAgICAgICAgICAgICAg
VGVzdCBleGlzdGVuY2Ugb2YgcGFpbnQgdGltaW5nIEFQSSBvbiB0aGUgd2luZG93IG9iamVjdC4K
KworICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1l
cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1j
b250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5j
ZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LXdp
dGgtd29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJj
ZXMvZmNwLXN1YmZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9y
ZXNvdXJjZXMvd29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAgICAgICAgIFRlc3QgdGhhdCBG
Q1AgaXMgbm90IGF2YWlsYWJsZSBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lcyBhbmQgd29ya2Vycy4K
KworICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1j
b250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFu
Y2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbDog
QWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRp
bHMuanM6IEFkZGVkLgorICAgICAgICAoYXN5bmMgd2FpdEZvckZDUCk6CisgICAgICAgICAgICAg
ICAgVGVzdCB0aGF0IHBlcmZvcm1hbmNlIG9ic2VydmVycyBhcmUgY2FsbGVkIGZvciBGQ1AuCisK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWlu
Zy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1m
Y3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS1leHBlY3RlZC50eHQ6IEFkZGVk
CisgICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3N0eWxlLnBo
cDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc3R5
bGUuY3NzOiAgQWRkZWQuCisgICAgICAgICAgICAgICAgSWYgYSBwZW5kaW5nIHN0eWxlc2hlZXQg
YmxvY2tzIHBhaW50aW5nLCBtYWtlIHN1cmUgRkNQIGlzIHJlcG9ydGVkIG9ubHkgYWZ0ZXIgc3R5
bGVzaGVldCBoYXMgbG9hZGVkLgorCisgICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWlu
Zy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12
aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c2NyaXB0LnBocDogQWRkZWQuCisg
ICAgICAgICAgICAgICAgSWYgVk5FIGR1ZSB0byBudW1iZXIgb2YgY2hhcmFjdGVycyBibG9ja3Mg
cGFpbnRpbmcsIG1ha2Ugc3VyZSBGQ1AgaXMgcmVwb3J0ZWQgb25seSBhZnRlciBwYWludGluZyBp
cyB1bmJsb2NrZWQuCisKIDIwMjAtMDQtMTMgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5l
eUBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5
L2FwcC1ib3VuZC1kb21haW4uaHRtbCBpcyBhIGNvbnN0YW50IGZhaWx1cmUgb24gaU9TCkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRp
bWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVy
Zm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51
bS1jaGFycy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3Vh
bGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMgQEAKK1BBU1MgcGFpbnRFbnRyeS5zdGFydFRpbWUgPiB0aW1lc3RhbXBzW2V4
cGVjdGVkSXRlcmF0aW9uc10gaXMgdHJ1ZQorUEFTUyBwYWludEVudHJ5LnN0YXJ0VGltZSA8IHRp
bWVzdGFtcHNbZXhwZWN0ZWRJdGVyYXRpb25zICsgMl0gaXMgdHJ1ZQorCkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3At
YWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRp
bWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1h
bmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hh
cnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDczIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewor
ICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKQorICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICB9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHZhciBzdHlsZUVu
dHJ5ID0gbnVsbAorICAgIHZhciBwYWludEVudHJ5ID0gbnVsbAorICAgIHZhciB0aW1lc3RhbXBz
ID0gW10KKyAgICB2YXIgY2hhcnNQZXJJdGVyYXRpb24gPSA4MAorICAgIHZhciBjaGFyVGhyZXNo
b2xkID0gMjAwCisgICAgdmFyIGV4cGVjdGVkSXRlcmF0aW9ucyA9IE1hdGguY2VpbChjaGFyVGhy
ZXNob2xkIC8gY2hhcnNQZXJJdGVyYXRpb24pCisKKyAgICBmdW5jdGlvbiBzbG93U3RyaW5nKHN0
ciwgZGVsYXkpIHsKKyAgICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnc2NyaXB0JykKKyAgICAgICAgY29uc3Qgc291cmNlID0gYGRvY3VtZW50LndyaXRlKCcke3N0
cn0nKTsgdGltZXN0YW1wcy5wdXNoKCR7cGVyZm9ybWFuY2Uubm93KCl9KTsgY2hlY2soKTtgCisg
ICAgICAgIHNjcmlwdC5zcmMgPSBgLi9yZXNvdXJjZXMvc2xvd3NjcmlwdC5waHA/Y2FjaGVCdXN0
ZXI9JHtwZXJmb3JtYW5jZS5ub3coKX0mZGVsYXk9JHtkZWxheX0mc2NyaXB0PSR7c291cmNlfWAK
KyAgICAgICAgZG9jdW1lbnQud3JpdGUoc2NyaXB0Lm91dGVySFRNTCkKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBjaGVjaygpIHsKKyAgICAgICAgaWYgKHRpbWVzdGFtcHMubGVuZ3RoIDwgZXhwZWN0
ZWRJdGVyYXRpb25zICsgMyB8fCAhcGFpbnRFbnRyeSkKKyAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICcnCisKKyAgICAgICAgc2hvdWxkQmVU
cnVlKCJwYWludEVudHJ5LnN0YXJ0VGltZSA+IHRpbWVzdGFtcHNbZXhwZWN0ZWRJdGVyYXRpb25z
XSIpCisgICAgICAgIHNob3VsZEJlVHJ1ZSgicGFpbnRFbnRyeS5zdGFydFRpbWUgPCB0aW1lc3Rh
bXBzW2V4cGVjdGVkSXRlcmF0aW9ucyArIDJdIikKKyAgICAgICAgCisgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpCisgICAg
fQorCisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+
IHsKKyAgICAgICAgcGFpbnRFbnRyeSA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Bh
aW50JylbMF0KKyAgICAgICAgaWYgKHBhaW50RW50cnkpCisgICAgICAgICAgICBjaGVjaygpCisg
ICAgfSk7CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJwYWludCJdfSkKKwor
ICAgIGZ1bmN0aW9uIG5leHQoKSB7CisgICAgICAgIHNsb3dTdHJpbmcoJ1x0ICcgKyBBcnJheShj
aGFyc1Blckl0ZXJhdGlvbiAvIDIpLmZpbGwoJyAwIFx0IEEnKS5qb2luKCcnKSArICIgICBcblx0
IiwgMC4zLCBjaGFyc1Blckl0ZXJhdGlvbikKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3Nj
cmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9z
Y3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwv
c2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8
L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgp
PC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQo
KTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0
KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4
dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5l
eHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNl
LXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5j
ZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1m
b3Itc3R5bGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1
YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDIgQEAKK1BBU1MgcGFpbnRFbnRyeS5zdGFydFRpbWUgPj0gc3R5bGVFbnRyeS5zdGFy
dFRpbWUgKyBzdHlsZUVudHJ5LmR1cmF0aW9uIGlzIHRydWUKK1RFWFQKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1h
ZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmct
ZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50
LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpCisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgIH0KKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgdmFyIHN0eWxlRW50cnkgPSBudWxsOwor
ICAgIHZhciBwYWludEVudHJ5ID0gbnVsbDsKKyAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJm
b3JtYW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAgICBjb25zdCBwYWludEVudHJpZXMgPSBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdwYWludCcpOworICAgICAgICBpZiAocGFpbnRF
bnRyaWVzLmxlbmd0aCkKKyAgICAgICAgICAgIHBhaW50RW50cnkgPSBwYWludEVudHJpZXNbMF07
CisKKyAgICAgICAgY29uc3QgcmVzb3VyY2VFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5VHlwZSgncmVzb3VyY2UnKS5maWx0ZXIociA9PiByLm5hbWUuaW5jbHVkZXMoJ3Nsb3dzdHls
ZS5waHAnKSk7CisgICAgICAgIGlmIChyZXNvdXJjZUVudHJpZXMubGVuZ3RoKQorICAgICAgICAg
ICAgc3R5bGVFbnRyeSA9IHJlc291cmNlRW50cmllc1swXTsKKworICAgICAgICBpZiAoIXN0eWxl
RW50cnkgfHwgIXBhaW50RW50cnkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc2hv
dWxkQmVUcnVlKCJwYWludEVudHJ5LnN0YXJ0VGltZSA+PSBzdHlsZUVudHJ5LnN0YXJ0VGltZSAr
IHN0eWxlRW50cnkuZHVyYXRpb24iKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cisg
ICAgfSk7CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJwYWludCIsICJyZXNv
dXJjZSJdfSk7Cis8L3NjcmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi9yZXNv
dXJjZXMvc2xvd3N0eWxlLnBocD9kZWxheT0wLjUiIC8+Cis8L2hlYWQ+Cis8Ym9keT4KK1RFWFQK
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFu
Y2UvcmVzb3VyY2VzL3Nsb3dzY3JpcHQucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dzY3JpcHQucGhwCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dz
Y3JpcHQucGhwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOSBAQAorPD9waHAKK2lmIChpc3Nl
dCgkX0dFVFsiZGVsYXkiXSkpCisgICAgc2xlZXAoJF9HRVRbImRlbGF5Il0pOworaGVhZGVyKCdD
YWNoZS1Db250cm9sOiBuby1jYWNoZSwgbXVzdC1yZXZhbGlkYXRlJyk7CitoZWFkZXIoJ0NvbnRl
bnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0Jyk7CisKK2VjaG8oJF9HRVRbInNjcmlwdCJdKQorPz4K
KwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xv
d3N0eWxlLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1h
bmNlL3Jlc291cmNlcy9zbG93c3R5bGUucGhwCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dzdHlsZS5waHAJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw2IEBACis8P3BocAoraWYgKGlzc2V0KCRfR0VUWyJkZWxheSJdKSkK
KyAgICBzbGVlcCgkX0dFVFsiZGVsYXkiXSk7CitoZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG5vLWNh
Y2hlLCBtdXN0LXJldmFsaWRhdGUnKTsKK2hlYWRlcignTG9jYXRpb246IHN0eWxlLmNzcycpOwor
Pz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3N0
eWxlLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNl
L3Jlc291cmNlcy9zdHlsZS5jc3MJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc3R5bGUuY3NzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMyBAQAorYm9keSB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4KK307ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6
ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6
ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQt
c2l6ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mg
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBzaXplLiAKKwpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemU8L3RpdGxlPgorPHN0eWxlPgorICAg
ICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAw
cHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVy
bCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDAg
MDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9m
Y3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBiYWNrZ3JvdW5k
LXNpemU6IDEwMCUgMTAwJTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2
PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBk
dWUgdG8gYmFja2dyb3VuZCBzaXplLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0
byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldC4gCisKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
Zy1pbWFnZS1zZXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gYmFja2dyb3Vu
ZCBpbWFnZSBpbiBpbWFnZS1zZXQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAg
ICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC8q
IGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAg
I21haW4uY29udGVudGZ1bCB7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtaW1h
Z2Utc2V0KHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpIDF4KTsKKyAgICAgICAgYmFja2dy
b3VuZC1pbWFnZTogaW1hZ2Utc2V0KHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpIDF4KTsK
KyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0
aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0
ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBp
bWFnZSBpbiBpbWFnZS1zZXQuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZm9yIGJhY2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGUuIAorCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50
IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIGZpcmUgZm9yIGJhY2tncm91bmQgaW1hZ2Ugb25seSB3
aGVuIHZpc2libGU8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6
IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRm
dWwgYW5kIHByZUZDUCBjbGFzc2VzIGFyZSBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8K
KyAgICAjbWFpbi5wcmVGQ1AgeworICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgfQor
CisgICAgI21haW4uY29udGVudGZ1bCwgICNtYWluLnByZUZDUCB7CisgICAgICAgIGJhY2tncm91
bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgICNt
YWluLmNvbnRlbnRmdWwgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOworICAgIH0KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwv
c2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hl
biB2aXNpYmxlLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMyBAQAorCitQQVNTIENhbnZhcyBzaG91bGQgY291bnQgYXMgY29udGVudGZ1bCB3aGVu
IGNvbnRleHQgaXMgY3JlYXRlZCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Q
ZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHdoZW4gY2FudmFzIGNvbnRleHQgaXMg
Y3JlYXRlZDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNTAiIGhlaWdodD0i
NTAiPjwvY2FudmFzPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAg
IGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWlu
dCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4g
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgYXdhaXQgYXNzZXJ0Tm9G
aXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdjYW52YXMnKTsKKyAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRl
eHQoJzJkJyk7CisgICAgY29udGV4dC5maWxsUmVjdCgwLCAwLCAxMDAsIDEwMCk7CisgICAgYXdh
aXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ0NhbnZhcyBzaG91bGQgY291
bnQgYXMgY29udGVudGZ1bCB3aGVuIGNvbnRleHQgaXMgY3JlYXRlZCcpOworPC9zY3JpcHQ+Cis8
L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEdyYWRpZW50cyBzaG91bGQgbm90IGNvdW50
IGFzIGNvbnRlbnRmdWwgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjcgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5n
IFRlc3Q6IEZDUCBzaG91bGQgbm90IGZpcmUgd2l0aCBncmFkaWVudC1vbmx5IGJhY2tncm91bmRz
PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdy
YWRpZW50KHRvIGJvdHRvbSwgb3JhbmdlLCBibHVlKTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYg
aWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewor
ICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywg
IlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBjb25zdCBtYWluID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW4nKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIg
PT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3Nl
cnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICAnR3JhZGllbnRzIHNob3VsZCBub3Qg
Y291bnQgYXMgY29udGVudGZ1bCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2Nl
bmRhbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNCBAQAorVGV4dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVl
IHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHJvdGF0aW5nIGludG8gdmlldy4gCisKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFu
dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8g
M2QgcmV2ZWFsaW5nIG9mIGRlc2NlbmRhbnRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7
CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
bGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsK
KyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDQ1ZGVnKTsKKyAgICAgICAgdHJhbnNmb3JtLXN0
eWxlOiBwcmVzZXJ2ZS0zZDsKKyAgICB9CisKKyAgICAvKgorICAgICAgIFRoaXMgdGVzdHMgdGhh
dCBnaXZlbiBtdWx0aXBsaWNhdGlvbiBlZmZlY3Qgb2YgM2QgdHJhbnNmb3JtcyBvbiBib3VuZGlu
ZyByZWN0LAorICAgICAgIEFuIGVsZW1lbnQgY291bnRzIGFzIGNvbnRlbnRmdWwvcGFpbnRhYmxl
IG9ubHkgd2hlbiBpdHMgYm91bmRpbmcgcmVjdCBpcyB0cnVseSBub24tZW1wdHkgKi8KKyAgICAj
Y2hpbGQgeworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVkZWcpOworICAgIH0KKworICAg
IC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisg
ICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXYgaWQ9ImNoaWxkIj5UZXh0PC9kaXY+
Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQg
ZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHJvdGF0aW5nIGludG8gdmlldy4iKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gM2Qgcm90YXRpb24gaW50byB2aWV3LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS0zZC1yb3RhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNk
LXJvdGF0ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qt
cm90YXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1
ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXc8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsK
KyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBs
ZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSg5MGRlZyk7CisgICAgICAgIHBv
c2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0KKworICAgIC8qIGNvbnRl
bnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4u
Y29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9Im1haW4iPlRleHQ8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldy4iKQor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXNjYWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXNjYWxlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLXNjYWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBzY2FsZSBiZWNvbWluZyBw
b3NpdGl2ZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlv
bi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2Fs
ZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
d2hlbiByZXZlYWxlZCBkdXJpbmcgdHJhbnNpdGlvbi4gCisKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1p
bnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFu
Y2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBpbiB0cmFuc2l0aW9uPC90aXRsZT4KKzxzdHlsZT4K
KyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAg
ICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTBzOworICAgICAgICBwb3NpdGlvbjogcmVsYXRp
dmU7CisgICAgICAgIHRvcDogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlz
IGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgewor
ICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0i
bWFpbiI+VEVYVDwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyB3aGVuIHJldmVhbGVkIGR1cmluZyB0cmFuc2l0aW9uLiIpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHNjYWxlIGNoYW5nZTwv
dGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3Jt
OiBzY2FsZSgwKTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7
CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcp
OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2Zj
cCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTog
bm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4K
KyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gc2NhbGUg
YmVjb21pbmcgcG9zaXRpdmUuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw0IEBACitJTlZJU0lCTEUKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiAKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWlu
dmlzaWJsZS10ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDog
RkNQIHNob3VsZCBzdGlsbCBmaXJlIGZvciBpbnZpc2libGUgdGV4dDwvdGl0bGU+Cis8c3R5bGU+
CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRo
OiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgdmlzaWJpbGl0eTogaGlk
ZGVuOworICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKKyAgICB9CisKKyAgICAvKiBj
b250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNt
YWluLmNvbnRlbnRmdWwgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOworICAgIH0KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwv
c2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgSU5WSVNJQkxFCis8L2Rpdj4KKzxzY3JpcHQ+
CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVk
by1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcG9zaXRp
dmUgb3BhY2l0eS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0
bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gYW5jZXN0b3Igb3Bh
Y2l0eTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7
CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgcG9z
aXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAgI2NoaWxkIHsK
KyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGFuZCBpbnRl
cm1lZGlhdGUgY2xhc3NlcyBhcmUgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAg
I21haW4uY29udGVudGZ1bCAjY2hpbGQgeworICAgICAgICBvcGFjaXR5OiAxOworICAgIH0KKwor
ICAgICNtYWluLmludGVybWVkaWF0ZSAjY2hpbGQgeworICAgICAgICBvcGFjaXR5OiAxOworICAg
IH0KKworICAgICNtYWluLmludGVybWVkaWF0ZSB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAg
fQorCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIG9wYWNpdHk6IDAuNTsKKyAgICB9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXYgaWQ9ImNoaWxkIj5UZXh0PC9k
aXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIik7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIG9wYWNpdHktcmV2ZWFsZWQgZWxlbWVudC4gCisKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNp
dHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0
bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gb3BhY2l0eTwvdGl0
bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJl
bGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgu
Li9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKwor
ICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICov
CisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIG9wYWNpdHk6IDAuMTsKKyAgICB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgi
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gb3BhY2l0eS1yZXZlYWxlZCBlbGVt
ZW50LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91
dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
dXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAK
KworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpbnRlcnNlY3Rpb24g
d2l0aCBkb2N1bWVudC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5z
bGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3Vu
ZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHRy
YW5zZm9ybS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4gCisKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFu
Y2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGludGVyc2Vj
dGlvbiB3aXRoIGRvY3VtZW50PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAg
IHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4
OworICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwMHB4KTsKKyAgICAgICAgcG9zaXRp
b246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6
IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRm
dWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29u
dGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxk
aXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVu
dGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlvbiB3aXRo
IGRvY3VtZW50LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1v
Zi1ib3VuZHMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5k
cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8g
aW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsK
KyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBs
ZWZ0OiAtMTAwMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDog
MDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBu
Zyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3Rf
ZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgbGVmdDogMHB4
OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
dXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAg
IHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpbnRlcnNlY3Rp
b24gd2l0aCBkb2N1bWVudC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiAKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0PC90
aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKwor
ICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiOworICAgICAgICBkaXNw
bGF5OiBub25lOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBp
biB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAg
ICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8
L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFn
ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgaW1hZ2UuIAor
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZv
cm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IGltYWdl
PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2
ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0K
KworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQu
ICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6IHVybCgu
Li9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFp
biI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGltYWdlLiIpCis8L3NjcmlwdD4KKzwvYm9k
eT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1v
cGFjaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVs
ZW1lbnQgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBz
ZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNl
dWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZlIG9wYWNp
dHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
fQorCisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAiVEVYVCI7CisgICAgICAg
IG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVk
IGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAg
ICAgICAgb3BhY2l0eTogMC41OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8
L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4iKQorPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtdGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LXRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8t
ZWxlbWVudCB0ZXh0LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8t
ZWxlbWVudCB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0
X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAgIGNv
bnRlbnQ6ICJURVhUIgorICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4K
KzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVl
IHRvIHBzZXVkby1lbGVtZW50IHRleHQuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAK
KworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVu
dCBiZWNvbWluZyB2aXNpYmxlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LXZpc2liaWxpdHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtdmlzaWJpbGl0eS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlPC90aXRsZT4K
KzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAg
ICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNt
YWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiOworICAgICAgICB2aXNpYmlsaXR5
OiBoaWRkZW47CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGlu
IHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAg
ICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4i
PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiIpCis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiBTVkcg
YmVjb21lcyBjb250ZW50ZnVsLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atc3ZnLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IHdpdGggU1ZHPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAx
MDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAg
ICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgfQorCisgICAgI2NpcmNsZSB7CisgICAgICBkaXNw
bGF5OiBub25lOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBp
biB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCAjY2lyY2xlIHsKKyAg
ICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4K
KyAgPHN2ZyB2aWV3Qm94PSIwIDAgMTAgMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIKKyAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgor
ICAgIDxkZWZzPgorICAgICAgPGNpcmNsZSBpZD0ibXlDaXJjbGUiIGN4PSI1IiBjeT0iNSIgcj0i
NCIgc3Ryb2tlPSJibHVlIi8+CisgICAgPC9kZWZzPgorICAgIDx1c2UgaWQ9ImNpcmNsZSIgaHJl
Zj0iI215Q2lyY2xlIiBmaWxsPSJncmVlbiIgLz4KKyAgPC9zdmc+Cis8L2Rpdj4KKzxzY3JpcHQ+
CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiBTVkcgYmVj
b21lcyBjb250ZW50ZnVsLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
IEBACisKKworUEFTUyBUZXh0IGlucHV0IHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGl0
cyB2YWx1ZSBpcyBub24tZW1wdHkgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgZm9yIG5vbi1lbXB0eSB0ZXh0IGlucHV0PC90aXRs
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8aW5wdXQgaWQ9ImlucHV0IiB0eXBlPSJ0ZXh0IiAvPgorPHNjcmlwdD4KKyAgcHJvbWlz
ZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVy
Zm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7Cisg
ICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2Fk
JywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAg
ICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQnKTsKKyAgICAg
IGlucHV0LnNldEF0dHJpYnV0ZSgndmFsdWUnLCAnICAnKTsKKyAgICAgIGF3YWl0IGFzc2VydE5v
Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgndmFsdWUn
LCAndmFsdWUnKTsKKyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7Cisg
IH0sICdUZXh0IGlucHV0IHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGl0cyB2YWx1ZSBp
cyBub24tZW1wdHknKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0IEBACitBCisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyBvbmx5IHdoZW4gc29tZSBvZiB0aGUgdGV4dCBpcyB2aXNpYmxlLCBjb25zaWRlcmluZyA6
OmZpcnN0LWxldHRlci4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8u
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgbm90IGZpcmUg
d2hlbiBhbGwgdGV4dCBpcyBoaWRkZW4gZHVlIHRvIHR5cG9ncmFwaGljIHBzZXVkby1lbGVtZW50
czwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRp
dmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9
CisKKyAgICAjbWFpbiAqOjpmaXJzdC1sZXR0ZXIgeworICAgICAgICBvcGFjaXR5OiAwOworICAg
IH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3Jp
cHQuICovCisgICAgI21haW4uY29udGVudGZ1bCAqOjpmaXJzdC1sZXR0ZXIgeworICAgICAgICBv
cGFjaXR5OiAxOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdj5B
PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgb25seSB3aGVuIHNvbWUgb2YgdGhlIHRleHQgaXMgdmlzaWJsZSwgY29uc2lk
ZXJpbmcgOjpmaXJzdC1sZXR0ZXIuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw0IEBACisKKworUEFTUyBWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBm
aXJzdCBmcmFtZSBpcyBsb2FkZWQgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFu
Y2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gbG9hZGVkIHZpZGVvIGZyYW1lPC90aXRs
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8dmlkZW8gaWQ9InZpZGVvIiBhdXRvcGxheT48L3ZpZGVvPgorPHNjcmlwdD4KKyAgcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cu
UGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7
CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCds
b2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOwor
ICAgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmlkZW8nKTsKKyAg
ICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgnc3JjJywgJy9tZWRpYS90ZXN0Lm1wNCcpOworICAgICAg
YXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIHZpZGVvLm9uY2FucGxheSA9
IHJlc29sdmU7CisgICAgICB9KTsKKyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBh
aW50KCk7CisgIH0sICdWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBmaXJzdCBm
cmFtZSBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw0IEBACisKKworUEFTUyBWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBwb3N0
ZXIgaXMgbG9hZGVkIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBh
aW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRlZCB2aWRlbyBwb3N0ZXI8L3RpdGxlPgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
Kzx2aWRlbyBpZD0idmlkZW8iIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC92aWRlbz4KKzxzY3Jp
cHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9u
KHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBv
cnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQo
KTsKKyAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2aWRlbycpOwor
ICAgIGNvbnN0IHNyYyA9ICcuLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcnOworICAgIGNvbnN0IGlt
YWdlID0gbmV3IEltYWdlKCk7CisgICAgaW1hZ2Uuc3JjID0gc3JjOworICAgIHZpZGVvLnNldEF0
dHJpYnV0ZSgncG9zdGVyJywgc3JjKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+
IHsKKyAgICAgICAgaW1hZ2Uub25sb2FkID0gYXN5bmMgKCkgPT4gcmVzb2x2ZSgpOworICAgIH0p
CisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ1ZpZGVvIHNo
b3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIHBvc3RlciBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgV2hpdGVzcGFjZSBz
aG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hp
dGVzcGFjZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBl
cmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQg
YXMgY29udGVudGZ1bDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3Np
dGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVz
LnBuZyk7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCAwOworICAgIH0KKworICAgICN0ZXh0
IHsKKyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNs
YXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRm
dWwgI3RleHR7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0id2hpdGVzcGFjZSI+ICAgPC9kaXY+CisgICAgPGRp
diBpZD0idGV4dCI+VEVYVDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJX
aGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQgQEAKK1RFWFQKKworUEFTUyBGQ1Agc2hvdWxkIGZpcmUgd2hlbiBj
b29yZGluYXRlcyBhcmUgbmVnYXRpdmUsIGlmIHdpdGhpbiBkb2N1bWVudCBzY3JvbGxhYmxlIGFy
ZWEgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13
aXRoLXJ0bC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBk
dWUgdG8gZGlyZWN0aW9uIGNoYW5nZTwvdGl0bGU+Cis8c3R5bGU+CisgICN0ZXh0IHsKKyAgICBy
aWdodDogLTEwMHB4OworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgfQorCisgIGJvZHkgewor
ICAgIGRpcmVjdGlvbjogcnRsOworICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHkgZGlyZWN0
aW9uPSJSVEwiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2
IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9
PiB7CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGlt
aW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQ
cm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBh
d2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgICBkb2N1bWVudC5ib2R5
LnN0eWxlLmRpcmVjdGlvbiA9ICdsdHInCisgICAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRm
dWxQYWludCgpOworICB9LCAnRkNQIHNob3VsZCBmaXJlIHdoZW4gY29vcmRpbmF0ZXMgYXJlIG5l
Z2F0aXZlLCBpZiB3aXRoaW4gZG9jdW1lbnQgc2Nyb2xsYWJsZSBhcmVhJyk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAKK1RoZSB0ZXN0
cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5
LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRo
dWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1Njcmlw
dHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlm
eSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tn
cm91bmQtc2l6ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250
ZXh0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1ncmFkaWVudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1p
bnZpc2libGUtdGV4dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRz
LXRyYW5zbGF0ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3ZlcmZsb3cuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3Bs
YXkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC10ZXh0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXR5cG9ncmFwaGljLXBzZXVkby5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFj
ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atd2l0aC1ydGwuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNs
ZS5zdmcJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACis8c3ZnIHhtbG5zPSJodHRwOi8v
d3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIj4KKyAgIDxjaXJjbGUgY3g9IjEwMCIg
Y3k9IjUwIiByPSI0MCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25l
IiAvPgorPC9zdmc+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPGRpdiBpZD0iaW1hZ2UiPjwv
ZGl2PgorPHNjcmlwdD4KKyAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnSU1H
Jyk7CisgIGltZy5zcmMgPSAnY2lyY2xlcy5wbmcnOworICBpbWcub25sb2FkID0gZnVuY3Rpb24o
KSB7CisgICAgZnVuY3Rpb24gc2VuZFBhaW50RW50cmllcygpIHsKKyAgICAgIGNvbnN0IHBhaW50
RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3BhaW50Jyk7CisgICAgICBp
ZiAocGFpbnRFbnRyaWVzLmxlbmd0aCA8IDIpIHsKKyAgICAgICAgc2V0VGltZW91dChzZW5kUGFp
bnRFbnRyaWVzLCAyMCk7CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAgIGxldCBlbnRy
eUNvbnRlbnRzID0gcGFpbnRFbnRyaWVzLmxlbmd0aCArICcnOworICAgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgY29uc3QgZW50cnkg
PSBwYWludEVudHJpZXNbaV07CisgICAgICAgIGVudHJ5Q29udGVudHMgKz0gJyAnICsgZW50cnku
ZW50cnlUeXBlICsgJyAnICArIGVudHJ5Lm5hbWU7CisgICAgICB9CisgICAgICBwYXJlbnQucG9z
dE1lc3NhZ2UoZW50cnlDb250ZW50cywgJyonKTsKKyAgICB9OworICAgIHNlbmRQYWludEVudHJp
ZXMoKTsKKyAgfTsKKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltYWdlJykuYXBwZW5kQ2hp
bGQoaW1nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1
YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJh
bWUtc2VuZGluZy1wYWludC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFt
ZS1zZW5kaW5nLXBhaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8c2NyaXB0PgorICBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2Un
LCBmdW5jdGlvbihlKSB7CisgICAgLy8gU2VuZCBwYWludC10aW1pbmcgZW50cmllcyB1cG9uIHJl
Y2VpdmluZyBhIG1lc3NhZ2UuCisgICAgY29uc3QgcGFpbnRFbnRyaWVzID0gcGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5VHlwZSgncGFpbnQnKTsKKyAgICBsZXQgZW50cnlDb250ZW50cyA9IHBhaW50
RW50cmllcy5sZW5ndGggKyAnJzsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhaW50RW50cmll
cy5sZW5ndGg7IGkrKykgeworICAgICAgY29uc3QgZW50cnkgPSBwYWludEVudHJpZXNbaV07Cisg
ICAgICBlbnRyeUNvbnRlbnRzICs9ICcgJyArIGVudHJ5LmVudHJ5VHlwZSArICcgJyAgKyBlbnRy
eS5uYW1lOworICAgIH0KKyAgICBwYXJlbnQucG9zdE1lc3NhZ2UoZW50cnlDb250ZW50cywgJyon
KTsKKyAgfSk7Cis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9yZXNvdXJjZXMvdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8vIE51bWJlciBtaWxsaXNlY29u
ZHMgdG8gd2FpdCBmb3IgQ1NTIHJlc291cmNlcyB0byBsb2FkLgorY29uc3QgbnVtTWlsbGlzZWNv
bmRzV2FpdCA9IDUwOworCisvLyBXZSB1c2UgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCkgY2FsbHMg
dG8gZm9yY2UgdGhlIHVzZXIgYWdlbnQgdG8gcGFpbnQgYW5kIGdpdmUgZW5vdWdoCisvLyB0aW1l
IGZvciBGQ1AgdG8gc2hvdyB1cCBpbiB0aGUgcGVyZm9ybWFuY2UgdGltZWxpbmUuIEhlbmNlLCBz
ZXQgfG51bUZyYW1lc1dhaXRpbmd8IHRvCisvLyAzIGFuZCB1c2UgdGhhdCBjb25zdGFudCB3aGVu
ZXZlciB0aGUgdGVzdCBuZWVkcyB0byB3YWl0IGZvciB0aGUgbmV4dCBwYWludCB0byBvY2N1ci4K
K2NvbnN0IG51bUZyYW1lc1dhaXRpbmcgPSAzOworCitmdW5jdGlvbiB3YWl0VGltZSh0KSB7Cisg
IHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHQuc3RlcF90aW1lb3V0KHJlc29sdmUsIG51
bU1pbGxpc2Vjb25kc1dhaXQpKTsKK30KKworZnVuY3Rpb24gd2FpdEZvckFuaW1hdGlvbkZyYW1l
cyhjb3VudCkgeworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgaWYgKGNv
dW50LS0gPD0gMCkgeworICAgICAgcmVzb2x2ZSgpOworICAgIH0gZWxzZSB7CisgICAgICByZXF1
ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVz
KGNvdW50KS50aGVuKHJlc29sdmUpOworICAgICAgfSk7CisgICAgfQorICB9KTsKK30KKworLy8g
QXNzZXJ0cyB0aGF0IHRoZXJlIGlzIGN1cnJlbnRseSBubyBGQ1AgcmVwb3J0ZWQsIGV2ZW4gYWZ0
ZXIgc29tZSB3YWl0LgorYXN5bmMgZnVuY3Rpb24gYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWlu
dCh0KSB7CisgIGlmICh0KQorICAgIGF3YWl0IHdhaXRUaW1lKHQpOworCisgIGF3YWl0IHdhaXRG
b3JBbmltYXRpb25GcmFtZXMobnVtRnJhbWVzV2FpdGluZyk7CisgIGFzc2VydF9lcXVhbHMocGVy
Zm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0
aCwgMCwgJ0ZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgbWFya2VkIHRvbyBlYXJseS4gJyk7Cit9CisK
Ky8vIEFzc2VydHMgdGhhdCBGQ1AgaXMgcmVwb3J0ZWQsIHBvc3NpYmx5IGFmdGVyIHNvbWUgd2Fp
dC4gVGhlIHdhaXQgaXMgbmVlZGVkCisvLyBiZWNhdXNlIHNvbWV0aW1lcyB0aGUgRkNQIHJlbGll
cyBvbiBzb21lIENTUyByZXNvdXJjZXMgdG8gZmluaXNoIGxvYWRpbmcuCithc3luYyBmdW5jdGlv
biBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KSB7CisgIGlmICh0KQorICAgIGF3YWl0IHdh
aXRUaW1lKHQpOworICBhd2FpdCB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKG51bUZyYW1lc1dhaXRp
bmcpOworICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ2ZpcnN0
LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5ndGgsIDEsICdFeHBlY3RlZCBmaXJzdCBjb250ZW50ZnVs
IHBhaW50IG5vdCBmb3VuZC4gJyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RfZmNwKGxhYmVsKSB7Cisg
IGNvbnN0IHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKKyAgZG9jdW1l
bnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7CisgIHJldHVybiBwcm9taXNlX3Rlc3QoYXN5bmMg
dCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRp
bWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgY29uc3QgbWFpbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluJyk7CisgICAgYXdhaXQgbmV3IFByb21pc2Uo
ciA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICBhd2FpdCBhc3Nl
cnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgbWFpbi5jbGFzc05hbWUgPSAncHJlRkNQ
JzsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgbWFpbi5j
bGFzc05hbWUgPSAnY29udGVudGZ1bCc7CisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVs
UGFpbnQoKTsKKyAgfSwgbGFiZWwpOworfQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMSBA
QAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzND
IHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktp
dC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlo
dHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUg
VG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitE
byBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJv
cGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVz
IHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qg
b2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9yZXNvdXJj
ZXMvY2lyY2xlLnN2ZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVz
b3VyY2VzL2NpcmNsZXMucG5nCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpz
CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWlu
dC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDEzIEBACitCYXNpYyBJbnRlcmZhY2UgdGVzdCBmb3IgcGFpbnQtdGlt
aW5nIEFQSXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQZXJmb3JtYW5jZVBh
aW50VGltaW5nCitQQVNTIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaXMgZGVmaW5lZC4KK1BBU1Mg
UGVyZm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUudG9KU09OIGlzIGRlZmluZWQuCitQQVNT
IG5ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
ZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBQZXJmb3JtYW5j
ZVBhaW50VGltaW5nKCknKS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGlt
aW5nLWFwaXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cGFpbnQtdGltaW5nLWFwaXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1p
bmctZnJhbWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKK1BhaW50IEFQSSBzaG91bGQg
YmUgYXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmln
aW4vc2FuZGJveGVkIGZyYW1lcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgcmVjZWl2ZWRFdmVudC5zb3VyY2UgaXMgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNh
bmRib3hlZCcpLmNvbnRlbnRXaW5kb3cKK1BBU1MgcmVjZWl2ZWRFbnRyeS5uYW1lIGlzICdmaXJz
dC1jb250ZW50ZnVsLXBhaW50JworUEFTUyBkaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJ
ZnJhbWUgaXMgZmFsc2UKK1BBU1MgQXJyYXkuaXNBcnJheShub25TYW5kYm94U3VwcG9ydGVkVHlw
ZXMpIGlzIHRydWUKK1BBU1MgQXJyYXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVkVHlwZXMpIGlz
IHRydWUKK1BBU1MgZGlkUmVjZWl2ZU1lc3NhZ2UgaXMgdHJ1ZQorUEFTUyBub25TYW5kYm94U3Vw
cG9ydGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgdHJ1ZQorUEFTUyBzYW5kYm94U3VwcG9y
dGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgZmFsc2UKK1BBU1MgUGVyZm9ybWFuY2VPYnNl
cnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBmaXJlZCBmb3Igc2FtZS1v
cmlnaW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKworCitURVhUCkluZGV4OiBMYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRp
bWluZy1mcmFtZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY3IEBACis8IURPQ1RZ
UEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGkt
dXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJzcGFjZXIi
PjwvZGl2PgorICAgIDxpZnJhbWUgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGlkPSJub25TYW5k
Ym94ZWQiIHNyYz0iLi9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwiPjwvaWZyYW1lPgorPGRp
diBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKzxpZnJhbWUgaWQ9InNhbmRib3hlZCIgc3JjPSIuL3Jl
c291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbCIgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyI+PC9pZnJh
bWU+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorCisgICAgVEVYVAorCis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oIlBhaW50IEFQSSBzaG91bGQgYmUgYXZhaWxhYmxlIGZvciBzYW1lLW9yaWdp
biBmcmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4vc2FuZGJveGVkIGZyYW1lcy4iKTsKK3dp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5kaWRSZWNlaXZlTWVzc2FnZSA9IGZh
bHNlOworCit3aW5kb3cub25sb2FkID0gYXN5bmMgKCkgPT4geworICAgIGNvbnN0IHNhbmRib3hl
ZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYW5kYm94ZWQnKTsKKyAgICBjb25zdCBub25T
YW5kYm94ZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJyk7CisgICAg
Y29uc3QgZmNwTWVzc2FnZVByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAg
ICAgd2luZG93Lm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5yZWNl
aXZlZEV2ZW50ID0gZXZlbnQ7CisgICAgICAgICAgICBjb25zdCBpc0Zyb21TYW5kYm94ZWQgPSBl
dmVudC5zb3VyY2UgPT09IHNhbmRib3hlZC5jb250ZW50V2luZG93OworICAgICAgICAgICAgY29u
c3QgbWVzc2FnZSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAgICAgICAgICBzd2l0Y2gg
KG1lc3NhZ2UudHlwZSkgeworICAgICAgICAgICAgICAgIGNhc2UgJ3N1cHBvcnRlZCc6CisgICAg
ICAgICAgICAgICAgICAgIGlmIChpc0Zyb21TYW5kYm94ZWQpCisgICAgICAgICAgICAgICAgICAg
ICAgICB3aW5kb3cuc2FuZGJveFN1cHBvcnRlZFR5cGVzID0gbWVzc2FnZS5zdXBwb3J0ZWQ7Cisg
ICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5u
b25TYW5kYm94U3VwcG9ydGVkVHlwZXMgPSBtZXNzYWdlLnN1cHBvcnRlZDsKKyAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSAncmVjZWl2ZWQnOgorICAgICAg
ICAgICAgICAgICAgICB3aW5kb3cuZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1l
ID0gaXNGcm9tU2FuZGJveGVkOworICAgICAgICAgICAgICAgICAgICB3aW5kb3cucmVjZWl2ZWRF
bnRyeSA9IG1lc3NhZ2UuZW50cnk7CisgICAgICAgICAgICAgICAgICAgIGRpZFJlY2VpdmVNZXNz
YWdlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ3JlY2VpdmVkRXZlbnQu
c291cmNlJywgImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKS5jb250ZW50
V2luZG93Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCdyZWNlaXZlZEVudHJ5Lm5h
bWUnLCAiJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnIik7CisgICAgICAgICAgICAgICAgICAgIHJl
c29sdmUoKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAg
ICAgIH07CisgICAgfSk7CisKKyAgICBzYW5kYm94ZWQuY29udGVudFdpbmRvdy5wb3N0TWVzc2Fn
ZSgicGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBub25TYW5kYm94
ZWQuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgicGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdh
aXRGb3JGQ1AoKTsKKyAgICBhd2FpdCBmY3BNZXNzYWdlUHJvbWlzZTsKKyAgICBzaG91bGRCZUZh
bHNlKCdkaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUnKTsKKyAgICBzaG91bGRC
ZVRydWUoJ0FycmF5LmlzQXJyYXkobm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzKScpOworICAgIHNo
b3VsZEJlVHJ1ZSgnQXJyYXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVkVHlwZXMpJyk7CisgICAg
c2hvdWxkQmVUcnVlKCdkaWRSZWNlaXZlTWVzc2FnZScpOworICAgIHNob3VsZEJlVHJ1ZSgnbm9u
U2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVG
YWxzZSgnc2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgdGVz
dFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxi
YWNrIHdhcyBmaXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3Jp
Z2luIGZyYW1lIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWlu
Zy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRo
LXdvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorUGFp
bnQgQVBJIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlIGluIHdvcmtlciBjb250ZXh0cy4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBw
b3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIHRydWUKK1BBU1Mgd29ya2VyU3Vw
cG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyBmYWxzZQorUEFTUyB3b3JrZXJT
dXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJtYXJrIikgaXMgdHJ1ZQorUEFTUyBQZXJmb3Jt
YW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNsdWRlICdwYWludCcg
Zm9yIHdvcmtlcnMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdp
dGgtd29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3BhaW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50IEFQSSBzaG91bGQgbm90
IGJlIGF2YWlsYWJsZSBpbiB3b3JrZXIgY29udGV4dHMuIik7Cit3aW5kb3cuanNUZXN0SXNBc3lu
YyA9IHRydWU7Citjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKCIuL3Jlc291cmNlcy93b3JrZXIu
aHRtbCIpOword29ya2VyLm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICB3aW5kb3cud29ya2Vy
U3VwcG9ydGVkRW50cnlUeXBlcyA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAgc2hvdWxk
QmVUcnVlKCdQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMo
InBhaW50IiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCd3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVz
LmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVUcnVlKCd3b3JrZXJTdXBwb3J0ZWRF
bnRyeVR5cGVzLmluY2x1ZGVzKCJtYXJrIiknKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5j
ZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNsdWRlICdwYWludCcgZm9y
IHdvcmtlcnMiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK3dvcmtlci5wb3N0TWVzc2Fn
ZSgic3RhcnQiKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1w
YWludC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3Jt
YW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitQQVNTIGRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQ
YWludCBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKS5sZW5ndGggaXMgMQor
UEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50
IikubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3Qt
Y29udGVudGZ1bC1wYWludCIsICJwYWludCIpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNl
LmdldEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgUGVyZm9ybWFuY2VP
YnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhc24ndCBmaXJlZCBhZ2Fp
biAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorVEVY
VDIKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZl
ci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFp
bnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVy
Zm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiRW5zdXJlIFBlcmZvcm1hbmNlT2JzZXJ2
ZXJzIGFyZSBub3RpZmllZCBvbmNlIGZvciBmaXJzdC1jb250ZW50ZnVsLXBhaW50LiIpOword2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworIAorKGFzeW5jICgpID0+IHsKKyAgICB3aW5kb3cu
ZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gZmFsc2U7CisgICAgd2luZG93LnN0YXJ0
VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBh
d2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBu
ZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihlbnRyeUxpc3QgPT4geworICAgICAgICAgICAgd2luZG93
LmVudHJ5TGlzdCA9IGVudHJ5TGlzdDsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3Qu
Z2V0RW50cmllcygpLmxlbmd0aCcsICIxIik7CisgICAgICAgICAgICBzaG91bGRCZSgnZW50cnlM
aXN0LmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAx
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5VHlwZSgicGFp
bnQiKS5sZW5ndGgnLCAiMSIpOworICAgICAgICAgICAgd2luZG93LmZjcEVudHJ5ID0gZW50cnlM
aXN0LmdldEVudHJpZXMoKVswXTsKKyAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2Vp
dmVGaXJzdENvbnRlbnRmdWxQYWludCcpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5
Lm5hbWUnLCAnImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiJyk7CisgICAgICAgICAgICBzaG91bGRC
ZSgnZmNwRW50cnkuZW50cnlUeXBlJywgJyJwYWludCInKTsKKyAgICAgICAgICAgIHNob3VsZEJl
VHJ1ZSgnZmNwRW50cnkuc3RhcnRUaW1lID4gd2luZG93LnN0YXJ0VGltZScpOworICAgICAgICAg
ICAgc2hvdWxkQmVUcnVlKCdmY3BFbnRyeS5zdGFydFRpbWUgPCBwZXJmb3JtYW5jZS5ub3coKScp
OworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5LmR1cmF0aW9uJywgIjAiKTsKKyAgICAg
ICAgICAgIGRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCA9IHRydWU7CisgICAgICAgICAg
ICByZXNvbHZlKCk7CisgICAgICAgIH0pOworCisgICAgICAgIG9ic2VydmVyLm9ic2VydmUoe2Vu
dHJ5VHlwZXM6IFsncGFpbnQnXX0pOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9
ICdURVhUJzsKKyAgICB9KQorICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQyJzsK
KyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgc2hvdWxkQmVUcnVlKCdkaWRSZWNlaXZlRmly
c3RDb250ZW50ZnVsUGFpbnQnKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmll
cygpLmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNC
eU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHNob3Vs
ZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50
IiwgInBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0
RW50cmllc0J5VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHRlc3RQYXNzZWQoIlBl
cmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXNuJ3Qg
ZmlyZWQgYWdhaW4gIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KSgpOworCisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291
cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdD4KKyAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2Vy
dmVyKGxpc3QgPT4geworICAgICAgICBsaXN0LmdldEVudHJpZXMoKS5mb3JFYWNoKGVudHJ5ID0+
IHsKKyAgICAgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnko
e3R5cGU6ICdyZWNlaXZlZCcsIGVudHJ5fSksICcqJyk7CisgICAgICAgIH0pOworICAgIH0pOwor
CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJwYWludCJdfSk7CisgICAgd2lu
ZG93Lm9ubWVzc2FnZSA9IGUgPT4geworICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdl
KEpTT04uc3RyaW5naWZ5KHtzdXBwb3J0ZWQ6IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVk
RW50cnlUeXBlcywgdHlwZTogJ3N1cHBvcnRlZCd9KSwgJyonKTsKKyAgICAgICAgZG9jdW1lbnQu
Ym9keS5pbm5lclRleHQgPSAiVEVYVCI7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9y
ZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNSBAQAorYXN5bmMgZnVuY3Rpb24gd2FpdEZv
ckZDUCgpCit7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZXF1ZXN0QW5pbWF0
aW9uRnJhbWUoKCkgPT4gcmVzb2x2ZSgpKSk7CisgICAgcmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoID09IDE7
Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3Bh
aW50LXRpbWluZy1hcGkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAoraWYgKHNl
bGYuaW1wb3J0U2NyaXB0cykKKyAgICBpbXBvcnRTY3JpcHRzKCIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiKTsKKworaWYgKHNlbGYud2luZG93KQorICAgIGRlc2NyaXB0aW9uKCJCYXNp
YyBJbnRlcmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuIik7CisKK2RlYnVnKCJQZXJm
b3JtYW5jZVBhaW50VGltaW5nIik7CitzaG91bGRCZURlZmluZWQoIlBlcmZvcm1hbmNlUGFpbnRU
aW1pbmciKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5
cGUudG9KU09OYCk7CitzaG91bGRUaHJvdyhgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKWAp
OworCitpZiAoc2VsZi5pbXBvcnRTY3JpcHRzKQorICAgIGZpbmlzaEpTVGVzdCgpOwpJbmRleDog
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMv
d29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACitzZWxmLm9ubWVzc2Fn
ZSA9ICgpID0+IHsKKyAgICBzZWxmLnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KFBlcmZvcm1h
bmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcykpOworfQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBk
aXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1h
Z2UvcG5nCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmcKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCitpbWFnZS9wbmcKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNRQUFB
QklDQVlBQUFDZU5sZTVBQUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgpWTTlyRTBFVS9q
WnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9U
aTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMx
dmR0OEFEWExTTlBXQUJPUU54MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2
bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9nOAozNkVweDNR
STMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVM
bE5jZEIybHVac2JJCkVMMVBrS2E3ek82cllxR2NUdllPa0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0
alo3MWpOVS80bUhocE9iRWhqMGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5
VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZAo3MFhh
QXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVz
VUY3TnR3OXQxR2szVHorCktDSnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0
RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAreFhsekhtZ2pXUHhIT3cr
L0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbgov
V3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENK
MlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NLbVEwbmJrT2Iv
cVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Q
d0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRj
bAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhy
V2daZjZiOEM4L1VYQWVJdUpBQUFBCkNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUdaMGxFUVZS
b0JlMmFVVzlWUlJESGQ2OHRFVkpMVzJLQ3hDWStpZ1FEb1lrS2ZnSjgKOU1rbkV2RWR2b0Nta1Mr
QTcycENRc0tUai9JSkJDU0IxTlNvUEpxVTFDYWtnTmlBYWVOZGYvK1pPVDIzNTk3U0Z1N2w2VXl5
NSt6TwoyWjJablozZG5abDdjNXJQSmUwS1NzcHBocDc3VTBtUHFEL2RIRlVSeUp1WVJKOEQ5SmtH
ODR6NlE5NjlYM3M2TnFwampYYWpLU0xkCkVHUWY5UldJTyttU3pzTDFCSzFaeWlHS2hGamx1VVNI
WHhoem5mWlRFeU9udytEWFE3Q085ZVF4RUo0amtGaVBRVkRFbG0xd0taL3kKUHBkS09jM2JoYkFQ
elFkRFRiaDhrL2VWbFBNUDFpT25JN1FmVU4rZ0ROWlk3bDh5MTBwS2t3d1paeUN6TG1jUjRtdmFw
NHh3U2I5Qwo3eWJ0aFZUeUg3ei9EdnpCbE10Um1KNWt6R253eHdOL0Y2RytZc3gxMm9mNExvR2VV
UHExMVJDb1hpS3R1MXFsZk1mamMyb3NYYjZHCkFKZkIzNkVObW1KOXJGWFhoUk9VTkllQUY2SHhH
UzJZNSsraGNUN0d6ZkNXYlcwVnFpRlFaYmdQYlZEcS9zeUFEeWczR1BjRjczc20KUUxKbEZDSE5W
TGJSNVMyQmhKT3RTYlBDdWMybDlDN05iMm1mb2R5RzFvZEJweEtxbW9LTVpCTTAzMG1LcEFhNnYv
TTRDcGR2S0JlRAp3Q3pNdFR3cjZnSFVoTlFTQlllcXBtVS9DT3BlS3AyUDZYQ1pjc0ZwZDk0REwx
N2lxZVZ6V3BwU05NWkJqUnZSZ21heUNhTjFsekJ2CjAyZUtiK3lndEJiOXR3b0RzZ2YwVFdVdHhr
dzVEV2dsYkVtMHhjT1hYTnBVMlNLUXR2YWJJRmRaYzJ5R1pTcW1tVXZnMzJIZ1g1VEgKTWFpYVBj
MGR3VmxxckdpSVZzcVhuRFk4bkJjOGpYZTE3UE81K0FHRzNiQ2JVdm1SRGpkTXhkS01DTGs5N01o
OUZ4MDYwSDRMbXZkVAo3djdFRzV2S24yRG8ybjJ5cDBleVFzMUNoZ2l3dFkyNUdiQVFXcDcvVkJr
U2lKWm9Bc1lEclJoUElTUkRTUjIvRHRnTmR1aWQ4cTF0CnUwa0dYQzJUQmd3RHN0SE1uTzVGUERo
R0VtZWI4MTVCZXpQU2tPNG13VGw3SnM0WmdlK21zSG4vTXFSbkoyaERMbmpaNlcvVTk2ZU8KWDVS
OHM1TjFFZlFkSk5WMW9hM29vbHJmb1QxRTgwbndFSy9GNEMxdTJKQnViVjJVUlVkNnZoVnNSNkda
NW95Y2gzZ2FiMlNRTElFOQpFYjI1bTZ5bUU5alBoU2FaNGJSRmV5TjRMVGhKOHh6OElnRXg2MGk3
S0ZWZDkvWkluK3MrWlhnNnVBeGpyaEYzSlhScmU5c1BxVkhLClU5OS9GVTk1QVpzYUdpWHJ2ZEhH
cUFYeTlHVGwrRE84L2RZMjFNZ2U0aUZlNHVtZ0syUlRRN28wQVhPdVZJbVRXOVdSd1Q0M0QzZzYK
dUF5K3kvQ0JIVTZhbEg3N3VqWEZoeUcvUkZ2ZWhRRHZVaEF5WU5TS0RuUzV5VlhGVjdaZW96ZnE2
c0xXZ2V3bW82RGdnQTdHYVZOZApNWWRjUHZBY2JUbGdjcHg4RGxTR0NLSTVHVHpFNnpnSHNvSUJj
WnZXd2ZnczJGNXhwdmpBQXZmMFJxRXArVjVoeU1FcktUSXhycEpsCkhnSHQ3dUxHNzhwNXg0NDZ4
NUJZL3JPOHhNY21udlYvNllkOGRxZVo4Yk5MOXpjb0xzQnZqdmRoZUsxSVE1SXRUbWFGS2tLWlEw
NDEKVFZCZVUyVklJRnFpQ1JnUHNSZFBnV1NJQThmRGtTUG11V1ZDRmZQa2NNak5zN05yaFlHMFho
dzBWdWVPL0tEN2tCTHRNL0JUV0tRTgpwUURTZzR1SU91U2pQR0NBYnZ6ekREaUdTM0FCM0NwdCtk
Vnk4dVd3YS9uMklweTBMNXVaNGozQitEK2gvV1hRdm0yOGpLZEZzMDQzCkJOSU1kUHR1TUJnZ2Jp
b0tnOHk5bEpBZUJ2a01GUWJKVnhLNEtYcTk5MWxwOHcxNnlJQ1hmRElSQnBWRXRBc1BnVWV4dFhj
UkF1bVQKaUl2UkRBWDFLVzVTb0tnNHFyQTlYemhRRk0zK1FCRWtFTHg2SmlZOTlZQ1dUbXVwam9p
b1diRE9Gbkd5STNLNXluZnRDSjFUeTlTVgpPSkRHL29taW0xdTRaUXE3MWtMcHEweE11MGtSQmpZ
VG12RW9RN3kyaXNDMmIrYUhmTjExZUcyZmJGaUUrQzIrUHkvWjhCSGYzNGVoCmx1VXV4c3R1Mm51
eXdjYkhRM2FnKzBZQnBHWU00VWpIMkJYenZIU005ZVlxNGdTMlF5L1NNYjZiOXB5T01XcnhjRzE1
cUNRUFFNc0EKSDRyODhJemJXZXhZY0FmUElsOFpNQmVsSjZ5OHJ5Y25kcGV3R3JCa0lVdmZxOHFN
dkk0UWlocDBEQXdHRjNpQ1BwTjArSmQrc2hWaApkNGF0RnJWei81SDM2Tm4yZzNpOTdKS3RtVjVl
V1k1eDBKSVpqa2ViWTlRQ1N4dHV3TDdjVmIweTN6YkgyTnpLdFUxVnRUYkg2TGF6Ci9kT3RUSDVV
bTJQY1hrdTlYOW9jWTY4MnRxdTNPY2J0Tk5QRXU2UFI1aGliZXFuYmJZNngxc1ZlYW0yT3NkWldt
Mk9zZFRHNDFqVjAKbTJQczEwNmJZK3pYU1kxcGM0eTFMcnhXaGVKdGpqSE9GRXZQS1kvVSsyZVVO
c2RJaW5mZ0g1cmFIR1AvbitMOGQ2OGxRdjVYbW1QVQpYek5HOTdmQi93RlpiZzA1RUVOdU53QUFB
QUJKUlU1RXJrSmdnZz09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396634</attachid>
            <date>2020-04-16 04:48:45 -0700</date>
            <delta_ts>2020-04-16 06:55:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200416144841.patch</filename>
            <type>text/plain</type>
            <size>146254</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEwOSBAQAorMjAyMC0wNC0xMyAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWlu
dC10aW1pbmcvI2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuCisgCisgICAgICAgIFdoZW4gdGhlIHBh
Z2UgdXBkYXRlcyB0aGUgcmVuZGVyaW5nLCBhbmQgdGhlIGRvY3VtZW50IGhhcyBjb250ZW50ZnVs
IHBhaW50YWJsZSBlbGVtZW50cywgY3JlYXRlIGEgZmlyc3QtY29udGVudGZ1bC1wYWludCBwZXJm
b3JtYW5jZSBlbnRyeS4KKworICAgICAgICBBZGRlZCB0aGUgbmVjZXNzYXJ5IElETHMsIHJ1bnRp
bWUgZmxhZywgYW5kIGNvbnRlbnRmdWxuZXNzIGNoZWNrcy4KKworICAgICAgICBVc2luZyB0aGUg
ZXhpc3RpbmcgUGFpbnRlZENvbnRlbnRSZXF1ZXN0IG1lY2hhbmlzbSBmb3Igd2Fsa2luZyB0aGUg
dHJlZSBvZiBub24tbGF5ZXIgZWxlbWVudHMuCisgICAgICAgIFRoZXJlIG1pZ2h0IGJlIHJhcmUg
ZWRnZSBjYXNlcyB3aGVyZSBjb21wdXRpbmcgY29udGVudGZ1bG5lc3Mgd291bGQgYmUgdG9vIGNv
c3RseSwgYW5kIEZDUCB3b3VsZCBiZSByZXBvcnRlZCBsYXRlLgorCisgICAgICAgIFRlc3RzOiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
YmFja2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Y2FudmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAg
ICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUu
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1k
aXNwbGF5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisg
ICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtdmlzaWJpbGl0eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC10ZXh0LWlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8u
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12
aWRlby1wb3N0ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9m
aXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3Jt
YW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sCisgICAgICAg
ICAgICAgICBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAorICAgICAgICAg
ICAgICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFp
bnRUaW1pbmcuaDogCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDoK
KyAgICAgICAgICAgICAgICBBZGQgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNl
LgorCisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChX
ZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFi
bGVkIGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgUGFpbnRUaW1pbmdFbmFibGVkIHJ1bnRp
bWUgZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVT
dHJpbmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNQYWludCBjb25zdCk6CisgICAgICAgICAgICAgICAg
QWRkIGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQg
ZW50cmllcy4KKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKToK
KyAgICAgICAgICAgICAgICBBZGQgInBhaW50IiB0byBzdXBwb3J0ZWRFbnRyeVR5cGVzIHdoZW4g
aW4gZWxpZ2libGUgYnJvd3NpbmcgY29udGV4dC4KKworICAgICAgICAqIHJlbmRlcmluZy9Db250
ZW50ZnVsUGFpbnRDaGVja2VyLmg6IAorICAgICAgICAqIHJlbmRlcmluZy9Db250ZW50ZnVsUGFp
bnRDaGVja2VyLmNwcDoKKyAgICAgICAgICAgICAgICBBZGQgbG9naWMgZm9yIGNvbXB1dGluZyB3
aGV0aGVyIGVsZW1lbnRzIGFyZSBjb250ZW50ZnVsICYgcGFpbnRhYmxlLCBhcyBwZXIgc3BlYy4K
KworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOiAKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoUGFpbnRlZENvbnRlbnRSZXF1ZXN0KToKKyAg
ICAgICAgICAgICAgICBFeHRlbmRlZCBQYWludGVkQ29udGVudFJlcXVlc3QgdG8gcXVlcnkgZm9y
IGNvbnRlbnRmdWwtcGFpbnQgZWxpZ2liaWxpdHkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvRmlsbExheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGxMYXllcjo6aGFzTG9hZGVk
Q2FjaGVkSW1hZ2UgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGU6Omhhc1BhaW50YWJsZUNhY2hlZEJhY2tncm91bmRJbWFnZSBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAg
ICAgICAgICAgQWRkIGhlbHBlciBmb3IgZmluZGluZyBvdXQgaWYgYmFja2dyb3VuZCBjb250YWlu
cyBsb2FkZWQgY2FjaGVkIGltYWdlcy4KKworICAgICAgICAqIHBhZ2UvRG9jdW1lbnQuaDoKKyAg
ICAgICAgKiBwYWdlL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpy
ZXBvcnRQYWludFRpbWluZ0lmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpz
dXBwb3J0c1BhaW50VGltaW5nKToKKyAgICAgICAgICAgICAgICBNYXJrIEZDUCBvbmNlIGZvciBl
bGlnaWJsZSBkb2N1bWVudHMuCisKK2AgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICAgICAgICAg
TWFyayBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGFmdGVyIHJlbmRlcmluZywgYXMgaW4KKyAgICAg
ICAgICAgICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBh
cGlzLmh0bWwjdXBkYXRlLXRoZS1yZW5kZXJpbmcuIAorCiAyMDIwLTA0LTEzICBOb2FtIFJvc2Vu
dGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBCYWNrZ3JvdW5kIGltYWdlcyBzaG91
bGQgZmlndXJlIGludG8gdmlzdWFsbHkgbm9uIGVtcHR5IGhldXJpc3RpYwpJbmRleDogU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC05MzYsNiArOTM2LDcgQEAgc2V0KFdlYkNvcmVfTk9O
X1NWR19JRExfRklMRVMKICAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwK
ICAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsCiAgICAgcGFnZS9QZXJm
b3JtYW5jZU5hdmlnYXRpb24uaWRsCisgICAgcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlk
bAogICAgIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZv
cm1hbmNlU2VydmVyVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTkyNiw2
ICs5MjYsNyBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZv
cm1hbmNlT2JzZXJ2ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNl
cnZlckNhbGxiYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRp
bWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTIxMjEsNiArMjEyMSw3IEBAIHJlbmRlcmluZy9CcmVha0xpbmVz
LmNwcAogcmVuZGVyaW5nL0NTU0ZpbHRlci5jcHAKIHJlbmRlcmluZy9DbGlwUmVjdC5jcHAKIHJl
bmRlcmluZy9Db21wbGV4TGluZUxheW91dC5jcHAKK3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRD
aGVja2VyLmNwcAogcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmNwcAogcmVuZGVyaW5nL0VsbGlwc2lz
Qm94LmNwcAogcmVuZGVyaW5nL0V2ZW50UmVnaW9uLmNwcApAQCAtMzE5OSw2ICszMjAwLDcgQEAg
SlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCiBK
U1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVu
dHJ5TGlzdC5jcHAKK0pTUGVyZm9ybWFuY2VQYWludFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuY3BwCiBKU1BlcmZv
cm1hbmNlVGltaW5nLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00
MDUzLDYgKzQwNTMsNyBAQAogCQlDOUY4N0NGRTFCMjhGNDBFMDA5NzlCODMgLyogTWVkaWFTZXNz
aW9uRXZlbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDOUY4N0NGRDFCMjhFNUY2MDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0EzQkY2N0UxMEQ5
OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xs
QW5pbWF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlDQTZDMTUzMDIyMEI5OENDMDA1NUNCRkMgLyogSlNWYWx1ZUluV3JhcHBlZE9iamVjdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMxQUUzQjgx
RkI4MEVBRTAwRjVFRkIyIC8qIEpTVmFsdWVJbldyYXBwZWRPYmplY3QuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDQTdFOUI0OTI0MzYxREM1MDA0
RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0E3RTlCNDcyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRl
bnRmdWxQYWludENoZWNrZXIuaCAqLzsgfTsKIAkJQ0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8q
IENTU0FzcGVjdFJhdGlvVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENBRTlGOTBFMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1Zh
bHVlLmggKi87IH07CiAJCUNCMzhGRDUyMUNDRjkzOTQwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNl
RW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENC
MzhGRDRFMUNDRjkzN0UwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCAqLzsgfTsKIAkJ
Q0IzOEZENUIxQ0QyMzI1QjAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0IzOEZENTkx
Q0QyMzE0NTAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovOyB9OwpA
QCAtMTM4MTYsNiArMTM4MTcsOCBAQAogCQlDQTA5MUQ4NjIzQ0Y5MDc4MDBBRDQzNDYgLyogU3R5
bGVJbWFnZVNldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUltYWdlU2V0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EwOTFEODkyM0NGOTA4ODAwQUQ0MzQ2IC8qIFN0
eWxlSW1hZ2VTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVJbWFnZVNldC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDQTE2MzVEQzIwNzJFNzY5MDBFN0QyQ0UgLyogUmVmZXJyZXJQ
b2xpY3kuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmZXJyZXJQ
b2xpY3kuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNENTI0MDdENjQw
MDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJm
b3JtYW5jZVBhaW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkz
M0Q4MjQwN0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1h
dG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1h
dG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAw
RTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNjcm9sbEFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNTJC
QUU1MjNEMEFGMTYwMERFMEI4NCAvKiBTdHlsZUN1cnNvckltYWdlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFN0eWxlQ3Vyc29ySW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTM4MjUsNiArMTM4MjgsOCBAQAogCQlDQTZDMTUyRjIyMEI0QTU1MDA1NUNCRkMgLyogSlNJ
REJSZXF1ZXN0Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTSURCUmVxdWVzdEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNB
NkMxNTM3MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvckN1c3RvbS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0lEQkN1cnNvckN1c3RvbS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNkMxNTM4MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lE
QkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0lEQkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUNBN0U5QjQ3MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRD
aGVja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRmdWxQYWlu
dENoZWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0E3RTlCNDgyNDM2MURD
NTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBRTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3Bl
Y3RSYXRpb1ZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENT
U0FzcGVjdFJhdGlvVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQUU5
RjkwRTE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5j
ZUVudHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1h
bmNlRW50cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA5NTksNiArMjA5
NjQsOCBAQAogCQkJCUE1QTk5MzNBMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2Vy
dmVyRW50cnlMaXN0LmNwcCAqLywKIAkJCQlBNUE5OTMzQjFFMzdGQUZEMDA1QjVFNEQgLyogUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oICovLAogCQkJCUE1QTk5MzNDMUUzN0ZBRkQwMDVC
NUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCAqLywKKwkJCQlDQTE5MzNE
NTI0MDdENjQwMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovLAorCQkJCUNB
MTkzM0Q4MjQwN0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLywK
IAkJCQk4NjUxMkVEQjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5jcHAgKi8sCiAJCQkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaCAqLywKIAkJCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgKi8sCkBAIC0yODA0Miw2ICsyODA0OSw4IEBACiAJCQkJ
QkNERDQ1NEQxMjM2Qzk1QzAwOUE3OTg1IC8qIENvbHVtbkluZm8uaCAqLywKIAkJCQlCQ0VBNDgx
MzA5N0Q5MzAyMDA5NEM5RTQgLyogQ29tcGxleExpbmVMYXlvdXQuY3BwICovLAogCQkJCUU0QTFB
Qzc4MjJGQUZENTAwMDE3Qjc1QiAvKiBDb21wbGV4TGluZUxheW91dC5oICovLAorCQkJCUNBN0U5
QjQ4MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcCAqLywKKwkJ
CQlDQTdFOUI0NzI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oICov
LAogCQkJCTkzOTJGMTRGMEFEMTg2MjMwMDY5MUJENCAvKiBDb3VudGVyTm9kZS5jcHAgKi8sCiAJ
CQkJOTM5MkYxNEIwQUQxODYxQjAwNjkxQkQ0IC8qIENvdW50ZXJOb2RlLmggKi8sCiAJCQkJMEY1
M0ZCODEyMTNCMUJCODAwQzQwRDM0IC8qIENTU0ZpbHRlci5jcHAgKi8sCkBAIC0yOTc0Niw2ICsy
OTc1NSw3IEBACiAJCQkJQTE0OTc4NkYxQUJBRjMzODAwQ0VGN0U0IC8qIENvbnRlbnRGaWx0ZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTVDRENEREM2MjNEODBBMUMwMEJBMzRBMSAvKiBDb250ZW50
RmlsdGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQwOTBGRDFBQTUxRTQ4MDA5MTE5
MUEgLyogQ29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlD
QTdFOUI0OTI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNUM5QzJEQjUyMjQxQTY3QjAwOTk2QjBCIC8qIENvbnRlbnRSdWxlTGlz
dFJlc3VsdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QzQ3MURDMTJGOTI1QkQwMDg2MzU0QiAv
KiBDb250ZW50U2VjdXJpdHlQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFNUZBMjU1MjA5
RTQ4QzUwMDUxRDcwMCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJz
ICovLApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5
Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1Bl
cmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNSw5ICszNSwxMSBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1
ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUu
aCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1Bl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIK
ICNpbmNsdWRlICJQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBh
aW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAK
QEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3
bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1h
bmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVy
Zm9ybWFuY2VQYWludFRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAg
ICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1
cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3Qs
IFdURk1vdmUoZW50cnkpKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUJ1aWx0aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xNzksNiArMTc5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1h
bmNlTWVhc3VyZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNy
byhQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQ
YWludFRpbWluZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAg
ICBtYWNybyhQZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVu
dCkgXApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0
OCw3IEBACiAjaW5jbHVkZSAiQ29tcG9zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkNvbnN0YW50
UHJvcGVydHlNYXAuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIKKyNpbmNs
dWRlICJDb250ZW50ZnVsUGFpbnRDaGVja2VyLmgiCiAjaW5jbHVkZSAiQ29va2llSmFyLmgiCiAj
aW5jbHVkZSAiQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaCIKICNpbmNsdWRlICJDdXN0b21F
bGVtZW50UmVnaXN0cnkuaCIKQEAgLTE0OCw2ICsxNDksNyBAQAogI2luY2x1ZGUgIlBhZ2VHcm91
cC5oIgogI2luY2x1ZGUgIlBhZ2VUcmFuc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQYWludFdv
cmtsZXRHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1Mb2NhbGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIu
aCIKICNpbmNsdWRlICJQbGF0Zm9ybVNjcmVlbi5oIgpAQCAtMzE0MSw2ICszMTQzLDM0IEBAIGJv
b2wgRG9jdW1lbnQ6OmlzTGF5b3V0VGltZXJBY3RpdmUoKSBjb24KICAgICByZXR1cm4gdmlldygp
ICYmIHZpZXcoKS0+bGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0UGVuZGluZygpOwogfQogCitib29s
IERvY3VtZW50OjpzdXBwb3J0c1BhaW50VGltaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQo
KSAmJiBzZWN1cml0eU9yaWdpbigpLmNhbkFjY2Vzcyh0b3BPcmlnaW4oKSk7Cit9CisKKy8vIGh0
dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI3JlZi1mb3ItbWFyay1wYWludC10aW1p
bmcKK3ZvaWQgRG9jdW1lbnQ6OnJlcG9ydFBhaW50VGltaW5nSWZOZWVkZWQoKQoreworICAgIGlm
IChtX2RpZFJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KQorICAgICAgICByZXR1cm47CisKKyAg
ICBpZiAoIXN1cHBvcnRzUGFpbnRUaW1pbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYg
KCFkb21XaW5kb3coKSB8fCAhdmlldygpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBUbyBt
YWtlIHN1cmUgd2UgZG9uJ3QgcmVwb3J0IHBhaW50IHdoaWxlIHRoZSBsYXllciB0cmVlIGlzIHN0
aWxsIGZyb3plbi4KKyAgICBpZiAoIXZpZXcoKS0+aXNWaXN1YWxseU5vbkVtcHR5KCkgfHwgdmll
dygpLT5uZWVkc0xheW91dCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIUNvbnRlbnRm
dWxQYWludENoZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRmdWxQYWludCgqdmlldygpKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCkucmVwb3J0Rmly
c3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICBtX2RpZFJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50
ID0gdHJ1ZTsKK30KKwogRXhjZXB0aW9uT3I8dm9pZD4gRG9jdW1lbnQ6OndyaXRlKERvY3VtZW50
KiByZXNwb25zaWJsZURvY3VtZW50LCBTZWdtZW50ZWRTdHJpbmcmJiB0ZXh0KQogewogICAgIGlm
IChtX2FjdGl2ZVBhcnNlcldhc0Fib3J0ZWQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2
aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEwMzUsNiArMTAzNSw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2hvdWxkRGVm
ZXJBc3luY2hyb25vdXNTY3JpcHRzVW50aWxQYXJzaW5nRmluaXNoZXMoKSBjb25zdDsKIAorICAg
IGJvb2wgc3VwcG9ydHNQYWludFRpbWluZygpIGNvbnN0OworCiAjaWYgRU5BQkxFKFhTTFQpCiAg
ICAgdm9pZCBzY2hlZHVsZVRvQXBwbHlYU0xUcmFuc2Zvcm1zKCk7CiAgICAgdm9pZCBhcHBseVBl
bmRpbmdYU0xUcmFuc2Zvcm1zTm93SWZTY2hlZHVsZWQoKTsKQEAgLTE1NzUsNiArMTU3Nyw3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgc2V0SGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQo
KSB7IG1faGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQgPSB0cnVlOyB9CiAgICAgYm9v
bCBoYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFz
VmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQ7IH0KKyAgICB2b2lkIHJlcG9ydFBhaW50VGlt
aW5nSWZOZWVkZWQoKTsKIAogcHJvdGVjdGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9uRmxhZ3Mg
eyBTeW50aGVzaXplZCA9IDEsIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEgfTsKQEAg
LTIwNDEsNiArMjA0NCw5IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fYXJlRGV2aWNlTW90aW9u
QW5kT3JpZW50YXRpb25VcGRhdGVzU3VzcGVuZGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fdXNl
ckRpZEludGVyYWN0V2l0aFBhZ2UgeyBmYWxzZSB9OworCisgICAgYm9vbCBtX2RpZFJlcG9ydEZp
cnN0Q29udGVudGZ1bFBhaW50IHsgZmFsc2UgfTsKKwogI2lmIEFTU0VSVF9FTkFCTEVECiAgICAg
Ym9vbCBtX2luSGl0VGVzdGluZyB7IGZhbHNlIH07CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTM3Niw2ICsxMzc2LDEwIEBAIHZvaWQgUGFnZTo6ZG9BZnRlclVw
ZGF0ZVJlbmRlcmluZygpCiAgICAgLy8gbGF5b3V0IHRvIGJlIHVwLXRvLWRhdGUuIEl0IHNob3Vs
ZCBub3QgcnVuIHNjcmlwdCwgdHJpZ2dlciBsYXlvdXQsIG9yIGRpcnR5IGxheW91dC4KIAogICAg
IGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CisgICAgICAgIGRvY3Vt
ZW50LnJlcG9ydFBhaW50VGltaW5nSWZOZWVkZWQoKTsKKyAgICB9KTsKKworICAgIGZvckVhY2hE
b2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CiAgICAgICAgIGRvY3VtZW50LnVwZGF0
ZUhpZ2hsaWdodFBvc2l0aW9ucygpOwogICAgIH0pOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZUVudHJ5LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgi
CiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNlcnZlci5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNl
UGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCiAj
aW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVVzZXJU
aW1pbmcuaCIKQEAgLTEyNCw2ICsxMjUsOSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50
cnk+PiBQZXJmb3JtCiAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+
Z2V0TWVhc3VyZXMoKSk7CiAgICAgfQogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQp
CisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworCiAgICAg
c3RkOjpzb3J0KGVudHJpZXMuYmVnaW4oKSwgZW50cmllcy5lbmQoKSwgUGVyZm9ybWFuY2VFbnRy
eTo6c3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKTsKICAgICByZXR1cm4gZW50cmllczsKIH0KQEAg
LTEzNSw2ICsxMzksOSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3Jt
CiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInJlc291
cmNlIikpCiAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVzb3VyY2VUaW1pbmdCdWZm
ZXIpOwogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYgZXF1YWxMZXR0ZXJzSWdu
b3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkKKyAgICAgICAgZW50cmllcy5hcHBl
bmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAg
ICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJr
IikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1h
cmtzKCkpOwpAQCAtMTU3LDYgKzE2NCw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRy
eT4+IFBlcmZvcm0KICAgICAgICAgfQogICAgIH0KIAorICAgIGlmIChtX2ZpcnN0Q29udGVudGZ1
bFBhaW50ICYmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkgJiYgbmFtZSA9PSAiZmlyc3QtY29udGVudGZ1bC1w
YWludCIpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOwor
CiAgICAgaWYgKG1fdXNlclRpbWluZykgewogICAgICAgICBpZiAoZW50cnlUeXBlLmlzTnVsbCgp
IHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkKICAg
ICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MobmFt
ZSkpOwpAQCAtMTgwLDYgKzE5MCwxMyBAQCB2b2lkIFBlcmZvcm1hbmNlOjpzZXRSZXNvdXJjZVRp
bWluZ0J1ZmZlCiAgICAgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlckZ1bGxGbGFnID0gZmFsc2U7CiB9
CiAKK3ZvaWQgUGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCkKK3sKKyAg
ICBBU1NFUlQoIW1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworICAgIG1fZmlyc3RDb250ZW50ZnVs
UGFpbnQgPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nOjpjcmVhdGVGaXJzdENvbnRlbnRmdWxQYWlu
dChub3coKSk7CisgICAgcXVldWVFbnRyeSgqbV9maXJzdENvbnRlbnRmdWxQYWludCk7Cit9CisK
IHZvaWQgUGVyZm9ybWFuY2U6OmFkZFJlc291cmNlVGltaW5nKFJlc291cmNlVGltaW5nJiYgcmVz
b3VyY2VUaW1pbmcpCiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1
LDcgQEAgY2xhc3MgTG9hZFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNlRW50cnk7CiBjbGFzcyBQ
ZXJmb3JtYW5jZU5hdmlnYXRpb247CiBjbGFzcyBQZXJmb3JtYW5jZU9ic2VydmVyOworY2xhc3Mg
UGVyZm9ybWFuY2VQYWludFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNlVGltaW5nOwogY2xhc3Mg
UmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291cmNlVGltaW5nOwpAQCAtNzcsNiArNzgsOCBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZFJlc291cmNlVGltaW5nKFJlc291cmNlVGltaW5nJiYp
OwogCisgICAgdm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworCiAgICAgdm9pZCBy
ZW1vdmVBbGxPYnNlcnZlcnMoKTsKICAgICB2b2lkIHJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZl
cihQZXJmb3JtYW5jZU9ic2VydmVyJik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyUGVyZm9ybWFuY2VP
YnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CkBAIC0xMjEsNiArMTI0LDcgQEAgcHJpdmF0
ZToKIAogICAgIE1vbm90b25pY1RpbWUgbV90aW1lT3JpZ2luOwogCisgICAgUmVmUHRyPFBlcmZv
cm1hbmNlUGFpbnRUaW1pbmc+IG1fZmlyc3RDb250ZW50ZnVsUGFpbnQ7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPFVzZXJUaW1pbmc+IG1fdXNlclRpbWluZzsKIAogICAgIEdlbmVyaWNUYXNrUXVldWU8
U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCShyZXZpc2lvbiAy
NjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NCw2ICs2NCwxMSBAQCBPcHRpb25hbDxQZXJmb3JtYW5jZUVudHJ5OjpU
eXBlPiBQZXJmb3JtCiAgICAgICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlwZTo6UmVz
b3VyY2UpOwogICAgIH0KIAorICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnBhaW50VGltaW5nRW5hYmxlZCgpKSB7CisgICAgICAgIGlmIChlbnRyeVR5cGUg
PT0gInBhaW50IikKKyAgICAgICAgICAgIHJldHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpQYWlu
dCk7CisgICAgfQorCiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KIApJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCwx
MCArNDgsMTEgQEAgcHVibGljOgogICAgIGRvdWJsZSBkdXJhdGlvbigpIGNvbnN0IHsgcmV0dXJu
IG1fZHVyYXRpb247IH0KIAogICAgIGVudW0gY2xhc3MgVHlwZSB7Ci0gICAgICAgIE5hdmlnYXRp
b24gPSAxIDw8IDAsCi0gICAgICAgIE1hcmsgPSAxIDw8IDEsCi0gICAgICAgIE1lYXN1cmUgPSAx
IDw8IDIsCi0gICAgICAgIFJlc291cmNlID0gMSA8PCAzLAorICAgICAgICBOYXZpZ2F0aW9uICA9
IDEgPDwgMCwKKyAgICAgICAgTWFyayAgICAgICAgPSAxIDw8IDEsCisgICAgICAgIE1lYXN1cmUg
ICAgID0gMSA8PCAyLAorICAgICAgICBSZXNvdXJjZSAgICA9IDEgPDwgMywKKyAgICAgICAgUGFp
bnQgICAgICAgPSAxIDw8IDQKICAgICB9OwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25z
dCA9IDA7CkBAIC02Miw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzUmVzb3VyY2UoKSBj
b25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UmVzb3VyY2U7IH0KICAgICBib29sIGlzTWFy
aygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYXJrOyB9CiAgICAgYm9vbCBpc01l
YXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWVhc3VyZTsgfQorICAgIGJv
b2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpQYWludDsgfQogCiAg
ICAgc3RhdGljIGJvb2wgc3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKGNvbnN0IFJlZlB0cjxQZXJm
b3JtYW5jZUVudHJ5PiYgYSwgY29uc3QgUmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+JiBiKQogICAg
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAko
cmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2Vy
dmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDE1ICsxMTMsMjEgQEAgdm9pZCBQZXJmb3Jt
YW5jZU9ic2VydmVyOjpkZWxpdmVyKCkKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZEZpcmVPYnNlcnZlckNhbGxiYWNrKCpjb250ZXh0KTsKIH0KIAotVmVjdG9yPFN0cmluZz4gUGVy
Zm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcygpCitWZWN0b3I8U3RyaW5nPiBQ
ZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIHsKKyAgICBWZWN0b3I8U3RyaW5nPiBlbnRy
eVR5cGVzID0gewogICAgICAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NDM2
Mz4gQWRkIHN1cHBvcnQgZm9yIE5hdmlnYXRpb24gVGltaW5nIExldmVsIDIKICAgICAgICAgLy8g
Im5hdmlnYXRpb24iX3MsCiAgICAgICAgICJtYXJrIl9zLAotICAgICAgICAibWVhc3VyZSJfcywK
LSAgICAgICAgInJlc291cmNlIl9zCisgICAgICAgICJtZWFzdXJlIl9zCiAgICAgfTsKKworICAg
IGlmIChpczxEb2N1bWVudD4oY29udGV4dCkgJiYgZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQp
LnN1cHBvcnRzUGFpbnRUaW1pbmcoKSkKKyAgICAgICAgZW50cnlUeXBlcy5hcHBlbmQoInBhaW50
Il9zKTsKKworICAgIGVudHJ5VHlwZXMuYXBwZW5kKCJyZXNvdXJjZSJfcyk7CisKKyAgICByZXR1
cm4gZW50cnlUeXBlczsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgJKHJldmlzaW9uIDI2MDA0NSkKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCSh3b3JraW5nIGNvcHkp
CkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcihjb250ZXh0LCBXVEZNb3ZlKGNhbGxiYWNrKSkpOwogICAgIH0K
IAotICAgIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzKCk7CisgICAg
c3RhdGljIFZlY3RvcjxTdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYpOwogCiAgICAgdm9pZCBkaXNhc3NvY2lhdGUoKTsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCShyZXZpc2lvbiAyNjAwNDUpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zNiw3ICszNiw3IEBACiBdIGludGVyZmFjZSBQZXJmb3JtYW5jZU9ic2VydmVyIHsK
ICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgb2JzZXJ2ZShQZXJmb3JtYW5jZU9ic2VydmVy
SW5pdCBvcHRpb25zKTsKICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKLSAgICBzdGF0aWMgcmVhZG9u
bHkgYXR0cmlidXRlIEZyb3plbkFycmF5PERPTVN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlczsK
KyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gc3RhdGljIHJlYWRvbmx5IGF0
dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXM7CiB9Owog
CiBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IHsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEZv
dW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUVu
dHJ5LmgiCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZyBmaW5hbCA6IHB1YmxpYyBQZXJm
b3JtYW5jZUVudHJ5IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlUGFpbnRU
aW1pbmc+IGNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KERPTUhpZ2hSZXNUaW1lU3RhbXAgdGlt
ZVN0YW1wKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VQ
YWludFRpbWluZygiZmlyc3QtY29udGVudGZ1bC1wYWludCJfcywgdGltZVN0YW1wKSk7CisgICAg
fQorCitwcml2YXRlOgorICAgIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoY29uc3QgU3RyaW5nJiBu
YW1lLCBET01IaWdoUmVzVGltZVN0YW1wIHRpbWVTdGFtcCkKKyAgICAgICAgOiBQZXJmb3JtYW5j
ZUVudHJ5KG5hbWUsIHRpbWVTdGFtcCwgdGltZVN0YW1wKQorICAgIHsKKyAgICB9CisKKyAgICBB
U0NJSUxpdGVyYWwgZW50cnlUeXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gInBhaW50Il9zOyB9
CisgICAgVHlwZSB0eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gVHlwZTo6UGFpbnQ7IH0KKwor
ICAgIH5QZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgPSBkZWZhdWx0OworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlBl
cmZvcm1hbmNlUGFpbnRUaW1pbmcpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNv
cmU6OlBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KSB7IHJldHVybiBlbnRyeS5pc1BhaW50KCk7IH0K
K1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEZvdW5k
YXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGFpbnQtdGlt
aW5nLworCit0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOworCitbCisgICAgRW5h
YmxlZEF0UnVudGltZT1QYWludFRpbWluZywKKyAgICBFeHBvc2VkPShXaW5kb3cpLAorXSBpbnRl
cmZhY2UgUGVyZm9ybWFuY2VQYWludFRpbWluZyA6IFBlcmZvcm1hbmNlRW50cnkgeworfTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCShyZXZp
c2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXRVc2VyVGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzVXNlclRpbWluZ0VuYWJs
ZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHVzZXJUaW1pbmdFbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc1VzZXJUaW1pbmdFbmFibGVkOyB9CiAKKyAgICB2b2lkIHNldFBhaW50VGltaW5n
RW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzUGFpbnRUaW1pbmdFbmFibGVkID0gaXNFbmFi
bGVkOyB9CisgICAgYm9vbCBwYWludFRpbWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lz
UGFpbnRUaW1pbmdFbmFibGVkOyB9CisKICAgICBib29sIHBlcmZvcm1hbmNlVGltZWxpbmVFbmFi
bGVkKCkgY29uc3QgeyByZXR1cm4gcmVzb3VyY2VUaW1pbmdFbmFibGVkKCkgfHwgdXNlclRpbWlu
Z0VuYWJsZWQoKTsgfQogCiAgICAgdm9pZCBzZXRTaGFkb3dET01FbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1faXNTaGFkb3dET01FbmFibGVkID0gaXNFbmFibGVkOyB9CkBAIC00MjQsNiArNDI3
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNMaW5rUHJlbG9hZEVuYWJsZWQgeyB0cnVlIH07
CiAgICAgYm9vbCBtX2lzTGlua1ByZWZldGNoRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X2lzTWVkaWFQcmVsb2FkaW5nRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzUGFpbnRU
aW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNSZXNvdXJjZVRpbWluZ0VuYWJs
ZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1VzZXJUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsK
ICAgICBib29sIG1faXNJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCB7IGZhbHNlIH07
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWlu
dENoZWNrZXIuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9D
b250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyNyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBXaWtpTWVkaWEgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
KyAqCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ29udGVudGZ1bFBhaW50
Q2hlY2tlci5oIgorCisjaW5jbHVkZSAiSFRNTENhbnZhc0VsZW1lbnQuaCIKKyNpbmNsdWRlICJM
aW5lTGF5b3V0VHJhdmVyc2FsLmgiCisjaW5jbHVkZSAiUmVuZGVyQW5jZXN0b3JJdGVyYXRvci5o
IgorI2luY2x1ZGUgIlJlbmRlckNoaWxkSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJSZW5kZXJEZXNj
ZW5kYW50SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCisjaW5jbHVkZSAi
UmVuZGVySFRNTENhbnZhcy5oIgorI2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCisjaW5jbHVkZSAi
UmVuZGVyU1ZHUm9vdC5oIgorI2luY2x1ZGUgIlJlbmRlclRleHQuaCIKKyNpbmNsdWRlICJSZW5k
ZXJWaWRlby5oIgorI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitzdGF0aWMgYm9vbCBjaGVja0NvbnRlbnRmdWxQYWludEZvckxheWVyT3JEZXNjZW5kYW50
cyhSZW5kZXJMYXllciYgbGF5ZXIsIFJlbmRlckxheWVyKiByb290TGF5ZXIsIGNvbnN0IEludFJl
Y3QmIGRvY3VtZW50UmVjdCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHBhcmVudFRyYW5z
Zm9ybSA9IFRyYW5zZm9ybWF0aW9uTWF0cml4KCkpCit7CisgICAgaWYgKCFsYXllci5yZW5kZXJl
cigpLnN0eWxlKCkub3BhY2l0eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBUcmFu
c2Zvcm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm0gPSBwYXJlbnRUcmFuc2Zvcm0gKiBsYXllci5jdXJy
ZW50VHJhbnNmb3JtKCk7CisgICAgCisgICAgYXV0byBpc0xheWVyQ29udGVudGZ1bCA9IFsmXSgp
IHsKKyAgICAgICAgbGF5ZXIudXBkYXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKCk7CisgICAg
ICAgIFJlbmRlckxheWVyOjpQYWludGVkQ29udGVudFJlcXVlc3QgcmVxdWVzdDsKKyAgICAgICAg
cmVxdWVzdC5xdWFsaWZpZXNBc0NvbnRlbnRmdWwgPSBSZXF1ZXN0U3RhdGU6OlVua25vd247Cisg
ICAgICAgIC8vIElmIHdlIGhhdmUgdG9vIG1hbnkgZWxlbWVudHMgYW5kIHdlIHN0aWxsIGRpZG4n
dCBmaWd1cmUgb3V0IGNvbnRlbnRmdWxuZXNzLCBhc3N1bWUgY29udGVudGZ1bG5lc3MuCisgICAg
ICAgIHJldHVybiBsYXllci5pc1Zpc3VhbGx5Tm9uRW1wdHkoJnJlcXVlc3QpICYmIHJlcXVlc3Qu
cHJvYmFibHlRdWFsaWZpZXNBc0NvbnRlbnRmdWwoKTsKKyAgICB9OworCisgICAgYXV0byBvdmVy
bGFwc1dpdGhEb2N1bWVudFJlY3QgPSBbJl0geworICAgICAgICAvLyBUcnkgdG8ga2VlcCB0aGUg
Ym91bmRzIGNoZWNrIGFzIHNpbXBsZSBhcyBwb3NzaWJsZSwgdG8gYXZvaWQgb3ZlcmhlYWQuCisg
ICAgICAgIGNvbnN0IGF1dG8gbGF5ZXJCb3VuZHNGbGFncyA9IE9wdGlvblNldDxSZW5kZXJMYXll
cjo6Q2FsY3VsYXRlTGF5ZXJCb3VuZHNGbGFnPiB7CisgICAgICAgICAgICBSZW5kZXJMYXllcjo6
Q2FsY3VsYXRlTGF5ZXJCb3VuZHNGbGFnOjpFeGNsdWRlSGlkZGVuRGVzY2VuZGFudHMsCisgICAg
ICAgICAgICBSZW5kZXJMYXllcjo6Q2FsY3VsYXRlTGF5ZXJCb3VuZHNGbGFnOjpEb250Q29uc3Ry
YWluRm9yTWFzaywKKyAgICAgICAgICAgIFJlbmRlckxheWVyOjpDYWxjdWxhdGVMYXllckJvdW5k
c0ZsYWc6OlVzZUZyYWdtZW50Qm94ZXNFeGNsdWRpbmdDb21wb3NpdGluZworICAgICAgICB9Owor
CisgICAgICAgIGNvbnN0IGZsb2F0IHNpemVQYWludGFiaWxpdHlUaHJlc2hvbGQgPSAwLjA1Owor
CisgICAgICAgIExheW91dFJlY3QgYm91bmRzID0gdHJhbnNmb3JtLm1hcFJlY3QobGF5ZXIuYm91
bmRpbmdCb3gocm9vdExheWVyLCBsYXllci5vZmZzZXRGcm9tQW5jZXN0b3Iocm9vdExheWVyKSwg
bGF5ZXJCb3VuZHNGbGFncykpOworICAgICAgICBpZiAoYm91bmRzLndpZHRoKCkgPCBzaXplUGFp
bnRhYmlsaXR5VGhyZXNob2xkIHx8IGJvdW5kcy5oZWlnaHQoKSA8IHNpemVQYWludGFiaWxpdHlU
aHJlc2hvbGQpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBib3Vu
ZHMuaW50ZXJzZWN0cyhkb2N1bWVudFJlY3QpOworICAgIH07CisKKyAgICBpZiAoaXNMYXllckNv
bnRlbnRmdWwoKSAmJiBvdmVybGFwc1dpdGhEb2N1bWVudFJlY3QoKSkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICBmb3IgKFJlbmRlckxheWVyKiBjaGlsZCA9IGxheWVyLmZpcnN0Q2hpbGQo
KTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKKyAgICAgICAgaWYgKGNo
ZWNrQ29udGVudGZ1bFBhaW50Rm9yTGF5ZXJPckRlc2NlbmRhbnRzKCpjaGlsZCwgcm9vdExheWVy
LCBkb2N1bWVudFJlY3QsIHRyYW5zZm9ybSkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisgICAgCitib29sIENvbnRlbnRmdWxQYWludENo
ZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRmdWxQYWludChGcmFtZVZpZXcmIGZyYW1lVmlldykK
K3sKKyAgICBBU1NFUlQoIWZyYW1lVmlldy5uZWVkc0xheW91dCgpKTsKKworICAgIFJlbmRlclZp
ZXcqIHZpZXcgPSBmcmFtZVZpZXcucmVuZGVyVmlldygpOworICAgIEFTU0VSVCh2aWV3KTsKKwor
ICAgIGF1dG8gZG9jdW1lbnRSZWN0ID0gdmlldy0+ZG9jdW1lbnRSZWN0KCk7CisgICAgUmVuZGVy
TGF5ZXIqIHJvb3RMYXllciA9IHZpZXctPmxheWVyKCk7CisKKyAgICBBU1NFUlQocm9vdExheWVy
KTsKKworICAgIHJldHVybiBjaGVja0NvbnRlbnRmdWxQYWludEZvckxheWVyT3JEZXNjZW5kYW50
cygqcm9vdExheWVyLCByb290TGF5ZXIsIGRvY3VtZW50UmVjdCk7Cit9CisKKy8vIGh0dHBzOi8v
dzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI2NvbnRlbnRmdWwgCitib29sIENvbnRlbnRmdWxQ
YWludENoZWNrZXI6OnJlcGxhY2VkUmVuZGVyZXJRdWFsaWZpZXNBc0NvbnRlbnRmdWwoY29uc3Qg
UmVuZGVyUmVwbGFjZWQmIHJlcGxhY2VkKQoreworICAgIGlmIChpczxSZW5kZXJIVE1MQ2FudmFz
PihyZXBsYWNlZCkpCisgICAgICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJIVE1MQ2FudmFzPihy
ZXBsYWNlZCkuY2FudmFzRWxlbWVudCgpLnJlbmRlcmluZ0NvbnRleHQoKTsKKworICAgIGlmIChp
czxSZW5kZXJWaWRlbz4ocmVwbGFjZWQpKSB7CisgICAgICAgIGNvbnN0IGF1dG8mIHZpZGVvID0g
ZG93bmNhc3Q8UmVuZGVyVmlkZW8+KHJlcGxhY2VkKTsKKyAgICAgICAgaWYgKCF2aWRlby52aWRl
b0VsZW1lbnQoKS5zaG91bGREaXNwbGF5UG9zdGVySW1hZ2UoKSkKKyAgICAgICAgICAgIHJldHVy
biB2aWRlby52aWRlb0VsZW1lbnQoKS5yZWFkeVN0YXRlKCkgPiBIVE1MTWVkaWFFbGVtZW50RW51
bXM6OkhBVkVfTUVUQURBVEE7CisgICAgfQorCisgICAgaWYgKGlzPFJlbmRlckltYWdlPihyZXBs
YWNlZCkpIHsKKyAgICAgICAgY29uc3QgYXV0byYgaW1hZ2UgPSBkb3duY2FzdDxSZW5kZXJJbWFn
ZT4ocmVwbGFjZWQpOworICAgICAgICBhdXRvKiBjYWNoZWRJbWFnZSA9IGltYWdlLmltYWdlUmVz
b3VyY2UoKS5jYWNoZWRJbWFnZSgpOworICAgICAgICByZXR1cm4gY2FjaGVkSW1hZ2UgJiYgY2Fj
aGVkSW1hZ2UtPmNhblJlbmRlcigmaW1hZ2UsIDEpOworICAgIH0KKworICAgIGlmIChpczxSZW5k
ZXJTVkdSb290PihyZXBsYWNlZCkpIHsKKyAgICAgICAgZm9yIChhdXRvJiBjdXJyZW50IDogY2hp
bGRyZW5PZlR5cGU8UmVuZGVyT2JqZWN0PihyZXBsYWNlZCkpIHsKKyAgICAgICAgICAgIGlmICgh
Y3VycmVudC5pc1NWR0hpZGRlbkNvbnRhaW5lcigpKQorICAgICAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgfQorCisgICAg
cmV0dXJuIGZhbHNlOworfQorCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29u
dGVudGZ1bFBhaW50Q2hlY2tlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRpYSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgorICoKKyovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIEZyYW1lVmlldzsKK2NsYXNzIFJlbmRlclJlcGxhY2VkOworCitjbGFzcyBD
b250ZW50ZnVsUGFpbnRDaGVja2VyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgYm9vbCBxdWFsaWZp
ZXNGb3JDb250ZW50ZnVsUGFpbnQoRnJhbWVWaWV3Jik7CisgICAgc3RhdGljIGJvb2wgcmVwbGFj
ZWRSZW5kZXJlclF1YWxpZmllc0FzQ29udGVudGZ1bChjb25zdCBSZW5kZXJSZXBsYWNlZCYpOwor
fTsKKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCShy
ZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiQ1NTRmlsdGVy
LmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgor
I2luY2x1ZGUgIkNvbnRlbnRmdWxQYWludENoZWNrZXIuaCIKICNpbmNsdWRlICJEZWJ1Z1BhZ2VP
dmVybGF5cy5oIgogI2luY2x1ZGUgIkRlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncy5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCkBAIC02NTU1LDYgKzY1NTYsOCBAQCBzdGF0aWMgdm9pZCBkZXRlcm1p
bmVOb25MYXllckRlc2NlbmRhbnRzCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAor
ICAgICAgICBib29sIG1heVJlcG9ydENvbnRlbnRmdWxuZXNzID0gcmVxdWVzdC5uZWVkVG9EZXRl
cm1pbmVDb250ZW50ZnVsbmVzc1N0YXRlKCkgJiYgY2hpbGQuc3R5bGUoKS52aXNpYmlsaXR5KCkg
PT0gVmlzaWJpbGl0eTo6VmlzaWJsZTsKKwogICAgICAgICBpZiAoaXM8UmVuZGVyVGV4dD4oY2hp
bGQpKSB7CiAgICAgICAgICAgICBjb25zdCBhdXRvJiByZW5kZXJUZXh0ID0gZG93bmNhc3Q8UmVu
ZGVyVGV4dD4oY2hpbGQpOwogICAgICAgICAgICAgaWYgKCFyZW5kZXJUZXh0Lmhhc1JlbmRlcmVk
VGV4dCgpKQpAQCAtNjU2NSw2ICs2NTY4LDggQEAgc3RhdGljIHZvaWQgZGV0ZXJtaW5lTm9uTGF5
ZXJEZXNjZW5kYW50cwogCiAgICAgICAgICAgICBpZiAoIXJlbmRlclRleHQudGV4dCgpLmlzQWxs
U3BlY2lhbENoYXJhY3RlcnM8aXNIVE1MU3BhY2U+KCkpIHsKICAgICAgICAgICAgICAgICByZXF1
ZXN0LnNldEhhc1BhaW50ZWRDb250ZW50KCk7CisgICAgICAgICAgICAgICAgaWYgKG1heVJlcG9y
dENvbnRlbnRmdWxuZXNzKQorICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LnNldFF1YWxpZmll
c0FzQ29udGVudGZ1bCgpOwogCiAgICAgICAgICAgICAgICAgaWYgKHJlcXVlc3QubmVlZFRvRGV0
ZXJtaW5lU3VicGl4ZWxBbnRpYWxpYXNlZFRleHRTdGF0ZSgpICYmIHN0eWxlSGFzU21vb3RoaW5n
VGV4dE1vZGUoY2hpbGQuc3R5bGUoKSkpCiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3Quc2V0
SGFzU3VicGl4ZWxBbnRpYWxpYXNlZFRleHQoKTsKQEAgLTY1ODQsMTIgKzY1ODksMTYgQEAgc3Rh
dGljIHZvaWQgZGV0ZXJtaW5lTm9uTGF5ZXJEZXNjZW5kYW50cwogCiAgICAgICAgIGlmIChoYXNW
aXNpYmxlQm94RGVjb3JhdGlvbnNPckJhY2tncm91bmQocmVuZGVyRWxlbWVudENoaWxkKSkgewog
ICAgICAgICAgICAgcmVxdWVzdC5zZXRIYXNQYWludGVkQ29udGVudCgpOworICAgICAgICAgICAg
aWYgKG1heVJlcG9ydENvbnRlbnRmdWxuZXNzICYmIHJlbmRlckVsZW1lbnRDaGlsZC5zdHlsZSgp
Lmhhc1BhaW50YWJsZUNhY2hlZEJhY2tncm91bmRJbWFnZSgpKQorICAgICAgICAgICAgICAgIHJl
cXVlc3Quc2V0UXVhbGlmaWVzQXNDb250ZW50ZnVsKCk7CiAgICAgICAgICAgICBpZiAocmVxdWVz
dC5pc1NhdGlzZmllZCgpKQogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAg
ICAgICAKICAgICAgICAgaWYgKGlzPFJlbmRlclJlcGxhY2VkPihyZW5kZXJFbGVtZW50Q2hpbGQp
KSB7CiAgICAgICAgICAgICByZXF1ZXN0LnNldEhhc1BhaW50ZWRDb250ZW50KCk7CisgICAgICAg
ICAgICBpZiAobWF5UmVwb3J0Q29udGVudGZ1bG5lc3MgJiYgQ29udGVudGZ1bFBhaW50Q2hlY2tl
cjo6cmVwbGFjZWRSZW5kZXJlclF1YWxpZmllc0FzQ29udGVudGZ1bChkb3duY2FzdDxSZW5kZXJS
ZXBsYWNlZD4ocmVuZGVyRWxlbWVudENoaWxkKSkpCisgICAgICAgICAgICAgICAgcmVxdWVzdC5z
ZXRRdWFsaWZpZXNBc0NvbnRlbnRmdWwoKTsgICAgICAgICAgICAgICAgCiAKICAgICAgICAgICAg
IGlmIChpczxSZW5kZXJJbWFnZT4ocmVuZGVyRWxlbWVudENoaWxkKSAmJiByZXF1ZXN0Lm5lZWRU
b0RldGVybWluZVN1YnBpeGVsQW50aWFsaWFzZWRUZXh0U3RhdGUoKSkgewogICAgICAgICAgICAg
ICAgIGF1dG8mIGltYWdlUmVuZGVyZXIgPSBkb3duY2FzdDxSZW5kZXJJbWFnZT4ocmVuZGVyRWxl
bWVudENoaWxkKTsKQEAgLTY2NDAsNiArNjY0OSwxMCBAQCBib29sIFJlbmRlckxheWVyOjppc1Zp
c3VhbGx5Tm9uRW1wdHkoUGFpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgICAgICBy
ZXF1ZXN0LT5zZXRIYXNQYWludGVkQ29udGVudCgpOworCisgICAgICAgIGlmIChyZXF1ZXN0LT5u
ZWVkVG9EZXRlcm1pbmVDb250ZW50ZnVsbmVzc1N0YXRlKCkgJiYgcmVuZGVyZXIoKS5pc1JlcGxh
Y2VkKCkgJiYgQ29udGVudGZ1bFBhaW50Q2hlY2tlcjo6cmVwbGFjZWRSZW5kZXJlclF1YWxpZmll
c0FzQ29udGVudGZ1bChkb3duY2FzdDxSZW5kZXJSZXBsYWNlZD4ocmVuZGVyZXIoKSkpKQorICAg
ICAgICAgICAgcmVxdWVzdC0+c2V0UXVhbGlmaWVzQXNDb250ZW50ZnVsKCk7CisKICAgICAgICAg
aWYgKHJlcXVlc3QtPmlzU2F0aXNmaWVkKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9CkBAIC02NjQ5LDYgKzY2NjIsMTAgQEAgYm9vbCBSZW5kZXJMYXllcjo6aXNWaXN1YWxseU5v
bkVtcHR5KFBhaQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICAgICAgcmVxdWVzdC0+
c2V0SGFzUGFpbnRlZENvbnRlbnQoKTsKKworICAgICAgICBpZiAocmVxdWVzdC0+bmVlZFRvRGV0
ZXJtaW5lQ29udGVudGZ1bG5lc3NTdGF0ZSgpICYmIHJlbmRlcmVyKCkuc3R5bGUoKS5oYXNQYWlu
dGFibGVDYWNoZWRCYWNrZ3JvdW5kSW1hZ2UoKSkKKyAgICAgICAgICAgIHJlcXVlc3QtPnNldFF1
YWxpZmllc0FzQ29udGVudGZ1bCgpOworCiAgICAgICAgIGlmIChyZXF1ZXN0LT5pc1NhdGlzZmll
ZCgpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmgJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCSh3b3JraW5nIGNvcHkpCkBAIC02MDMsMjAgKzYw
MywyNyBAQCBwdWJsaWM6CiAKICAgICAgICAgICAgIGlmIChoYXNTdWJwaXhlbEFudGlhbGlhc2Vk
VGV4dCA9PSBSZXF1ZXN0U3RhdGU6OlVua25vd24pCiAgICAgICAgICAgICAgICAgaGFzU3VicGl4
ZWxBbnRpYWxpYXNlZFRleHQgPSBSZXF1ZXN0U3RhdGU6OlVuZGV0ZXJtaW5lZDsKKworICAgICAg
ICAgICAgaWYgKHF1YWxpZmllc0FzQ29udGVudGZ1bCA9PSBSZXF1ZXN0U3RhdGU6OlVua25vd24p
CisgICAgICAgICAgICAgICAgcXVhbGlmaWVzQXNDb250ZW50ZnVsID0gUmVxdWVzdFN0YXRlOjpV
bmRldGVybWluZWQ7CiAgICAgICAgIH0KIAogICAgICAgICB2b2lkIHNldEhhc1BhaW50ZWRDb250
ZW50KCkgeyBoYXNQYWludGVkQ29udGVudCA9IFJlcXVlc3RTdGF0ZTo6VHJ1ZTsgfQogICAgICAg
ICB2b2lkIHNldEhhc1N1YnBpeGVsQW50aWFsaWFzZWRUZXh0KCkgeyBoYXNTdWJwaXhlbEFudGlh
bGlhc2VkVGV4dCA9IFJlcXVlc3RTdGF0ZTo6VHJ1ZTsgfQorICAgICAgICB2b2lkIHNldFF1YWxp
Zmllc0FzQ29udGVudGZ1bCgpIHsgcXVhbGlmaWVzQXNDb250ZW50ZnVsID0gUmVxdWVzdFN0YXRl
OjpUcnVlOyB9CiAKICAgICAgICAgYm9vbCBuZWVkVG9EZXRlcm1pbmVQYWludGVkQ29udGVudFN0
YXRlKCkgY29uc3QgeyByZXR1cm4gaGFzUGFpbnRlZENvbnRlbnQgPT0gUmVxdWVzdFN0YXRlOjpV
bmtub3duOyB9CiAgICAgICAgIGJvb2wgbmVlZFRvRGV0ZXJtaW5lU3VicGl4ZWxBbnRpYWxpYXNl
ZFRleHRTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIGhhc1N1YnBpeGVsQW50aWFsaWFzZWRUZXh0ID09
IFJlcXVlc3RTdGF0ZTo6VW5rbm93bjsgfQorICAgICAgICBib29sIG5lZWRUb0RldGVybWluZUNv
bnRlbnRmdWxuZXNzU3RhdGUoKSBjb25zdCB7IHJldHVybiBxdWFsaWZpZXNBc0NvbnRlbnRmdWwg
PT0gUmVxdWVzdFN0YXRlOjpVbmtub3duOyB9CiAKICAgICAgICAgYm9vbCBwcm9iYWJseUhhc1Bh
aW50ZWRDb250ZW50KCkgY29uc3QgeyByZXR1cm4gaGFzUGFpbnRlZENvbnRlbnQgPT0gUmVxdWVz
dFN0YXRlOjpUcnVlIHx8IGhhc1BhaW50ZWRDb250ZW50ID09IFJlcXVlc3RTdGF0ZTo6VW5kZXRl
cm1pbmVkOyB9CiAgICAgICAgIGJvb2wgcHJvYmFibHlIYXNTdWJwaXhlbEFudGlhbGlhc2VkVGV4
dCgpIGNvbnN0IHsgcmV0dXJuIGhhc1N1YnBpeGVsQW50aWFsaWFzZWRUZXh0ID09IFJlcXVlc3RT
dGF0ZTo6VHJ1ZSB8fCBoYXNTdWJwaXhlbEFudGlhbGlhc2VkVGV4dCA9PSBSZXF1ZXN0U3RhdGU6
OlVuZGV0ZXJtaW5lZDsgfQorICAgICAgICBib29sIHByb2JhYmx5UXVhbGlmaWVzQXNDb250ZW50
ZnVsKCkgY29uc3QgeyByZXR1cm4gcXVhbGlmaWVzQXNDb250ZW50ZnVsID09IFJlcXVlc3RTdGF0
ZTo6VHJ1ZSB8fCBxdWFsaWZpZXNBc0NvbnRlbnRmdWwgPT0gUmVxdWVzdFN0YXRlOjpVbmRldGVy
bWluZWQ7IH0KICAgICAgICAgCi0gICAgICAgIGJvb2wgaXNTYXRpc2ZpZWQoKSBjb25zdCB7IHJl
dHVybiBoYXNQYWludGVkQ29udGVudCAhPSBSZXF1ZXN0U3RhdGU6OlVua25vd24gJiYgaGFzU3Vi
cGl4ZWxBbnRpYWxpYXNlZFRleHQgIT0gUmVxdWVzdFN0YXRlOjpVbmtub3duOyB9CisgICAgICAg
IGJvb2wgaXNTYXRpc2ZpZWQoKSBjb25zdCB7IHJldHVybiBoYXNQYWludGVkQ29udGVudCAhPSBS
ZXF1ZXN0U3RhdGU6OlVua25vd24gJiYgaGFzU3VicGl4ZWxBbnRpYWxpYXNlZFRleHQgIT0gUmVx
dWVzdFN0YXRlOjpVbmtub3duICYmIHF1YWxpZmllc0FzQ29udGVudGZ1bCAhPSBSZXF1ZXN0U3Rh
dGU6OlVua25vd247IH0KIAogICAgICAgICBSZXF1ZXN0U3RhdGUgaGFzUGFpbnRlZENvbnRlbnQg
eyBSZXF1ZXN0U3RhdGU6OlVua25vd24gfTsKKyAgICAgICAgUmVxdWVzdFN0YXRlIHF1YWxpZmll
c0FzQ29udGVudGZ1bCB7IFJlcXVlc3RTdGF0ZTo6RG9udENhcmUgfTsKICAgICAgICAgUmVxdWVz
dFN0YXRlIGhhc1N1YnBpeGVsQW50aWFsaWFzZWRUZXh0IHsgUmVxdWVzdFN0YXRlOjpEb250Q2Fy
ZSB9OwogICAgIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAko
cmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQu
aAkod29ya2luZyBjb3B5KQpAQCAtMTgwLDcgKzE4MCw3IEBAIHB1YmxpYzoKICAgICBMYXlvdXRV
bml0IHRvcE9mRmlyc3RUZXh0KCkgY29uc3Q7CiAgICAgCiAgICAgYm9vbCBjb250YWluc09ubHlI
VE1MV2hpdGVzcGFjZSh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgpIGNvbnN0OwotICAg
IAorCiAgICAgYm9vbCBjYW5Vc2VTaW1wbGlmaWVkVGV4dE1lYXN1cmluZygpIGNvbnN0IHsgcmV0
dXJuIG1fY2FuVXNlU2ltcGxpZmllZFRleHRNZWFzdXJpbmc7IH0KIAogICAgIFZlY3RvcjxzdGQ6
OnBhaXI8dW5zaWduZWQsIHVuc2lnbmVkPj4gZHJhZ2dlZENvbnRlbnRSYW5nZXNCZXR3ZWVuT2Zm
c2V0cyh1bnNpZ25lZCBzdGFydE9mZnNldCwgdW5zaWduZWQgZW5kT2Zmc2V0KSBjb25zdDsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwCShyZXZp
c2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQwLDYgKzM0MCwxNSBAQCBib29sIEZpbGxMYXllcjo6
Y29udGFpbnNJbWFnZShTdHlsZUltYWdlCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEZp
bGxMYXllcjo6aGFzTG9hZGVkQ2FjaGVkSW1hZ2UoKSBjb25zdAoreworICAgIGZvciAoYXV0byog
bGF5ZXIgPSB0aGlzOyBsYXllcjsgbGF5ZXIgPSBsYXllci0+bV9uZXh0LmdldCgpKSB7CisgICAg
ICAgIGlmIChsYXllci0+bV9pbWFnZSAmJiBsYXllci0+bV9pbWFnZS0+aXNMb2FkZWQoKSAmJiBs
YXllci0+bV9pbWFnZS0+aGFzQ2FjaGVkSW1hZ2UoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgRmlsbExheWVyOjppbWFnZXNB
cmVMb2FkZWQoKSBjb25zdAogewogICAgIGZvciAoYXV0byogbGF5ZXIgPSB0aGlzOyBsYXllcjsg
bGF5ZXIgPSBsYXllci0+bV9uZXh0LmdldCgpKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvRmlsbExheWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NSw2
ICsxNDUsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGNvbnRhaW5zSW1hZ2UoU3R5bGVJbWFnZSYp
IGNvbnN0OwogICAgIGJvb2wgaW1hZ2VzQXJlTG9hZGVkKCkgY29uc3Q7CisgICAgYm9vbCBoYXNM
b2FkZWRDYWNoZWRJbWFnZSgpIGNvbnN0OwogICAgIGJvb2wgaGFzSW1hZ2UoKSBjb25zdCB7IHJl
dHVybiBtX25leHQgPyBoYXNJbWFnZUluQW55TGF5ZXIoKSA6IG1faW1hZ2U7IH0KICAgICBib29s
IGhhc0ZpeGVkSW1hZ2UoKSBjb25zdDsKICAgICBib29sIGhhc09wYXF1ZUltYWdlKGNvbnN0IFJl
bmRlckVsZW1lbnQmKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQ0
LDYgKzQ0NCwyMSBAQCBib29sIFJlbmRlclN0eWxlOjpkZXNjZW5kYW50QWZmZWN0aW5nTm9uCiAg
ICAgICAgICYmIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmp1c3RpZnlJdGVtcyA9PSBvdGhlci5t
X3JhcmVOb25Jbmhlcml0ZWREYXRhLT5qdXN0aWZ5SXRlbXM7CiB9CiAKK2Jvb2wgUmVuZGVyU3R5
bGU6Omhhc1BhaW50YWJsZUNhY2hlZEJhY2tncm91bmRJbWFnZSgpIGNvbnN0Cit7CisgICAgaWYg
KCFoYXNCYWNrZ3JvdW5kSW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgY29u
c3QgRmlsbExheWVyJiBiYWNrZ3JvdW5kID0gYmFja2dyb3VuZExheWVycygpOworICAgIGlmICgh
YmFja2dyb3VuZC5oYXNMb2FkZWRDYWNoZWRJbWFnZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBpZiAoYmFja2dyb3VuZFNpemVMZW5ndGgoKS5pc0VtcHR5KCkgJiYgYmFja2dyb3Vu
ZFNpemVUeXBlKCkgPT0gRmlsbFNpemVUeXBlOjpTaXplKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogI2lmIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCiAK
IHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgY29tcHV0ZUZvbnRIYXNoKGNvbnN0IEZvbnRDYXNjYWRl
JiBmb250KQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmgJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MTYsNiArNDE2LDcgQEAgcHVibGlj
OgogICAgIGNvbnN0IExlbmd0aFNpemUmIGJhY2tncm91bmRTaXplTGVuZ3RoKCkgY29uc3QgeyBy
ZXR1cm4gbV9iYWNrZ3JvdW5kRGF0YS0+YmFja2dyb3VuZC5zaXplTGVuZ3RoKCk7IH0KICAgICBG
aWxsTGF5ZXImIGVuc3VyZUJhY2tncm91bmRMYXllcnMoKSB7IHJldHVybiBtX2JhY2tncm91bmRE
YXRhLmFjY2VzcygpLmJhY2tncm91bmQ7IH0KICAgICBjb25zdCBGaWxsTGF5ZXImIGJhY2tncm91
bmRMYXllcnMoKSBjb25zdCB7IHJldHVybiBtX2JhY2tncm91bmREYXRhLT5iYWNrZ3JvdW5kOyB9
CisgICAgYm9vbCBoYXNQYWludGFibGVDYWNoZWRCYWNrZ3JvdW5kSW1hZ2UoKSBjb25zdDsKIAog
ICAgIFN0eWxlSW1hZ2UqIG1hc2tJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVy
aXRlZERhdGEtPm1hc2suaW1hZ2UoKTsgfQogICAgIEZpbGxSZXBlYXQgbWFza1JlcGVhdFgoKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxGaWxsUmVwZWF0PihtX3JhcmVOb25Jbmhlcml0ZWRE
YXRhLT5tYXNrLnJlcGVhdFgoKSk7IH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjAwNDUpCisr
KyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBA
CisyMDIwLTA0LTEzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAg
ICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgcnVudGltZSBmbGFnIGZvciBw
YWludC10aW1pbmcgKHBhaW50VGltaW5nRW5hYmxlZCkuCisKKyAgICAgICAgKiBTaGFyZWQvV2Vi
UHJlZmVyZW5jZXMueWFtbDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
cy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKToKKyAg
ICAgICAgKFdLUHJlZmVyZW5jZXNHZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjp1cGRhdGVQcmVmZXJlbmNl
c1N0b3JlKToKKwogMjAyMC0wNC0xMyAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW2lPU10gVXBkYXRlIG1lc3NhZ2UgZmlsdGVycyBpbiB0aGUgV2ViQ29u
dGVudCBzYW5kYm94CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55
YW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlh
bWwJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTgzOSw2ICs4MzksMTMgQEAgVXNlclRpbWluZ0Vu
YWJsZWQ6CiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBVc2VyVGltaW5nIEFQ
SSIKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAorUGFpbnRUaW1p
bmdFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogdHJ1ZQorICBodW1hblJl
YWRhYmxlTmFtZTogIlBhaW50IFRpbWluZyIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAi
RW5hYmxlIFBhaW50IFRpbWluZyBBUEkiCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzCisKIEJlYWNvbkFQSUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZh
bHVlOiB0cnVlCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVu
Y2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4MjAsNiArMTgy
MCwxNiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRVc2VyVGltaW5nRW5hYmxlZChXCiAgICAgcmV0
dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnVzZXJUaW1pbmdFbmFibGVkKCk7CiB9CiAKK3Zv
aWQgV0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHBy
ZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCit7CisgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+
c2V0UGFpbnRUaW1pbmdFbmFibGVkKGZsYWcpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRQ
YWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAg
ICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+cGFpbnRUaW1pbmdFbmFibGVkKCk7Cit9
CisKIHZvaWQgV0tQcmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVu
Y2VzUmVmKS0+c2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKGZsYWcpOwpJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0
ZS5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MDAsNiArNTAwLDEw
IEBAIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRVc2VyVGltaW4KIFdLX0VYUE9SVCBi
b29sIFdLUHJlZmVyZW5jZXNHZXRVc2VyVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsK
IAogLy8gRGVmYXVsdHMgdG8gZmFsc2UKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRQ
YWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKK1dLX0VYUE9S
VCBib29sIFdLUHJlZmVyZW5jZXNHZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1Jl
Zik7CisKKy8vIERlZmF1bHRzIHRvIGZhbHNlCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2Vz
U2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBX
S19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3Bw
CShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMiw2
ICsxMjIsNyBAQCB2b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjp1cGRhCiAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRDYWNoZUFQSUVuYWJs
ZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpjYWNoZUFQSUVu
YWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkuc2V0RmV0Y2hBUElFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJl
bmNlc0tleTo6ZmV0Y2hBUElFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFVzZXJUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xW
YWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6dXNlclRpbWluZ0VuYWJsZWRLZXkoKSkpOwor
ICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1p
bmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFp
bnRUaW1pbmdFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldFJlc291cmNlVGltaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlc291cmNlVGltaW5nRW5hYmxlZEtleSgpKSk7CiAg
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUtl
ZXBBbGl2ZUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
OjpmZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVzdHJpY3RlZEhUVFBSZXNwb25zZUFjY2Vzcyhz
dG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlc3RyaWN0ZWRIVFRQ
UmVzcG9uc2VBY2Nlc3NLZXkoKSkpOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwko
cmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDQtMTMgIE5vYW0gUm9zZW50aGFs
ICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgYSBwcmVmZXJlbmNlIGtleSBmb3IgcGFpbnQgdGltaW5nLgorCisgICAgICAgICog
V2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dl
YlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6
CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHBhaW50VGltaW5nRW5hYmxlZF0pOgorICAgICAg
ICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRQYWludFRpbWluZ0VuYWJsZWQ6XSk6CisgICAgICAgICog
V2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZp
ZXcubW06CisKIDIwMjAtMDQtMTMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI1OTg0Myk6ICJNaXNzaW5nIFBsdWctSW4iIHdo
ZW4gZHJhZ2dpbmcgYW4gaW1hZ2UgaW50byBNYWlsIENvbXBvc2UKSW5kZXg6IFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjYwLDYg
KzI2MCw3IEBACiAjZGVmaW5lIFdlYktpdEF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZFByZWZlcmVu
Y2VLZXkgQCJXZWJLaXRBdHRhY2htZW50RWxlbWVudEVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdElu
dGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRJbnRlcnNlY3Rp
b25PYnNlcnZlckVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdE1lbnVJdGVtRWxlbWVudEVuYWJsZWRQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVudUl0ZW1FbGVtZW50RW5hYmxlZCIKKyNkZWZpbmUgV2Vi
S2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFBhaW50VGltaW5nRW5h
YmxlZCIKICNkZWZpbmUgV2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2Vi
S2l0VXNlclRpbWluZ0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxl
ZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQiCiAjZGVmaW5lIFdl
YktpdE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0UHJlZmVyZW5jZUtl
eSBAIldlYktpdE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0IgpJbmRl
eDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02ODIsNiArNjgyLDcgQEAgKyAo
dm9pZClpbml0aWFsaXplCiAjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKICAgICAg
ICAgQE5PLCBXZWJLaXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5LAog
I2VuZGlmCisgICAgICAgIEBOTywgV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtl
eSwKICAgICAgICAgQE5PLCBXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAg
ICAgICAgIEBOTywgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAg
ICAgICAgQE5PLCBXZWJLaXRNZWRpYVVzZXJHZXN0dXJlSW5oZXJpdHNGcm9tRG9jdW1lbnQsCkBA
IC0zMzA2LDYgKzMzMDcsMTYgQEAgLSAodm9pZClzZXRVc2VyVGltaW5nRW5hYmxlZDooQk9PTClm
bGFnCiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRVc2VyVGltaW5n
RW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKXBhaW50VGltaW5nRW5hYmxlZAor
eworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFBhaW50VGltaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldFBhaW50VGltaW5nRW5hYmxlZDoo
Qk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRQ
YWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogLSAoQk9PTClyZXNvdXJjZVRp
bWluZ0VuYWJsZWQKIHsKICAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRS
ZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAko
cmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjYxLDYgKzY2MSw3IEBAIEBp
bnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGUpCiBAcHJvcGVydHkgKG5vbmF0b21p
YykgQk9PTCBrZXlnZW5FbGVtZW50RW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09M
IHVzZXJUaW1pbmdFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcmVzb3VyY2VU
aW1pbmdFbmFibGVkOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcGFpbnRUaW1pbmdFbmFi
bGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbGlua1ByZWxvYWRFbmFibGVkOwogQHBy
b3BlcnR5IChub25hdG9taWMpIEJPT0wgbWVkaWFVc2VyR2VzdHVyZUluaGVyaXRzRnJvbURvY3Vt
ZW50OwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgaXNTZWN1cmVDb250ZXh0QXR0cmlidXRl
RW5hYmxlZDsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0JKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzIwMSw2ICszMjAxLDcgQEAgLSAodm9pZClf
cHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbgogCiAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy51
c2VyVGltaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVh
dHVyZXMoKS5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMucmVzb3VyY2VUaW1p
bmdFbmFibGVkKTsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnNldFBhaW50VGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5wYWludFRpbWluZ0VuYWJsZWQpOwog
ICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1ByZWxv
YWRFbmFibGVkKHByZWZlcmVuY2VzLmxpbmtQcmVsb2FkRW5hYmxlZCk7CiAgICAgUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZWRpYVByZWxvYWRpbmdFbmFibGVk
KHByZWZlcmVuY2VzLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0SXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5h
YmxlZChwcmVmZXJlbmNlcy5pc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDIwLTA0LTEzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAg
ICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHByZWZlcmVuY2Uga2V5IGZvciBw
YWludC10aW1pbmcuCisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZh
dGUuaWRsOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAq
IFdlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuY3BwOgorICAgICAg
ICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFu
Z2VkKToKKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzLmlkbDoKKyAgICAg
ICAgKiBJbnRlcmZhY2VzL1dlYktpdC5pZGw6CisgICAgICAgICAgICAgICAgVG91Y2hlZCB0byB0
cmlnZ2VyIGJ1aWxkLgorCiAyMDIwLTA0LTA4ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxl
LmNvbT4KIAogICAgICAgICBTaG91bGQgZmluZCB0b3VjaC1hY3Rpb24gZWxlbWVudHMgaW5zaWRl
IG5vbi1jb21wb3NpdGVkIGlmcmFtZXMKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTk3LDYgKzE5Nyw4IEBACiAKICNkZWZpbmUgV2ViS2l0VXNlclRpbWluZ0Vu
YWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRVc2VyVGltaW5nRW5hYmxlZCIKIAorI2RlZmluZSBX
ZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRQYWludFRpbWluZ0Vu
YWJsZWQiCisKICNkZWZpbmUgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtl
eSAiV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkIgogCiAjZGVmaW5lIFdlYktpdExpbmtQcmVs
b2FkRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdExpbmtQcmVsb2FkRW5hYmxlZCIKSW5kZXg6
IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHJldmlzaW9uIDI2
MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzI2LDYgKzMyNiw4IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OmluaXRp
YWxpemVEZWZhdWx0U2UKIAogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNU
UihXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZh
bHNlKTsKIAorICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRQ
YWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKKwogICAg
IENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRMaW5rUHJlbG9hZEVu
YWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKIAogICAgIENGRGljdGlvbmFy
eUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRNZWRpYVByZWxvYWRpbmdFbmFibGVkUHJl
ZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CkBAIC0yNDE0LDYgKzI0MTYsMjAgQEAgSFJF
U1VMVCBXZWJQcmVmZXJlbmNlczo6cmVzb3VyY2VUaW1pbmdFbgogICAgIHJldHVybiBTX09LOwog
fQogCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQoQk9PTCBl
bmFibGVkKQoreworICAgIHNldEJvb2xWYWx1ZShXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVm
ZXJlbmNlS2V5LCBlbmFibGVkKTsKKyAgICByZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBXZWJQ
cmVmZXJlbmNlczo6cGFpbnRUaW1pbmdFbmFibGVkKF9PdXRfIEJPT0wqIGVuYWJsZWQpCit7Cisg
ICAgaWYgKCFlbmFibGVkKQorICAgICAgICByZXR1cm4gRV9QT0lOVEVSOworICAgICplbmFibGVk
ID0gYm9vbFZhbHVlRm9yS2V5KFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkp
OworICAgIHJldHVybiBTX09LOworfQorCiBIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXJ2ZXJU
aW1pbmdFbmFibGVkKF9PdXRfIEJPT0wqIGVuYWJsZWQpCiB7CiAgICAgaWYgKCFlbmFibGVkKQpJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCShyZXZpc2lvbiAy
NjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMDcsNiArMzA3LDggQEAgcHVibGljOgogICAgIC8vIElXZWJQcmVmZXJl
bmNlc1ByaXZhdGU4CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGFsbG93
VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoX091dF8gQk9PTCopOwogICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSBzZXRBbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKEJPT0wp
OworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBwYWludFRpbWluZ0VuYWJs
ZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBz
ZXRQYWludFRpbWluZ0VuYWJsZWQoQk9PTCk7CiAKICAgICAvLyBXZWJQcmVmZXJlbmNlcwogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysg
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUy
ODUsNiArNTI4NSwxMSBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdl
CiAgICAgICAgIHJldHVybiBocjsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnNldFVzZXJUaW1pbmdFbmFibGVkKCEhZW5hYmxlZCk7CiAKKyAgICBociA9IHBy
ZWZzUHJpdmF0ZS0+cGFpbnRUaW1pbmdFbmFibGVkKCZlbmFibGVkKTsKKyAgICBpZiAoRkFJTEVE
KGhyKSkKKyAgICAgICAgcmV0dXJuIGhyOworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1pbmdFbmFibGVkKCEhZW5hYmxlZCk7CisKICAgICBo
ciA9IHByZWZzUHJpdmF0ZS0+cmVzb3VyY2VUaW1pbmdFbmFibGVkKCZlbmFibGVkKTsKICAgICBp
ZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhyOwpJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXMuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzLmlkbAkocmV2
aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2Vi
UHJlZmVyZW5jZXMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENv
cHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiAKICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9J
bnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0y
NjUsNCArMjY1LDYgQEAgaW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU4IDogSVdlYgog
ewogICAgIEhSRVNVTFQgYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhbb3V0LCByZXR2YWxd
IEJPT0wqIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgc2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRh
VVJMcyhbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBwYWludFRpbWluZ0VuYWJsZWQo
W291dCwgcmV0dmFsXSBCT09MKik7CisgICAgSFJFU1VMVCBzZXRQYWludFRpbWluZ0VuYWJsZWQo
W2luXSBCT09MIGVuYWJsZWQpOwogfQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50
ZXJmYWNlcy9XZWJLaXQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0ludGVyZmFjZXMvV2ViS2l0LmlkbAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktp
dExlZ2FjeS93aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3
ICsyNCw3IEBACiAgKi8KIAogY3BwX3F1b3RlKCIvKiIpCi1jcHBfcXVvdGUoIiAqIENvcHlyaWdo
dCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxNSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuIikKK2NwcF9xdW90ZSgiICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3
LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDE1LCAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4iKQogY3BwX3F1b3RlKCIgKiIpCiBjcHBfcXVvdGUoIiAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCIpCiBjcHBf
cXVvdGUoIiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyIpCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjAwNDUpCisrKyBUb29scy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRo
YWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29u
dGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBwcmVmZXJlbmNlIGtleSBmb3IgcGFpbnQtdGltaW5nLgorCisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXRXZWJQ
cmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
d2luL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5jZXNUb0Nv
bnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVmZXJlbmNlc1Rv
Q29uc2lzdGVudFZhbHVlcyk6CisKIDIwMjAtMDQtMTMgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5l
X2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1w
cml2YWN5L2FwcC1ib3VuZC1kb21haW4uaHRtbCBpcyBhIGNvbnN0YW50IGZhaWx1cmUgb24gaU9T
CkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCShyZXZp
c2lvbiAyNjAwNDUpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTEwMDQsNiArMTAwNCw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0
V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3QKICAgICBbcHJlZmVyZW5jZXMgc2V0TW9kZXJuTWVkaWFD
b250cm9sc0VuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0UmVzb3VyY2VUaW1pbmdF
bmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFVzZXJUaW1pbmdFbmFibGVkOllFU107
CisgICAgW3ByZWZlcmVuY2VzIHNldFBhaW50VGltaW5nRW5hYmxlZDpZRVNdOwogCiAgICAgW3By
ZWZlcmVuY2VzIHNldENhY2hlQVBJRW5hYmxlZDpOT107CiAgICAgcHJlZmVyZW5jZXMubWVkaWFD
YXBhYmlsaXRpZXNFbmFibGVkID0gWUVTOwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvd2lu
L0R1bXBSZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS93
aW4vRHVtcFJlbmRlclRyZWUuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBUb29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MjEsNiAr
OTIxLDcgQEAgc3RhdGljIHZvaWQgc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aQogICAgIHBy
ZWZzUHJpdmF0ZS0+c2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhvcHRpb25zLmFsbG93
VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMpOwogICAgIHByZWZlcmVuY2VzLT5zZXRQcml2YXRlQnJv
d3NpbmdFbmFibGVkKG9wdGlvbnMudXNlRXBoZW1lcmFsU2Vzc2lvbik7CiAgICAgcHJlZmVyZW5j
ZXMtPnNldFVzZXNQYWdlQ2FjaGUob3B0aW9ucy5lbmFibGVCYWNrRm9yd2FyZENhY2hlKTsKKyAg
ICBwcmVmc1ByaXZhdGUtPnNldFBhaW50VGltaW5nRW5hYmxlZChUUlVFKTsKIH0KIAogc3RhdGlj
IFN0cmluZyBhcHBsaWNhdGlvbklkKCkKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMxLDYgKzkzMSw3IEBA
IHZvaWQgVGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVyZW5jZXNUb0MKICAgICBXS1ByZWZlcmVu
Y2VzU2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBX
S1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsK
ICAgICBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUp
OworICAgIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRy
dWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVByZWxvYWRpbmdFbmFibGVkKHByZWZlcmVu
Y2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQbGF5YmFja0FsbG93c0lubGlu
ZShwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldElubGluZU1lZGlhUGxh
eWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKHByZWZlcmVuY2VzLCBmYWxzZSk7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNjAwNDUpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSw0MyBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxu
b2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1
bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZGVkIHRlc3RzIGZvciBzb21lIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgKEZDUCkgdXNlLWNh
c2VzLgorICAgICAgICBFbnN1cmUgdGhhdCBGQ1Agd29ya3Mgd2VsbCB3aXRoIFZORSAoZmlyc3Qg
cGFpbnQgZGVsYXkgdW50aWwgY29udGVudHMgYXJlIHZpc3VhbGx5IG5vbi1lbXB0eSkuCisKKyAg
ICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbDog
QWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmct
YXBpLmpzOiBBZGRlZC4KKyAgICAgICAgICAgICAgICBUZXN0IGV4aXN0ZW5jZSBvZiBwYWludCB0
aW1pbmcgQVBJIG9uIHRoZSB3aW5kb3cgb2JqZWN0LgorCisgICAgICAgICogcGVyZm9ybWFuY2Ut
YXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBh
aW50LXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFu
Y2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtd2l0aC13b3JrZXIuaHRtbDogQWRkZWQuCisg
ICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbDogQWRk
ZWQuCisgICAgICAgICAgICAgICAgVGVzdCB0aGF0IEZDUCBpcyBub3QgYXZhaWxhYmxlIGZvciBj
cm9zcy1vcmlnaW4gZnJhbWVzIGFuZCB3b3JrZXJzLgorCisgICAgICAgICogcGVyZm9ybWFuY2Ut
YXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2
ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3Jt
YW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qczogQWRkZWQuCisgICAgICAgIChh
c3luYyB3YWl0Rm9yRkNQKToKKyAgICAgICAgICAgICAgICBUZXN0IHRoYXQgcGVyZm9ybWFuY2Ug
b2JzZXJ2ZXJzIGFyZSBjYWxsZWQgZm9yIEZDUC4KKworICAgICAgICAqIGh0dHAvdGVzdHMvcGVy
Zm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24t
ZW1wdHktZm9yLXN0eWxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9y
bWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1w
dHktZm9yLXN0eWxlLWV4cGVjdGVkLnR4dDogQWRkZWQKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Bl
cmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c3R5bGUucGhwOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zdHlsZS5jc3M6ICBBZGRlZC4KKyAgICAgICAg
ICAgICAgICBJZiBhIHBlbmRpbmcgc3R5bGVzaGVldCBibG9ja3MgcGFpbnRpbmcsIG1ha2Ugc3Vy
ZSBGQ1AgaXMgcmVwb3J0ZWQgb25seSBhZnRlciBzdHlsZXNoZWV0IGhhcyBsb2FkZWQuCisKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVy
Zm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24t
ZW1wdHktZm9yLW51bS1jaGFycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvcGVyZm9ybWFuY2UvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJm
b3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVt
LWNoYXJzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVz
b3VyY2VzL3Nsb3dzY3JpcHQucGhwOiBBZGRlZC4KKyAgICAgICAgICAgICAgICBJZiBWTkUgZHVl
IHRvIG51bWJlciBvZiBjaGFyYWN0ZXJzIGJsb2NrcyBwYWludGluZywgbWFrZSBzdXJlIEZDUCBp
cyByZXBvcnRlZCBvbmx5IGFmdGVyIHBhaW50aW5nIGlzIHVuYmxvY2tlZC4KKwogMjAyMC0wNC0x
MyAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBo
dHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWRvbWFpbi5odG1sIGlz
IGEgY29uc3RhbnQgZmFpbHVyZSBvbiBpT1MKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
cGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1u
b24tZW1wdHktZm9yLW51bS1jaGFycy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNw
LWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1h
bmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hh
cnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorUEFTUyBwYWlu
dEVudHJ5LnN0YXJ0VGltZSA+IHRpbWVzdGFtcHNbZXhwZWN0ZWRJdGVyYXRpb25zXSBpcyB0cnVl
CitQQVNTIHBhaW50RW50cnkuc3RhcnRUaW1lIDwgdGltZXN0YW1wc1tleHBlY3RlZEl0ZXJhdGlv
bnMgKyAyXSBpcyB0cnVlCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFu
Y2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHkt
Zm9yLW51bS1jaGFycy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
cGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1u
b24tZW1wdHktZm9yLW51bS1jaGFycy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRl
ci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+
CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpCisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKzwvc2Ny
aXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisgICAgdmFyIHN0eWxlRW50cnkgPSBudWxsCisgICAgdmFyIHBhaW50
RW50cnkgPSBudWxsCisgICAgdmFyIHRpbWVzdGFtcHMgPSBbXQorICAgIHZhciBjaGFyc1Blckl0
ZXJhdGlvbiA9IDgwCisgICAgdmFyIGNoYXJUaHJlc2hvbGQgPSAyMDAKKyAgICB2YXIgZXhwZWN0
ZWRJdGVyYXRpb25zID0gTWF0aC5jZWlsKGNoYXJUaHJlc2hvbGQgLyBjaGFyc1Blckl0ZXJhdGlv
bikKKworICAgIGZ1bmN0aW9uIHNsb3dTdHJpbmcoc3RyLCBkZWxheSkgeworICAgICAgICBjb25z
dCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKQorICAgICAgICBjb25z
dCBzb3VyY2UgPSBgZG9jdW1lbnQud3JpdGUoJyR7c3RyfScpOyB0aW1lc3RhbXBzLnB1c2goJHtw
ZXJmb3JtYW5jZS5ub3coKX0pOyBjaGVjaygpO2AKKyAgICAgICAgc2NyaXB0LnNyYyA9IGAuL3Jl
c291cmNlcy9zbG93c2NyaXB0LnBocD9jYWNoZUJ1c3Rlcj0ke3BlcmZvcm1hbmNlLm5vdygpfSZk
ZWxheT0ke2RlbGF5fSZzY3JpcHQ9JHtzb3VyY2V9YAorICAgICAgICBkb2N1bWVudC53cml0ZShz
Y3JpcHQub3V0ZXJIVE1MKQorICAgIH0KKworICAgIGZ1bmN0aW9uIGNoZWNrKCkgeworICAgICAg
ICBpZiAodGltZXN0YW1wcy5sZW5ndGggPCBleHBlY3RlZEl0ZXJhdGlvbnMgKyAzIHx8ICFwYWlu
dEVudHJ5KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGRvY3VtZW50LmJvZHkuaW5u
ZXJUZXh0ID0gJycKKworICAgICAgICBzaG91bGRCZVRydWUoInBhaW50RW50cnkuc3RhcnRUaW1l
ID4gdGltZXN0YW1wc1tleHBlY3RlZEl0ZXJhdGlvbnNdIikKKyAgICAgICAgc2hvdWxkQmVUcnVl
KCJwYWludEVudHJ5LnN0YXJ0VGltZSA8IHRpbWVzdGFtcHNbZXhwZWN0ZWRJdGVyYXRpb25zICsg
Ml0iKQorICAgICAgICAKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCkKKyAgICB9CisKKyAgICBjb25zdCBvYnNlcnZlciA9
IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAgICBwYWludEVudHJ5ID0g
cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncGFpbnQnKVswXQorICAgICAgICBpZiAocGFp
bnRFbnRyeSkKKyAgICAgICAgICAgIGNoZWNrKCkKKyAgICB9KTsKKyAgICBvYnNlcnZlci5vYnNl
cnZlKHtlbnRyeVR5cGVzOiBbInBhaW50Il19KQorCisgICAgZnVuY3Rpb24gbmV4dCgpIHsKKyAg
ICAgICAgc2xvd1N0cmluZygnXHQgJyArIEFycmF5KGNoYXJzUGVySXRlcmF0aW9uIC8gMikuZmls
bCgnIDAgXHQgQScpLmpvaW4oJycpICsgIiAgIFxuXHQiLCAwLjMsIGNoYXJzUGVySXRlcmF0aW9u
KQorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlwdD5uZXh0KCk8
L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgp
PC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQo
KTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0
KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4
dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5l
eHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5u
ZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+
bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0
Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlw
dD5uZXh0KCk8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12
aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWlu
Zy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3Jt
YW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMiBAQAorUEFTUyBwYWludEVu
dHJ5LnN0YXJ0VGltZSA+PSBzdHlsZUVudHJ5LnN0YXJ0VGltZSArIHN0eWxlRW50cnkuZHVyYXRp
b24gaXMgdHJ1ZQorVEVYVApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5j
ZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1m
b3Itc3R5bGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZv
cm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVt
cHR5LWZvci1zdHlsZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxs
eS1ub24tZW1wdHktZm9yLXN0eWxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCkKKyAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dD4KKyAgICB2YXIgc3R5bGVFbnRyeSA9IG51bGw7CisgICAgdmFyIHBhaW50RW50cnkgPSBudWxs
OworICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7
CisgICAgICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5
cGUoJ3BhaW50Jyk7CisgICAgICAgIGlmIChwYWludEVudHJpZXMubGVuZ3RoKQorICAgICAgICAg
ICAgcGFpbnRFbnRyeSA9IHBhaW50RW50cmllc1swXTsKKworICAgICAgICBjb25zdCByZXNvdXJj
ZUVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpLmZpbHRl
cihyID0+IHIubmFtZS5pbmNsdWRlcygnc2xvd3N0eWxlLnBocCcpKTsKKyAgICAgICAgaWYgKHJl
c291cmNlRW50cmllcy5sZW5ndGgpCisgICAgICAgICAgICBzdHlsZUVudHJ5ID0gcmVzb3VyY2VF
bnRyaWVzWzBdOworCisgICAgICAgIGlmICghc3R5bGVFbnRyeSB8fCAhcGFpbnRFbnRyeSkKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICBzaG91bGRCZVRydWUoInBhaW50RW50cnkuc3Rh
cnRUaW1lID49IHN0eWxlRW50cnkuc3RhcnRUaW1lICsgc3R5bGVFbnRyeS5kdXJhdGlvbiIpOwor
ICAgICAgICAgICAgICAgIAorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9KTsKKyAgICBvYnNlcnZlci5vYnNl
cnZlKHtlbnRyeVR5cGVzOiBbInBhaW50IiwgInJlc291cmNlIl19KTsKKzwvc2NyaXB0PgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuL3Jlc291cmNlcy9zbG93c3R5bGUucGhwP2RlbGF5
PTAuNSIgLz4KKzwvaGVhZD4KKzxib2R5PgorVEVYVAorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3NjcmlwdC5w
aHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNv
dXJjZXMvc2xvd3NjcmlwdC5waHAJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3NjcmlwdC5waHAJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw5IEBACis8P3BocAoraWYgKGlzc2V0KCRfR0VUWyJkZWxheSJdKSkKKyAgICBz
bGVlcCgkX0dFVFsiZGVsYXkiXSk7CitoZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBt
dXN0LXJldmFsaWRhdGUnKTsKK2hlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQn
KTsKKworZWNobygkX0dFVFsic2NyaXB0Il0pCis/PgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c3R5bGUucGhwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dzdHlsZS5w
aHAJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9y
ZXNvdXJjZXMvc2xvd3N0eWxlLnBocAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYgQEAKKzw/
cGhwCitpZiAoaXNzZXQoJF9HRVRbImRlbGF5Il0pKQorICAgIHNsZWVwKCRfR0VUWyJkZWxheSJd
KTsKK2hlYWRlcignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZScpOwor
aGVhZGVyKCdMb2NhdGlvbjogc3R5bGUuY3NzJyk7Cis/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc3R5bGUuY3NzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3N0eWxlLmNzcwkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNl
cy9zdHlsZS5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACitib2R5IHsKKyAgICBi
YWNrZ3JvdW5kLWNvbG9yOiBncmVlbgorfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dy
b3VuZC1zaXplLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6
ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tn
cm91bmQgc2l6ZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBu
Zyk7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCAwOworICAgIH0KKworICAgIC8qIGNvbnRl
bnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4u
Y29udGVudGZ1bCB7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOworICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNw
KCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemUuIik7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFn
ZS1zZXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1z
ZXQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1z
ZXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZp
cnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1h
Z2Utc2V0LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBU
aW1pbmcgVGVzdDogRkNQIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldDwvdGl0
bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZp
bmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAg
ICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1pbWFnZS1zZXQodXJsKC4uL3Jlc291cmNlcy9j
aXJjbGVzLnBuZykgMXgpOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS1zZXQodXJs
KC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZykgMXgpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBp
ZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldC4iKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3
by1zdGVwcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdl
LXR3by1zdGVwcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJn
LWltYWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dyb3VuZCBp
bWFnZSBvbmx5IHdoZW4gdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10
d28tc3RlcHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0
ZXBzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVw
cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQg
ZmlyZSBmb3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZTwvdGl0bGU+Cis8c3R5
bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBhbmQgcHJlRkNQIGNsYXNzZXMgYXJl
IGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLnByZUZDUCB7CisgICAg
ICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVsLCAg
I21haW4ucHJlRkNQIHsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNl
cy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAg
IHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48
L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZm9yIGJhY2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGUuIik7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ2FudmFz
IHNob3VsZCBjb3VudCBhcyBjb250ZW50ZnVsIHdoZW4gY29udGV4dCBpcyBjcmVhdGVkIAorCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtY2FudmFzLWNvbnRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBU
ZXN0OiBGQ1Agd2hlbiBjYW52YXMgY29udGV4dCBpcyBjcmVhdGVkPC90aXRsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Y2FudmFz
IGlkPSJjYW52YXMiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8c2NyaXB0Pgor
ICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5k
b3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQu
Iik7CisgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcign
bG9hZCcsIHIpKTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7Cisg
ICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhbnZhcycpOworICAg
IGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICBjb250ZXh0LmZp
bGxSZWN0KDAsIDAsIDEwMCwgMTAwKTsKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQ
YWludCgpOworICB9LCAnQ2FudmFzIHNob3VsZCBjb3VudCBhcyBjb250ZW50ZnVsIHdoZW4gY29u
dGV4dCBpcyBjcmVhdGVkJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1ncmFkaWVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgR3JhZGllbnRzIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bCAKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdy
YWRpZW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBub3QgZmly
ZSB3aXRoIGdyYWRpZW50LW9ubHkgYmFja2dyb3VuZHM8L3RpdGxlPgorPHN0eWxlPgorICAgICNt
YWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBvcmFuZ2Us
IGJsdWUpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0
PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9u
KHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBv
cnRlZC4iKTsKKyAgICAgIGNvbnN0IG1haW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFp
bicpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQo
KTsKKyAgfSwgICdHcmFkaWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsJyk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1Mg
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcg
cm90YXRpbmcgaW50byB2aWV3LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1y
b3RhdGUtZGVzY2VuZGFudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5j
ZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byAzZCByZXZlYWxpbmcgb2YgZGVzY2VuZGFu
dHM8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0
ZVgoNDVkZWcpOworICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOworICAgIH0K
KworICAgIC8qCisgICAgICAgVGhpcyB0ZXN0cyB0aGF0IGdpdmVuIG11bHRpcGxpY2F0aW9uIGVm
ZmVjdCBvZiAzZCB0cmFuc2Zvcm1zIG9uIGJvdW5kaW5nIHJlY3QsCisgICAgICAgQW4gZWxlbWVu
dCBjb3VudHMgYXMgY29udGVudGZ1bC9wYWludGFibGUgb25seSB3aGVuIGl0cyBib3VuZGluZyBy
ZWN0IGlzIHRydWx5IG5vbi1lbXB0eSAqLworICAgICNjaGlsZCB7CisgICAgICAgIHRyYW5zZm9y
bTogcm90YXRlWCg0NWRlZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBk
ZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAg
ICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+
CisgICAgPGRpdiBpZD0iY2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0
ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9y
IGdldHRpbmcgcm90YXRpbmcgaW50byB2aWV3LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXcu
IAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZv
cm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmll
dzwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7Cisg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNm
b3JtOiByb3RhdGVZKDkwZGVnKTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAg
ICB0b3A6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGlu
IHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJh
bnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+VGV4dDwvZGl2
PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBk
dWUgdG8gM2Qgcm90YXRpb24gaW50byB2aWV3LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiAKKwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlv
bi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BB
U1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIHJldmVhbGVkIGR1cmluZyB0cmFu
c2l0aW9uLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9u
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0
aW9uLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10
cmFuc2l0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IGluIHRyYW5zaXRpb248L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lk
dGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7Cisg
ICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CisgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9y
bSAxMHM7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAg
IH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3Jp
cHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogc2NhbGUo
MSk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj5URVhUPC9kaXY+Cis8c2NyaXB0
PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gcmV2ZWFs
ZWQgZHVyaW5nIHRyYW5zaXRpb24uIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5n
IFRlc3Q6IEZDUCBkdWUgdG8gc2NhbGUgY2hhbmdlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFp
biB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAgICAgICBwb3Np
dGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFn
ZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVu
dGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5j
b250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0Pgor
PGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBzY2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4iKQorPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRl
eHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4
dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10
ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK0lOVklTSUJM
RQorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVt
ZW50IGJlY29taW5nIHZpc2libGUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRl
eHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIHN0aWxsIGZpcmUgZm9y
IGludmlzaWJsZSB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBv
c2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgICAgIGNvbG9yOiByZ2Jh
KDAsIDAsIDAsIDApOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5l
ZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAg
IHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4K
KyAgICBJTlZJU0lCTEUKKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJs
ZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIGR1ZSB0byBhbmNlc3RvciBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAg
ICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAg
IHRvcDogMDsKKyAgICB9CisKKyAgICAjY2hpbGQgeworICAgICAgICBvcGFjaXR5OiAwOworICAg
IH0KKworICAgIC8qIGNvbnRlbnRmdWwgYW5kIGludGVybWVkaWF0ZSBjbGFzc2VzIGFyZSBkZWZp
bmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICNjaGlsZCB7
CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorCisgICAgI21haW4uaW50ZXJtZWRpYXRlICNj
aGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorCisgICAgI21haW4uaW50ZXJtZWRp
YXRlIHsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVs
IHsKKyAgICAgICAgb3BhY2l0eTogMC41OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFp
biI+CisgICAgPGRpdiBpZD0iY2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAg
ICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2Vz
dG9yIGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gb3BhY2l0
eS1yZXZlYWxlZCBlbGVtZW50LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIGR1ZSB0byBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7
CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
bGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsK
KyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7
CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBp
cyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsK
KyAgICAgICAgb3BhY2l0eTogMC4xOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVsZW1lbnQuIik7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiAKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlv
biB3aXRoIGRvY3VtZW50LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJh
bnNsYXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJh
bnNsYXRlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMt
dHJhbnNsYXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IGR1ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQ8L3RpdGxl
PgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogdHJh
bnNsYXRlKC0xMDAwcHgpOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRv
cDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVz
LnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRl
c3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNm
b3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2Ny
aXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byB0
cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIikKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5j
ZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVu
dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7Cisg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IC0xMDAwcHg7CisgICAgICAgIHBv
c2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWlt
YWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250
ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWlu
LmNvbnRlbnRmdWwgeworICAgICAgICBsZWZ0OiAwcHg7CisgICAgfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2
IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgZmlyZXMgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiIpCis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC1kaXNwbGF5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRv
IHBzZXVkby1lbGVtZW50IHRleHQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtZGlzcGxheS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC1kaXNwbGF5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LWRpc3BsYXkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBG
Q1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWlu
IHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7Cisg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIgeworICAgICAg
ICBjb250ZW50OiAiVEVYVCI7CisgICAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAg
LyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAg
ICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0
X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQg
dGV4dC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1pbWFnZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1pbWFnZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1pbWFnZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9D
VFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6
IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgaW1hZ2U8L3RpdGxlPgorPHN0eWxlPgorICAgICNt
YWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7
CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFz
cyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVs
OmFmdGVyIHsKKyAgICAgICAgY29udGVudDogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7
CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91
dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAg
ICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVs
ZW1lbnQgaW1hZ2UuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZlIG9w
YWNpdHkuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVk
by1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eTwvdGl0bGU+Cis8c3R5bGU+CisgICAg
I21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBw
eDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7Cisg
ICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAg
ICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLwor
ICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBvcGFjaXR5OiAwLjU7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0
X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQg
Z2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50
IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQ8L3RpdGxlPgorPHN0
eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3
aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29u
dGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFp
bi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiCisgICAgfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgi
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4i
KQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIAorCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1l
bGVtZW50IGJlY29taW5nIHZpc2libGU8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAg
ICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBjb250
ZW50OiAiVEVYVCI7CisgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICB9CisKKyAgICAv
KiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAg
ICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwor
ICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRp
bHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAg
dGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVt
ZW50IGJlY29taW5nIHZpc2libGUuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXN2Zy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIFNWRyBiZWNvbWVzIGNvbnRlbnRmdWwuIAorCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2
Zy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBl
cmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agd2l0aCBTVkc8L3RpdGxlPgorPHN0eWxl
PgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAg
ICB9CisKKyAgICAjY2lyY2xlIHsKKyAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAg
LyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAg
ICAjbWFpbi5jb250ZW50ZnVsICNjaXJjbGUgeworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAg
ICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxz
LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICA8c3ZnIHZpZXdCb3g9IjAgMCAxMCAx
MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgorICAgICB4bWxuczp4bGluaz0i
aHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CisgICAgPGRlZnM+CisgICAgICA8Y2lyY2xl
IGlkPSJteUNpcmNsZSIgY3g9IjUiIGN5PSI1IiByPSI0IiBzdHJva2U9ImJsdWUiLz4KKyAgICA8
L2RlZnM+CisgICAgPHVzZSBpZD0iY2lyY2xlIiBocmVmPSIjbXlDaXJjbGUiIGZpbGw9ImdyZWVu
IiAvPgorICA8L3N2Zz4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIFNWRyBiZWNvbWVzIGNvbnRlbnRmdWwuIikKKzwvc2Ny
aXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFRleHQgaW5wdXQg
c2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gaXRzIHZhbHVlIGlzIG5vbi1lbXB0eSAKKwpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdGV4dC1pbnB1dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0
LWlucHV0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1
ZSBmb3Igbm9uLWVtcHR5IHRleHQgaW5wdXQ8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxpbnB1dCBpZD0iaW5wdXQiIHR5
cGU9InRleHQiIC8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAg
ICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFp
bnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIg
PT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3Nl
cnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdpbnB1dCcpOworICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1
ZScsICcgICcpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOwor
ICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsICd2YWx1ZScpOworICAgICAgYXdhaXQg
YXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ1RleHQgaW5wdXQgc2hvdWxkIGJl
Y29tZSBjb250ZW50ZnVsIHdoZW4gaXRzIHZhbHVlIGlzIG5vbi1lbXB0eScpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRv
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNl
dWRvLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBo
aWMtcHNldWRvLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK0EK
KworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIG9ubHkgd2hlbiBzb21lIG9mIHRo
ZSB0ZXh0IGlzIHZpc2libGUsIGNvbnNpZGVyaW5nIDo6Zmlyc3QtbGV0dGVyLiAKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBU
aW1pbmcgVGVzdDogRkNQIHNob3VsZCBub3QgZmlyZSB3aGVuIGFsbCB0ZXh0IGlzIGhpZGRlbiBk
dWUgdG8gdHlwb2dyYXBoaWMgcHNldWRvLWVsZW1lbnRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAj
bWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4
OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluICo6OmZpcnN0LWxl
dHRlciB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBj
bGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50
ZnVsICo6OmZpcnN0LWxldHRlciB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2PkE8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4K
KyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBvbmx5IHdoZW4gc29t
ZSBvZiB0aGUgdGV4dCBpcyB2aXNpYmxlLCBjb25zaWRlcmluZyA6OmZpcnN0LWxldHRlci4iKQor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJh
bWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFZpZGVv
IHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGZpcnN0IGZyYW1lIGlzIGxvYWRlZCAKKwpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZp
ZGVvLWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IGR1ZSB0byBsb2FkZWQgdmlkZW8gZnJhbWU8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIGF1
dG9wbGF5PjwvdmlkZW8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Cisg
ICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAi
UGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNl
KHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBh
c3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgICBjb25zdCB2aWRlbyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCd2aWRlbycpOworICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdz
cmMnLCAnL21lZGlhL3Rlc3QubXA0Jyk7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZl
ID0+IHsKKyAgICAgICAgdmlkZW8ub25jYW5wbGF5ID0gcmVzb2x2ZTsKKyAgICAgIH0pOworICAg
ICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ1ZpZGVvIHNob3Vs
ZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGZpcnN0IGZyYW1lIGlzIGxvYWRlZCcpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFZpZGVvIHNo
b3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIHBvc3RlciBpcyBsb2FkZWQgCisKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
dmlkZW8tcG9zdGVyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBv
c3Rlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUg
dG8gbG9hZGVkIHZpZGVvIHBvc3RlcjwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHZpZGVvIGlkPSJ2aWRlbyIgd2lkdGg9
IjUwIiBoZWlnaHQ9IjUwIj48L3ZpZGVvPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5j
IHQgPT4geworICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRU
aW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgIGF3YWl0IG5ldyBQ
cm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgYXdh
aXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIGNvbnN0IHZpZGVvID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpZGVvJyk7CisgICAgY29uc3Qgc3JjID0gJy4uL3Jlc291
cmNlcy9jaXJjbGVzLnBuZyc7CisgICAgY29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTsKKyAgICBp
bWFnZS5zcmMgPSBzcmM7CisgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdwb3N0ZXInLCBzcmMpOwor
ICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICBpbWFnZS5vbmxvYWQg
PSBhc3luYyAoKSA9PiByZXNvbHZlKCk7CisgICAgfSkKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENv
bnRlbnRmdWxQYWludCgpOworICB9LCAnVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdo
ZW4gcG9zdGVyIGlzIGxvYWRlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQgQEAKK1RFWFQKKworUEFTUyBXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVu
dGZ1bC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atd2hpdGVzcGFjZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzUgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRl
c3Q6IFdoaXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsPC90aXRsZT4KKzxz
dHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAg
d2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgYmFja2dyb3Vu
ZC1zaXplOiAwIDA7CisgICAgfQorCisgICAgI3RleHQgeworICAgICAgICBkaXNwbGF5OiBub25l
OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2Zj
cCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCAjdGV4dHsKKyAgICAgICAgZGlzcGxh
eTogYmxvY2s7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlk
PSJ3aGl0ZXNwYWNlIj4gICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8
L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIldoaXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3Vu
dCBhcyBjb250ZW50ZnVsLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXdpdGgtcnRsLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
d2l0aC1ydGwtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVY
VAorCitQQVNTIEZDUCBzaG91bGQgZmlyZSB3aGVuIGNvb3JkaW5hdGVzIGFyZSBuZWdhdGl2ZSwg
aWYgd2l0aGluIGRvY3VtZW50IHNjcm9sbGFibGUgYXJlYSAKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXdpdGgtcnRsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJm
b3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBkaXJlY3Rpb24gY2hhbmdlPC90
aXRsZT4KKzxzdHlsZT4KKyAgI3RleHQgeworICAgIHJpZ2h0OiAtMTAwcHg7CisgICAgcG9zaXRp
b246IGFic29sdXRlOworICB9CisKKyAgYm9keSB7CisgICAgZGlyZWN0aW9uOiBydGw7CisgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBkaXJlY3Rpb249IlJUTCI+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9InRleHQiPlRFWFQ8L2Rpdj4KKzxz
Y3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25k
aXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qg
c3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50
ZnVsUGFpbnQoKTsKKyAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuZGlyZWN0aW9uID0gJ2x0cicK
KyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdGQ1Agc2hv
dWxkIGZpcmUgd2hlbiBjb29yZGluYXRlcyBhcmUgbmVnYXRpdmUsIGlmIHdpdGhpbiBkb2N1bWVu
dCBzY3JvbGxhYmxlIGFyZWEnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvdzNjLWltcG9y
dC5sb2cJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0MyBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUg
aW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRl
c3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdl
YktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisK
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgor
Tm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCist
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2Fs
ZS10cmFuc2l0aW9uLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRl
c2NlbmRhbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW9wYWNpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRz
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdmVyZmxvdy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2Uu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LXZpc2liaWxpdHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1mcmFtZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9y
ZXNvdXJjZXMvY2lyY2xlLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2Zwko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2Zwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDMgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJz
aW9uPSIxLjEiPgorICAgPGNpcmNsZSBjeD0iMTAwIiBjeT0iNTAiIHI9IjQwIiBzdHJva2U9ImJs
YWNrIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIC8+Cis8L3N2Zz4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291
cmNlcy9zdWJmcmFtZS1wYWludGluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJm
cmFtZS1wYWludGluZy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1w
YWludGluZy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGJvZHk+Cis8ZGl2IGlkPSJpbWFnZSI+PC9kaXY+Cis8c2NyaXB0PgorICBjb25zdCBp
bWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdJTUcnKTsKKyAgaW1nLnNyYyA9ICdjaXJjbGVz
LnBuZyc7CisgIGltZy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBmdW5jdGlvbiBzZW5kUGFp
bnRFbnRyaWVzKCkgeworICAgICAgY29uc3QgcGFpbnRFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0
RW50cmllc0J5VHlwZSgncGFpbnQnKTsKKyAgICAgIGlmIChwYWludEVudHJpZXMubGVuZ3RoIDwg
MikgeworICAgICAgICBzZXRUaW1lb3V0KHNlbmRQYWludEVudHJpZXMsIDIwKTsKKyAgICAgICAg
cmV0dXJuOworICAgICAgfQorICAgICAgbGV0IGVudHJ5Q29udGVudHMgPSBwYWludEVudHJpZXMu
bGVuZ3RoICsgJyc7CisgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhaW50RW50cmllcy5sZW5n
dGg7IGkrKykgeworICAgICAgICBjb25zdCBlbnRyeSA9IHBhaW50RW50cmllc1tpXTsKKyAgICAg
ICAgZW50cnlDb250ZW50cyArPSAnICcgKyBlbnRyeS5lbnRyeVR5cGUgKyAnICcgICsgZW50cnku
bmFtZTsKKyAgICAgIH0KKyAgICAgIHBhcmVudC5wb3N0TWVzc2FnZShlbnRyeUNvbnRlbnRzLCAn
KicpOworICAgIH07CisgICAgc2VuZFBhaW50RW50cmllcygpOworICB9OworICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnaW1hZ2UnKS5hcHBlbmRDaGlsZChpbWcpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQ+Cisg
IHNlbGYuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uKGUpIHsKKyAgICAvLyBT
ZW5kIHBhaW50LXRpbWluZyBlbnRyaWVzIHVwb24gcmVjZWl2aW5nIGEgbWVzc2FnZS4KKyAgICBj
b25zdCBwYWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdwYWludCcp
OworICAgIGxldCBlbnRyeUNvbnRlbnRzID0gcGFpbnRFbnRyaWVzLmxlbmd0aCArICcnOworICAg
IGZvciAobGV0IGkgPSAwOyBpIDwgcGFpbnRFbnRyaWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICBj
b25zdCBlbnRyeSA9IHBhaW50RW50cmllc1tpXTsKKyAgICAgIGVudHJ5Q29udGVudHMgKz0gJyAn
ICsgZW50cnkuZW50cnlUeXBlICsgJyAnICArIGVudHJ5Lm5hbWU7CisgICAgfQorICAgIHBhcmVu
dC5wb3N0TWVzc2FnZShlbnRyeUNvbnRlbnRzLCAnKicpOworICB9KTsKKzwvc2NyaXB0PgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvcmVzb3VyY2VzL3V0aWxzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw1NiBAQAorLy8gTnVtYmVyIG1pbGxpc2Vjb25kcyB0byB3YWl0IGZvciBDU1MgcmVzb3Vy
Y2VzIHRvIGxvYWQuCitjb25zdCBudW1NaWxsaXNlY29uZHNXYWl0ID0gNTA7CisKKy8vIFdlIHVz
ZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKSBjYWxscyB0byBmb3JjZSB0aGUgdXNlciBhZ2VudCB0
byBwYWludCBhbmQgZ2l2ZSBlbm91Z2gKKy8vIHRpbWUgZm9yIEZDUCB0byBzaG93IHVwIGluIHRo
ZSBwZXJmb3JtYW5jZSB0aW1lbGluZS4gSGVuY2UsIHNldCB8bnVtRnJhbWVzV2FpdGluZ3wgdG8K
Ky8vIDMgYW5kIHVzZSB0aGF0IGNvbnN0YW50IHdoZW5ldmVyIHRoZSB0ZXN0IG5lZWRzIHRvIHdh
aXQgZm9yIHRoZSBuZXh0IHBhaW50IHRvIG9jY3VyLgorY29uc3QgbnVtRnJhbWVzV2FpdGluZyA9
IDM7CisKK2Z1bmN0aW9uIHdhaXRUaW1lKHQpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29s
dmUgPT4gdC5zdGVwX3RpbWVvdXQocmVzb2x2ZSwgbnVtTWlsbGlzZWNvbmRzV2FpdCkpOworfQor
CitmdW5jdGlvbiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKGNvdW50KSB7CisgIHJldHVybiBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBpZiAoY291bnQtLSA8PSAwKSB7CisgICAgICByZXNv
bHZlKCk7CisgICAgfSBlbHNlIHsKKyAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7
CisgICAgICAgIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoY291bnQpLnRoZW4ocmVzb2x2ZSk7Cisg
ICAgICB9KTsKKyAgICB9CisgIH0pOworfQorCisvLyBBc3NlcnRzIHRoYXQgdGhlcmUgaXMgY3Vy
cmVudGx5IG5vIEZDUCByZXBvcnRlZCwgZXZlbiBhZnRlciBzb21lIHdhaXQuCithc3luYyBmdW5j
dGlvbiBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpIHsKKyAgaWYgKHQpCisgICAgYXdh
aXQgd2FpdFRpbWUodCk7CisKKyAgYXdhaXQgd2FpdEZvckFuaW1hdGlvbkZyYW1lcyhudW1GcmFt
ZXNXYWl0aW5nKTsKKyAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1l
KCdmaXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoLCAwLCAnRmlyc3QgY29udGVudGZ1bCBw
YWludCBtYXJrZWQgdG9vIGVhcmx5LiAnKTsKK30KKworLy8gQXNzZXJ0cyB0aGF0IEZDUCBpcyBy
ZXBvcnRlZCwgcG9zc2libHkgYWZ0ZXIgc29tZSB3YWl0LiBUaGUgd2FpdCBpcyBuZWVkZWQKKy8v
IGJlY2F1c2Ugc29tZXRpbWVzIHRoZSBGQ1AgcmVsaWVzIG9uIHNvbWUgQ1NTIHJlc291cmNlcyB0
byBmaW5pc2ggbG9hZGluZy4KK2FzeW5jIGZ1bmN0aW9uIGFzc2VydEZpcnN0Q29udGVudGZ1bFBh
aW50KHQpIHsKKyAgaWYgKHQpCisgICAgYXdhaXQgd2FpdFRpbWUodCk7CisgIGF3YWl0IHdhaXRG
b3JBbmltYXRpb25GcmFtZXMobnVtRnJhbWVzV2FpdGluZyk7CisgIGFzc2VydF9lcXVhbHMocGVy
Zm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0
aCwgMSwgJ0V4cGVjdGVkIGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgbm90IGZvdW5kLiAnKTsKK30K
KworZnVuY3Rpb24gdGVzdF9mY3AobGFiZWwpIHsKKyAgY29uc3Qgc3R5bGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdzdHlsZScpOworICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHN0eWxl
KTsKKyAgcmV0dXJuIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3NlcnRfcHJlY29u
ZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0
IHN1cHBvcnRlZC4iKTsKKyAgICBjb25zdCBtYWluID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J21haW4nKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQo
KTsKKyAgICBtYWluLmNsYXNzTmFtZSA9ICdwcmVGQ1AnOworICAgIGF3YWl0IGFzc2VydE5vRmly
c3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICBtYWluLmNsYXNzTmFtZSA9ICdjb250ZW50ZnVsJzsK
KyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCBsYWJlbCk7Cit9
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2Vz
L3czYy1pbXBvcnQubG9nCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0Lmxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIxIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJl
Y3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2Rp
ZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVs
bCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxh
dGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2Mt
dGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRo
aXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhl
czoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmcKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1wYWlu
dGluZy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9yZXNvdXJj
ZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMKSW5kZXg6IExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGlt
aW5nLWFwaXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKK0Jh
c2ljIEludGVyZmFjZSB0ZXN0IGZvciBwYWludC10aW1pbmcgQVBJcy4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcKK1BBU1MgUGVyZm9ybWFu
Y2VQYWludFRpbWluZyBpcyBkZWZpbmVkLgorUEFTUyBQZXJmb3JtYW5jZVBhaW50VGltaW5nLnBy
b3RvdHlwZS50b0pTT04gaXMgZGVmaW5lZC4KK1BBU1MgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1p
bmcoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1
Y3RvciAoZXZhbHVhdGluZyAnbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKScpLgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmct
YXBpcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBIVE1M
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Bh
aW50LXRpbWluZy1hcGkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJh
bWVzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwyMCBAQAorUGFpbnQgQVBJIHNob3VsZCBiZSBhdmFpbGFibGUgZm9yIHNhbWUtb3Jp
Z2luIGZyYW1lcyBidXQgbm90IHRvIGNyb3NzLW9yaWdpbi9zYW5kYm94ZWQgZnJhbWVzLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyByZWNlaXZlZEV2ZW50LnNvdXJjZSBp
cyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJykuY29udGVudFdpbmRvdwor
UEFTUyByZWNlaXZlZEVudHJ5Lm5hbWUgaXMgJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnCitQQVNT
IGRpZFJlY2VpdmVNZXNzYWdlRnJvbVNhbmRib3hlZElmcmFtZSBpcyBmYWxzZQorUEFTUyBBcnJh
eS5pc0FycmF5KG5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcykgaXMgdHJ1ZQorUEFTUyBBcnJheS5p
c0FycmF5KHNhbmRib3hTdXBwb3J0ZWRUeXBlcykgaXMgdHJ1ZQorUEFTUyBkaWRSZWNlaXZlTWVz
c2FnZSBpcyB0cnVlCitQQVNTIG5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygicGFp
bnQiKSBpcyB0cnVlCitQQVNTIHNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygicGFpbnQi
KSBpcyBmYWxzZQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFp
bnQgY2FsbGJhY2sgd2FzIGZpcmVkIGZvciBzYW1lLW9yaWdpbiBmcmFtZSBidXQgbm90IGZvciBj
cm9zcy1vcmlnaW4gZnJhbWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCisKK1RFWFQKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
YWludC10aW1pbmctZnJhbWVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CisgICAgPGlmcmFtZSB3aWR0
aD0iMTAwIiBoZWlnaHQ9IjEwMCIgaWQ9Im5vblNhbmRib3hlZCIgc3JjPSIuL3Jlc291cmNlcy9m
Y3Atc3ViZnJhbWUuaHRtbCI+PC9pZnJhbWU+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2Pgor
PGlmcmFtZSBpZD0ic2FuZGJveGVkIiBzcmM9Ii4vcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1s
IiBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIj48L2lmcmFtZT4KKzxkaXYgY2xhc3M9InNwYWNlciI+
PC9kaXY+CisKKyAgICBURVhUCisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiUGFpbnQgQVBJIHNo
b3VsZCBiZSBhdmFpbGFibGUgZm9yIHNhbWUtb3JpZ2luIGZyYW1lcyBidXQgbm90IHRvIGNyb3Nz
LW9yaWdpbi9zYW5kYm94ZWQgZnJhbWVzLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
Oword2luZG93LmRpZFJlY2VpdmVNZXNzYWdlID0gZmFsc2U7CisKK3dpbmRvdy5vbmxvYWQgPSBh
c3luYyAoKSA9PiB7CisgICAgY29uc3Qgc2FuZGJveGVkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3NhbmRib3hlZCcpOworICAgIGNvbnN0IG5vblNhbmRib3hlZCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKTsKKyAgICBjb25zdCBmY3BNZXNzYWdlUHJvbWlzZSA9
IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gZXZl
bnQgPT4geworICAgICAgICAgICAgd2luZG93LnJlY2VpdmVkRXZlbnQgPSBldmVudDsKKyAgICAg
ICAgICAgIGNvbnN0IGlzRnJvbVNhbmRib3hlZCA9IGV2ZW50LnNvdXJjZSA9PT0gc2FuZGJveGVk
LmNvbnRlbnRXaW5kb3c7CisgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gSlNPTi5wYXJzZShl
dmVudC5kYXRhKTsKKyAgICAgICAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7CisgICAgICAg
ICAgICAgICAgY2FzZSAnc3VwcG9ydGVkJzoKKyAgICAgICAgICAgICAgICAgICAgaWYgKGlzRnJv
bVNhbmRib3hlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zYW5kYm94U3VwcG9y
dGVkVHlwZXMgPSBtZXNzYWdlLnN1cHBvcnRlZDsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93Lm5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcyA9
IG1lc3NhZ2Uuc3VwcG9ydGVkOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgICAgICBjYXNlICdyZWNlaXZlZCc6CisgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5kaWRS
ZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUgPSBpc0Zyb21TYW5kYm94ZWQ7CisgICAg
ICAgICAgICAgICAgICAgIHdpbmRvdy5yZWNlaXZlZEVudHJ5ID0gbWVzc2FnZS5lbnRyeTsKKyAg
ICAgICAgICAgICAgICAgICAgZGlkUmVjZWl2ZU1lc3NhZ2UgPSB0cnVlOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgncmVjZWl2ZWRFdmVudC5zb3VyY2UnLCAiZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ25vblNhbmRib3hlZCcpLmNvbnRlbnRXaW5kb3ciKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoJ3JlY2VpdmVkRW50cnkubmFtZScsICInZmlyc3QtY29udGVudGZ1bC1w
YWludCciKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICB9KTsKKworICAgIHNh
bmRib3hlZC5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCJwYWludCIsICIqIik7CisgICAgYXdh
aXQgd2FpdEZvckZDUCgpOworICAgIG5vblNhbmRib3hlZC5jb250ZW50V2luZG93LnBvc3RNZXNz
YWdlKCJwYWludCIsICIqIik7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIGF3YWl0IGZj
cE1lc3NhZ2VQcm9taXNlOworICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVNZXNzYWdlRnJv
bVNhbmRib3hlZElmcmFtZScpOworICAgIHNob3VsZEJlVHJ1ZSgnQXJyYXkuaXNBcnJheShub25T
YW5kYm94U3VwcG9ydGVkVHlwZXMpJyk7CisgICAgc2hvdWxkQmVUcnVlKCdBcnJheS5pc0FycmF5
KHNhbmRib3hTdXBwb3J0ZWRUeXBlcyknKTsKKyAgICBzaG91bGRCZVRydWUoJ2RpZFJlY2VpdmVN
ZXNzYWdlJyk7CisgICAgc2hvdWxkQmVUcnVlKCdub25TYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5j
bHVkZXMoInBhaW50IiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCdzYW5kYm94U3VwcG9ydGVkVHlw
ZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2Vy
dmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2FzIGZpcmVkIGZvciBzYW1lLW9y
aWdpbiBmcmFtZSBidXQgbm90IGZvciBjcm9zcy1vcmlnaW4gZnJhbWUiKTsKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK307CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5n
LXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACitQYWludCBBUEkgc2hvdWxkIG5vdCBiZSBhdmFp
bGFibGUgaW4gd29ya2VyIGNvbnRleHRzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMo
InBhaW50IikgaXMgdHJ1ZQorUEFTUyB3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVz
KCJwYWludCIpIGlzIGZhbHNlCitQQVNTIHdvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVk
ZXMoIm1hcmsiKSBpcyB0cnVlCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50
cnlUeXBlcyBkaWQgbm90IGluY2x1ZGUgJ3BhaW50JyBmb3Igd29ya2VycworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2Vy
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50
LXRpbWluZy13aXRoLXdvcmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYgQEAK
KzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3Bh
aW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiUGFpbnQgQVBJIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlIGluIHdvcmtlciBj
b250ZXh0cy4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2NvbnN0IHdvcmtlciA9
IG5ldyBXb3JrZXIoIi4vcmVzb3VyY2VzL3dvcmtlci5odG1sIik7Cit3b3JrZXIub25tZXNzYWdl
ID0gZXZlbnQgPT4geworICAgIHdpbmRvdy53b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzID0gSlNP
Ti5wYXJzZShldmVudC5kYXRhKTsKKyAgICBzaG91bGRCZVRydWUoJ1BlcmZvcm1hbmNlT2JzZXJ2
ZXIuc3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKScpOworICAgIHNob3VsZEJl
RmFsc2UoJ3dvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAg
ICBzaG91bGRCZVRydWUoJ3dvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoIm1hcmsi
KScpOworICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlU
eXBlcyBkaWQgbm90IGluY2x1ZGUgJ3BhaW50JyBmb3Igd29ya2VycyIpOworICAgIGZpbmlzaEpT
VGVzdCgpOworfTsKKword29ya2VyLnBvc3RNZXNzYWdlKCJzdGFydCIpOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3Jt
YW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIt
Zmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAK
K1BBU1MgZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50IGlzIHRydWUKK1BBU1MgcGVyZm9y
bWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGggaXMgMQorUEFTUyBwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IiwgInBhaW50
IikubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQi
KS5sZW5ndGggaXMgMQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQgY2FsbGJhY2sgd2Fzbid0IGZpcmVkIGFnYWluIAorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitURVhUMgpJbmRleDogTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1j
b250ZW50ZnVsLXBhaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MSBAQAorPCFE
T0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcGFpbnQt
YXBpLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2Ny
aXB0aW9uKCJFbnN1cmUgUGVyZm9ybWFuY2VPYnNlcnZlcnMgYXJlIG5vdGlmaWVkIG9uY2UgZm9y
IGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
CisgCisoYXN5bmMgKCkgPT4geworICAgIHdpbmRvdy5kaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVs
UGFpbnQgPSBmYWxzZTsKKyAgICB3aW5kb3cuc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7
CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUg
PT4geworICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGVu
dHJ5TGlzdCA9PiB7CisgICAgICAgICAgICB3aW5kb3cuZW50cnlMaXN0ID0gZW50cnlMaXN0Owor
ICAgICAgICAgICAgc2hvdWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzKCkubGVuZ3RoJywgIjEi
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5TmFtZSgiZmly
c3QtY29udGVudGZ1bC1wYWludCIpLmxlbmd0aCcsIDEpOworICAgICAgICAgICAgc2hvdWxkQmUo
J2VudHJ5TGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCcsICIxIik7CisgICAg
ICAgICAgICB3aW5kb3cuZmNwRW50cnkgPSBlbnRyeUxpc3QuZ2V0RW50cmllcygpWzBdOworICAg
ICAgICAgICAgc2hvdWxkQmVGYWxzZSgnZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50Jyk7
CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50cnkubmFtZScsICciZmlyc3QtY29udGVudGZ1
bC1wYWludCInKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5lbnRyeVR5cGUnLCAn
InBhaW50IicpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdmY3BFbnRyeS5zdGFydFRpbWUg
PiB3aW5kb3cuc3RhcnRUaW1lJyk7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoJ2ZjcEVudHJ5
LnN0YXJ0VGltZSA8IHBlcmZvcm1hbmNlLm5vdygpJyk7CisgICAgICAgICAgICBzaG91bGRCZSgn
ZmNwRW50cnkuZHVyYXRpb24nLCAiMCIpOworICAgICAgICAgICAgZGlkUmVjZWl2ZUZpcnN0Q29u
dGVudGZ1bFBhaW50ID0gdHJ1ZTsKKyAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgfSk7
CisKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydwYWludCddfSk7Cisg
ICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQnOworICAgIH0pCisgICAgZG9j
dW1lbnQuYm9keS5pbm5lclRleHQgPSAnVEVYVDInOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsK
KyAgICBzaG91bGRCZVRydWUoJ2RpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCcpOworICAg
IHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKCkubGVuZ3RoJywgIjEiKTsKKyAgICBz
aG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1w
YWludCIpLmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiLCAicGFpbnQiKS5sZW5ndGgnLCAiMSIp
OworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpLmxl
bmd0aCcsICIxIik7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAiKTsKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK30pKCk7CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1
YmZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIw
IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGNvbnN0
IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7CisgICAgICAgIGxp
c3QuZ2V0RW50cmllcygpLmZvckVhY2goZW50cnkgPT4geworICAgICAgICAgICAgd2luZG93LnBh
cmVudC5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZTogJ3JlY2VpdmVkJywgZW50cnl9
KSwgJyonKTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICBvYnNlcnZlci5vYnNlcnZlKHtl
bnRyeVR5cGVzOiBbInBhaW50Il19KTsKKyAgICB3aW5kb3cub25tZXNzYWdlID0gZSA9PiB7Cisg
ICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3N1cHBvcnRl
ZDogUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLCB0eXBlOiAnc3VwcG9y
dGVkJ30pLCAnKicpOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICJURVhUIjsK
KyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9w
YWludC1hcGktdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw1IEBACithc3luYyBmdW5jdGlvbiB3YWl0Rm9yRkNQKCkKK3sKKyAgICBhd2FpdCBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiByZXNvbHZlKCkp
KTsKKyAgICByZXR1cm4gd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ2ZpcnN0
LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5ndGggPT0gMTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50
LXRpbWluZy1hcGkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACitpZiAoc2VsZi5pbXBvcnRTY3JpcHRzKQorICAgIGlt
cG9ydFNjcmlwdHMoIi4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyIpOworCitpZiAoc2Vs
Zi53aW5kb3cpCisgICAgZGVzY3JpcHRpb24oIkJhc2ljIEludGVyZmFjZSB0ZXN0IGZvciBwYWlu
dC10aW1pbmcgQVBJcy4iKTsKKworZGVidWcoIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmciKTsKK3No
b3VsZEJlRGVmaW5lZCgiUGVyZm9ybWFuY2VQYWludFRpbWluZyIpOworc2hvdWxkQmVEZWZpbmVk
KGBQZXJmb3JtYW5jZVBhaW50VGltaW5nLnByb3RvdHlwZS50b0pTT05gKTsKK3Nob3VsZFRocm93
KGBuZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygpYCk7CisKK2lmIChzZWxmLmltcG9ydFNjcmlw
dHMpCisgICAgZmluaXNoSlNUZXN0KCk7CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcmVzb3VyY2VzL3dvcmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMgQEAKK3NlbGYub25tZXNzYWdlID0gKCkgPT4geworICAgIHNlbGYucG9z
dE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRy
eVR5cGVzKSk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2Vz
L2NpcmNsZXMucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEg
YmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBl
CiMjIC0wLDAgKzEgIyMKK2ltYWdlL3BuZwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ1FBQUFCSUNBWUFBQUNlTmxlNUFBQUM3bWxEUTFC
SlEwTWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRR
Mi9SRmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZw
RktONnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xz
ZkVKcQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9I
aFAxQTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4Rmtp
ZkVBMUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZy
WXFHY1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDAr
R0FWdHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUr
THFIQlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdV
RUNHUEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFD
Skw4UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRw
TlhSNWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdq
RTMzNTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhH
UGlLVEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAx
dDR2VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJw
dFUzSHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVn
cG1OT1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtF
NVF2ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQUEKQ1hC
SVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBR1owbEVRVlJvQmUyYVVXOVZSUkRIZDY4dEVWSkxXMktD
eENZK2lnUURvWWtLZmdKOAo5TWtuRXZFZHZvQ21rUytBNzJwQ1FzS1RqL0lKQkNTQjFOU29QSnFV
MUNha2dOaUFhZU5kZi8rWk9UMjM1OTdTRnU3bDZVeXk1K3pPCjJaMlpuWjNkblpsN2M1clBKZTBL
U3NwcGhwNzdVMG1QcUQvZEhGVVJ5SnVZUko4RDlKa0c4NHo2UTk2OVgzczZOcXBqalhhaktTTGQK
RUdRZjlSV0lPK21TenNMMUJLMVp5aUdLaEZqbHVVU0hYeGh6bmZaVEV5T253K0RYUTdDTzllUXhF
SjRqa0ZpUFFWREVsbTF3S1oveQpQcGRLT2MzYmhiQVB6UWREVGJoOGsvZVZsUE1QMWlPbkk3UWZV
TitnRE5aWTdsOHkxMHBLa3d3Wlp5Q3pMbWNSNG12YXA0eHdTYjlDCjd5YnRoVlR5SDd6L0R2ekJs
TXRSbUo1a3pHbnd4d04vRjZHK1lzeDEyb2Y0TG9HZVVQcTExUkNvWGlLdHUxcWxmTWZqYzJvc1hi
NkcKQUpmQjM2RU5tbUo5ckZYWGhST1VOSWVBRjZIeEdTMlk1KytoY1Q3R3pmQ1diVzBWcWlGUVpi
Z1BiVkRxL3N5QUR5ZzNHUGNGNzNzbQpRTEpsRkNITlZMYlI1UzJCaEpPdFNiUEN1YzJsOUM3TmIy
bWZvZHlHMW9kQnB4S3Ftb0tNWkJNMDMwbUtwQWE2di9NNENwZHZLQmVECndDek10VHdyNmdIVWhO
UVNCWWVxcG1VL0NPcGVLcDJQNlhDWmNzRnBkOTRETDE3aXFlVnpXcHBTTk1aQmpSdlJnbWF5Q2FO
MWx6QnYKMDJlS2IreWd0QmI5dHdvRHNnZjBUV1V0eGt3NURXZ2xiRW0weGNPWFhOcFUyU0tRdHZh
YklGZFpjMnlHWlNxbW1VdmczMkhnWDVUSApNYWlhUGMwZHdWbHFyR2lJVnNxWG5EWThuQmM4alhl
MTdQTzUrQUdHM2JDYlV2bVJEamRNeGRLTUNMazk3TWg5RngwNjBINExtdmRUCjd2N0VHNXZLbjJE
bzJuMnlwMGV5UXMxQ2hnaXd0WTI1R2JBUVdwNy9WQmtTaUpab0FzWURyUmhQSVNSRFNSMi9EdGdO
ZHVpZDhxMXQKdTBrR1hDMlRCZ3dEc3RITW5PNUZQRGhHRW1lYjgxNUJlelBTa080bXdUbDdKczRa
Z2UrbXNIbi9NcVJuSjJoRExualo2Vy9VOTZlTwpYNVI4czVOMUVmUWRKTlYxb2Ezb29scmZvVDFF
ODBud0VLL0Y0QzF1MkpCdWJWMlVSVWQ2dmhWc1I2R1o1b3ljaDNnYWIyU1FMSUU5CkViMjVtNnlt
RTlqUGhTYVo0YlJGZXlONExUaEo4eHo4SWdFeDYwaTdLRlZkOS9aSW4rcytaWGc2dUF4anJoRjNK
WFJyZTlzUHFWSEsKVTk5L0ZVOTVBWnNhR2lYcnZkSEdxQVh5OUdUbCtETzgvZFkyMU1nZTRpRmU0
dW1nSzJSVFE3bzBBWE91VkltVFc5V1J3VDQzRDNnNgp1QXkreS9DQkhVNmFsSDc3dWpYRmh5Ry9S
RnZlaFFEdlVoQXlZTlNLRG5TNXlWWEZWN1plb3pmcTZzTFdnZXdtbzZEZ2dBN0dhVk5kCk1ZZGNQ
dkFjYlRsZ2NweDhEbFNHQ0tJNUdUekU2emdIc29JQmNadld3ZmdzMkY1eHB2akFBdmYwUnFFcCtW
NWh5TUVyS1RJeHJwSmwKSGdIdDd1TEc3OHA1eDQ0Nng1Qlkvck84eE1jbW52Vi82WWQ4ZHFlWjhi
Tkw5emNvTHNCdmp2ZGhlSzFJUTVJdFRtYUZLa0taUTA0MQpUVkJlVTJWSUlGcWlDUmdQc1JkUGdX
U0lBOGZEa1NQbXVXVkNGZlBrY01qTnM3TnJoWUcwWGh3MFZ1ZU8vS0Q3a0JMdE0vQlRXS1FOCnBR
RFNnNHVJT3VTalBHQ0Fidnp6RERpR1MzQUIzQ3B0K2RWeTh1V3dhL24ySXB5MEw1dVo0ajNCK0Qr
aC9XWFF2bTI4aktkRnMwNDMKQk5JTWRQdHVNQmdnYmlvS2c4eTlsSkFlQnZrTUZRYkpWeEs0S1hx
OTkxbHA4dzE2eUlDWGZESVJCcFZFdEFzUGdVZXh0WGNSQXVtVAppSXZSREFYMUtXNVNvS2c0cXJB
OVh6aFFGTTMrUUJFa0VMeDZKaVk5OVlDV1RtdXBqb2lvV2JET0ZuR3lJM0s1eW5mdENKMVR5OVNW
Ck9KREcvb21pbTF1NFpRcTcxa0xwcTB4TXUwa1JCallUbXZFb1E3eTJpc0MyYithSGZOMTFlRzJm
YkZpRStDMitQeS9aOEJIZjM0ZWgKbHVVdXhzdHUybnV5d2NiSFEzYWcrMFlCcEdZTTRVakgyQlh6
dkhTTTllWXE0Z1MyUXkvU01iNmI5cHlPTVdyeGNHMTVxQ1FQUU1zQQpINHI4OEl6YldleFljQWZQ
SWw4Wk1CZWxKNnk4cnljbmRwZXdHckJrSVV2ZnE4cU12STRRaWhwMERBd0dGM2lDUHBOMCtKZCtz
aFZoCmQ0YXRGclZ6LzVIMzZObjJnM2k5N0pLdG1WNWVXWTV4MEpJWmprZWJZOVFDU3h0dXdMN2NW
YjB5M3piSDJOekt0VTFWdFRiSDZMYXoKL2RPdFRINVVtMlBjWGt1OVg5b2NZNjgydHF1M09jYnRO
TlBFdTZQUjVoaWJlcW5iYlk2eDFzVmVhbTJPc2RaV20yT3NkVEc0MWpWMAptMlBzMTA2YlkrelhT
WTFwYzR5MUxyeFdoZUp0ampIT0ZFdlBLWS9VKzJlVU5zZElpbmZnSDVyYUhHUC9uK0w4ZDY4bFF2
NVhtbVBVClh6Tkc5N2ZCL3dGWmJnMDVFRU51TndBQUFBQkpSVTVFcmtKZ2dnPT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396645</attachid>
            <date>2020-04-16 06:56:07 -0700</date>
            <delta_ts>2020-04-16 08:15:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200416165604.patch</filename>
            <type>text/plain</type>
            <size>146294</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEwOSBAQAorMjAyMC0wNC0xMyAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWlu
dC10aW1pbmcvI2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuCisgCisgICAgICAgIFdoZW4gdGhlIHBh
Z2UgdXBkYXRlcyB0aGUgcmVuZGVyaW5nLCBhbmQgdGhlIGRvY3VtZW50IGhhcyBjb250ZW50ZnVs
IHBhaW50YWJsZSBlbGVtZW50cywgY3JlYXRlIGEgZmlyc3QtY29udGVudGZ1bC1wYWludCBwZXJm
b3JtYW5jZSBlbnRyeS4KKworICAgICAgICBBZGRlZCB0aGUgbmVjZXNzYXJ5IElETHMsIHJ1bnRp
bWUgZmxhZywgYW5kIGNvbnRlbnRmdWxuZXNzIGNoZWNrcy4KKworICAgICAgICBVc2luZyB0aGUg
ZXhpc3RpbmcgUGFpbnRlZENvbnRlbnRSZXF1ZXN0IG1lY2hhbmlzbSBmb3Igd2Fsa2luZyB0aGUg
dHJlZSBvZiBub24tbGF5ZXIgZWxlbWVudHMuCisgICAgICAgIFRoZXJlIG1pZ2h0IGJlIHJhcmUg
ZWRnZSBjYXNlcyB3aGVyZSBjb21wdXRpbmcgY29udGVudGZ1bG5lc3Mgd291bGQgYmUgdG9vIGNv
c3RseSwgYW5kIEZDUCB3b3VsZCBiZSByZXBvcnRlZCBsYXRlLgorCisgICAgICAgIFRlc3RzOiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
YmFja2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Y2FudmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAg
ICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUu
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1k
aXNwbGF5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisg
ICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtdmlzaWJpbGl0eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC10ZXh0LWlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8u
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12
aWRlby1wb3N0ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9m
aXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3Jt
YW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sCisgICAgICAg
ICAgICAgICBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAorICAgICAgICAg
ICAgICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFp
bnRUaW1pbmcuaDogCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDoK
KyAgICAgICAgICAgICAgICBBZGQgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNl
LgorCisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChX
ZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFi
bGVkIGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgUGFpbnRUaW1pbmdFbmFibGVkIHJ1bnRp
bWUgZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVT
dHJpbmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNQYWludCBjb25zdCk6CisgICAgICAgICAgICAgICAg
QWRkIGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQg
ZW50cmllcy4KKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKToK
KyAgICAgICAgICAgICAgICBBZGQgInBhaW50IiB0byBzdXBwb3J0ZWRFbnRyeVR5cGVzIHdoZW4g
aW4gZWxpZ2libGUgYnJvd3NpbmcgY29udGV4dC4KKworICAgICAgICAqIHJlbmRlcmluZy9Db250
ZW50ZnVsUGFpbnRDaGVja2VyLmg6IAorICAgICAgICAqIHJlbmRlcmluZy9Db250ZW50ZnVsUGFp
bnRDaGVja2VyLmNwcDoKKyAgICAgICAgICAgICAgICBBZGQgbG9naWMgZm9yIGNvbXB1dGluZyB3
aGV0aGVyIGVsZW1lbnRzIGFyZSBjb250ZW50ZnVsICYgcGFpbnRhYmxlLCBhcyBwZXIgc3BlYy4K
KworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOiAKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoUGFpbnRlZENvbnRlbnRSZXF1ZXN0KToKKyAg
ICAgICAgICAgICAgICBFeHRlbmRlZCBQYWludGVkQ29udGVudFJlcXVlc3QgdG8gcXVlcnkgZm9y
IGNvbnRlbnRmdWwtcGFpbnQgZWxpZ2liaWxpdHkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvRmlsbExheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGxMYXllcjo6aGFzTG9hZGVk
Q2FjaGVkSW1hZ2UgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGU6Omhhc1BhaW50YWJsZUNhY2hlZEJhY2tncm91bmRJbWFnZSBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAg
ICAgICAgICAgQWRkIGhlbHBlciBmb3IgZmluZGluZyBvdXQgaWYgYmFja2dyb3VuZCBjb250YWlu
cyBsb2FkZWQgY2FjaGVkIGltYWdlcy4KKworICAgICAgICAqIHBhZ2UvRG9jdW1lbnQuaDoKKyAg
ICAgICAgKiBwYWdlL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpy
ZXBvcnRQYWludFRpbWluZ0lmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpz
dXBwb3J0c1BhaW50VGltaW5nKToKKyAgICAgICAgICAgICAgICBNYXJrIEZDUCBvbmNlIGZvciBl
bGlnaWJsZSBkb2N1bWVudHMuCisKK2AgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICAgICAgICAg
TWFyayBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGFmdGVyIHJlbmRlcmluZywgYXMgaW4KKyAgICAg
ICAgICAgICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBh
cGlzLmh0bWwjdXBkYXRlLXRoZS1yZW5kZXJpbmcuIAorCiAyMDIwLTA0LTEzICBOb2FtIFJvc2Vu
dGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBCYWNrZ3JvdW5kIGltYWdlcyBzaG91
bGQgZmlndXJlIGludG8gdmlzdWFsbHkgbm9uIGVtcHR5IGhldXJpc3RpYwpJbmRleDogU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC05MzYsNiArOTM2LDcgQEAgc2V0KFdlYkNvcmVfTk9O
X1NWR19JRExfRklMRVMKICAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwK
ICAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsCiAgICAgcGFnZS9QZXJm
b3JtYW5jZU5hdmlnYXRpb24uaWRsCisgICAgcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlk
bAogICAgIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZv
cm1hbmNlU2VydmVyVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTkyNiw2
ICs5MjYsNyBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZv
cm1hbmNlT2JzZXJ2ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNl
cnZlckNhbGxiYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRp
bWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTIxMjEsNiArMjEyMSw3IEBAIHJlbmRlcmluZy9CcmVha0xpbmVz
LmNwcAogcmVuZGVyaW5nL0NTU0ZpbHRlci5jcHAKIHJlbmRlcmluZy9DbGlwUmVjdC5jcHAKIHJl
bmRlcmluZy9Db21wbGV4TGluZUxheW91dC5jcHAKK3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRD
aGVja2VyLmNwcAogcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmNwcAogcmVuZGVyaW5nL0VsbGlwc2lz
Qm94LmNwcAogcmVuZGVyaW5nL0V2ZW50UmVnaW9uLmNwcApAQCAtMzE5OSw2ICszMjAwLDcgQEAg
SlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCiBK
U1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVu
dHJ5TGlzdC5jcHAKK0pTUGVyZm9ybWFuY2VQYWludFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuY3BwCiBKU1BlcmZv
cm1hbmNlVGltaW5nLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00
MDUzLDYgKzQwNTMsNyBAQAogCQlDOUY4N0NGRTFCMjhGNDBFMDA5NzlCODMgLyogTWVkaWFTZXNz
aW9uRXZlbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDOUY4N0NGRDFCMjhFNUY2MDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0EzQkY2N0UxMEQ5
OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xs
QW5pbWF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlDQTZDMTUzMDIyMEI5OENDMDA1NUNCRkMgLyogSlNWYWx1ZUluV3JhcHBlZE9iamVjdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMxQUUzQjgx
RkI4MEVBRTAwRjVFRkIyIC8qIEpTVmFsdWVJbldyYXBwZWRPYmplY3QuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDQTdFOUI0OTI0MzYxREM1MDA0
RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0E3RTlCNDcyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRl
bnRmdWxQYWludENoZWNrZXIuaCAqLzsgfTsKIAkJQ0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8q
IENTU0FzcGVjdFJhdGlvVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENBRTlGOTBFMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1Zh
bHVlLmggKi87IH07CiAJCUNCMzhGRDUyMUNDRjkzOTQwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNl
RW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENC
MzhGRDRFMUNDRjkzN0UwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCAqLzsgfTsKIAkJ
Q0IzOEZENUIxQ0QyMzI1QjAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0IzOEZENTkx
Q0QyMzE0NTAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovOyB9OwpA
QCAtMTM4MTYsNiArMTM4MTcsOCBAQAogCQlDQTA5MUQ4NjIzQ0Y5MDc4MDBBRDQzNDYgLyogU3R5
bGVJbWFnZVNldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUltYWdlU2V0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EwOTFEODkyM0NGOTA4ODAwQUQ0MzQ2IC8qIFN0
eWxlSW1hZ2VTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVJbWFnZVNldC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDQTE2MzVEQzIwNzJFNzY5MDBFN0QyQ0UgLyogUmVmZXJyZXJQ
b2xpY3kuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmZXJyZXJQ
b2xpY3kuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNENTI0MDdENjQw
MDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJm
b3JtYW5jZVBhaW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkz
M0Q4MjQwN0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1h
dG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1h
dG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAw
RTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNjcm9sbEFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNTJC
QUU1MjNEMEFGMTYwMERFMEI4NCAvKiBTdHlsZUN1cnNvckltYWdlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFN0eWxlQ3Vyc29ySW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTM4MjUsNiArMTM4MjgsOCBAQAogCQlDQTZDMTUyRjIyMEI0QTU1MDA1NUNCRkMgLyogSlNJ
REJSZXF1ZXN0Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTSURCUmVxdWVzdEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNB
NkMxNTM3MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvckN1c3RvbS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0lEQkN1cnNvckN1c3RvbS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNkMxNTM4MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lE
QkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0lEQkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUNBN0U5QjQ3MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRD
aGVja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRmdWxQYWlu
dENoZWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0E3RTlCNDgyNDM2MURD
NTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBRTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3Bl
Y3RSYXRpb1ZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENT
U0FzcGVjdFJhdGlvVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQUU5
RjkwRTE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5j
ZUVudHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1h
bmNlRW50cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA5NTksNiArMjA5
NjQsOCBAQAogCQkJCUE1QTk5MzNBMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2Vy
dmVyRW50cnlMaXN0LmNwcCAqLywKIAkJCQlBNUE5OTMzQjFFMzdGQUZEMDA1QjVFNEQgLyogUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oICovLAogCQkJCUE1QTk5MzNDMUUzN0ZBRkQwMDVC
NUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCAqLywKKwkJCQlDQTE5MzNE
NTI0MDdENjQwMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovLAorCQkJCUNB
MTkzM0Q4MjQwN0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLywK
IAkJCQk4NjUxMkVEQjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5jcHAgKi8sCiAJCQkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaCAqLywKIAkJCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgKi8sCkBAIC0yODA0Miw2ICsyODA0OSw4IEBACiAJCQkJ
QkNERDQ1NEQxMjM2Qzk1QzAwOUE3OTg1IC8qIENvbHVtbkluZm8uaCAqLywKIAkJCQlCQ0VBNDgx
MzA5N0Q5MzAyMDA5NEM5RTQgLyogQ29tcGxleExpbmVMYXlvdXQuY3BwICovLAogCQkJCUU0QTFB
Qzc4MjJGQUZENTAwMDE3Qjc1QiAvKiBDb21wbGV4TGluZUxheW91dC5oICovLAorCQkJCUNBN0U5
QjQ4MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcCAqLywKKwkJ
CQlDQTdFOUI0NzI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oICov
LAogCQkJCTkzOTJGMTRGMEFEMTg2MjMwMDY5MUJENCAvKiBDb3VudGVyTm9kZS5jcHAgKi8sCiAJ
CQkJOTM5MkYxNEIwQUQxODYxQjAwNjkxQkQ0IC8qIENvdW50ZXJOb2RlLmggKi8sCiAJCQkJMEY1
M0ZCODEyMTNCMUJCODAwQzQwRDM0IC8qIENTU0ZpbHRlci5jcHAgKi8sCkBAIC0yOTc0Niw2ICsy
OTc1NSw3IEBACiAJCQkJQTE0OTc4NkYxQUJBRjMzODAwQ0VGN0U0IC8qIENvbnRlbnRGaWx0ZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTVDRENEREM2MjNEODBBMUMwMEJBMzRBMSAvKiBDb250ZW50
RmlsdGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQwOTBGRDFBQTUxRTQ4MDA5MTE5
MUEgLyogQ29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlD
QTdFOUI0OTI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNUM5QzJEQjUyMjQxQTY3QjAwOTk2QjBCIC8qIENvbnRlbnRSdWxlTGlz
dFJlc3VsdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QzQ3MURDMTJGOTI1QkQwMDg2MzU0QiAv
KiBDb250ZW50U2VjdXJpdHlQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFNUZBMjU1MjA5
RTQ4QzUwMDUxRDcwMCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJz
ICovLApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5
Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1Bl
cmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNSw5ICszNSwxMSBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1
ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUu
aCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1Bl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIK
ICNpbmNsdWRlICJQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBh
aW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAK
QEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3
bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1h
bmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVy
Zm9ybWFuY2VQYWludFRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAg
ICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1
cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3Qs
IFdURk1vdmUoZW50cnkpKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUJ1aWx0aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xNzksNiArMTc5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1h
bmNlTWVhc3VyZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNy
byhQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQ
YWludFRpbWluZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAg
ICBtYWNybyhQZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVu
dCkgXApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0
OCw3IEBACiAjaW5jbHVkZSAiQ29tcG9zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkNvbnN0YW50
UHJvcGVydHlNYXAuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIKKyNpbmNs
dWRlICJDb250ZW50ZnVsUGFpbnRDaGVja2VyLmgiCiAjaW5jbHVkZSAiQ29va2llSmFyLmgiCiAj
aW5jbHVkZSAiQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaCIKICNpbmNsdWRlICJDdXN0b21F
bGVtZW50UmVnaXN0cnkuaCIKQEAgLTE0OCw2ICsxNDksNyBAQAogI2luY2x1ZGUgIlBhZ2VHcm91
cC5oIgogI2luY2x1ZGUgIlBhZ2VUcmFuc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQYWludFdv
cmtsZXRHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1Mb2NhbGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIu
aCIKICNpbmNsdWRlICJQbGF0Zm9ybVNjcmVlbi5oIgpAQCAtMzE0MSw2ICszMTQzLDM0IEBAIGJv
b2wgRG9jdW1lbnQ6OmlzTGF5b3V0VGltZXJBY3RpdmUoKSBjb24KICAgICByZXR1cm4gdmlldygp
ICYmIHZpZXcoKS0+bGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0UGVuZGluZygpOwogfQogCitib29s
IERvY3VtZW50OjpzdXBwb3J0c1BhaW50VGltaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQo
KSAmJiBzZWN1cml0eU9yaWdpbigpLmNhbkFjY2Vzcyh0b3BPcmlnaW4oKSk7Cit9CisKKy8vIGh0
dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI3JlZi1mb3ItbWFyay1wYWludC10aW1p
bmcKK3ZvaWQgRG9jdW1lbnQ6OnJlcG9ydFBhaW50VGltaW5nSWZOZWVkZWQoKQoreworICAgIGlm
IChtX2RpZFJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KQorICAgICAgICByZXR1cm47CisKKyAg
ICBpZiAoIXN1cHBvcnRzUGFpbnRUaW1pbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYg
KCFkb21XaW5kb3coKSB8fCAhdmlldygpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBUbyBt
YWtlIHN1cmUgd2UgZG9uJ3QgcmVwb3J0IHBhaW50IHdoaWxlIHRoZSBsYXllciB0cmVlIGlzIHN0
aWxsIGZyb3plbi4KKyAgICBpZiAoIXZpZXcoKS0+aXNWaXN1YWxseU5vbkVtcHR5KCkgfHwgdmll
dygpLT5uZWVkc0xheW91dCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIUNvbnRlbnRm
dWxQYWludENoZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRmdWxQYWludCgqdmlldygpKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCkucmVwb3J0Rmly
c3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICBtX2RpZFJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50
ID0gdHJ1ZTsKK30KKwogRXhjZXB0aW9uT3I8dm9pZD4gRG9jdW1lbnQ6OndyaXRlKERvY3VtZW50
KiByZXNwb25zaWJsZURvY3VtZW50LCBTZWdtZW50ZWRTdHJpbmcmJiB0ZXh0KQogewogICAgIGlm
IChtX2FjdGl2ZVBhcnNlcldhc0Fib3J0ZWQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2
aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEwMzUsNiArMTAzNSw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2hvdWxkRGVm
ZXJBc3luY2hyb25vdXNTY3JpcHRzVW50aWxQYXJzaW5nRmluaXNoZXMoKSBjb25zdDsKIAorICAg
IGJvb2wgc3VwcG9ydHNQYWludFRpbWluZygpIGNvbnN0OworCiAjaWYgRU5BQkxFKFhTTFQpCiAg
ICAgdm9pZCBzY2hlZHVsZVRvQXBwbHlYU0xUcmFuc2Zvcm1zKCk7CiAgICAgdm9pZCBhcHBseVBl
bmRpbmdYU0xUcmFuc2Zvcm1zTm93SWZTY2hlZHVsZWQoKTsKQEAgLTE1NzUsNiArMTU3Nyw3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgc2V0SGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQo
KSB7IG1faGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQgPSB0cnVlOyB9CiAgICAgYm9v
bCBoYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFz
VmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQ7IH0KKyAgICB2b2lkIHJlcG9ydFBhaW50VGlt
aW5nSWZOZWVkZWQoKTsKIAogcHJvdGVjdGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9uRmxhZ3Mg
eyBTeW50aGVzaXplZCA9IDEsIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEgfTsKQEAg
LTIwNDEsNiArMjA0NCw5IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fYXJlRGV2aWNlTW90aW9u
QW5kT3JpZW50YXRpb25VcGRhdGVzU3VzcGVuZGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fdXNl
ckRpZEludGVyYWN0V2l0aFBhZ2UgeyBmYWxzZSB9OworCisgICAgYm9vbCBtX2RpZFJlcG9ydEZp
cnN0Q29udGVudGZ1bFBhaW50IHsgZmFsc2UgfTsKKwogI2lmIEFTU0VSVF9FTkFCTEVECiAgICAg
Ym9vbCBtX2luSGl0VGVzdGluZyB7IGZhbHNlIH07CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTM3Niw2ICsxMzc2LDEwIEBAIHZvaWQgUGFnZTo6ZG9BZnRlclVw
ZGF0ZVJlbmRlcmluZygpCiAgICAgLy8gbGF5b3V0IHRvIGJlIHVwLXRvLWRhdGUuIEl0IHNob3Vs
ZCBub3QgcnVuIHNjcmlwdCwgdHJpZ2dlciBsYXlvdXQsIG9yIGRpcnR5IGxheW91dC4KIAogICAg
IGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CisgICAgICAgIGRvY3Vt
ZW50LnJlcG9ydFBhaW50VGltaW5nSWZOZWVkZWQoKTsKKyAgICB9KTsKKworICAgIGZvckVhY2hE
b2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CiAgICAgICAgIGRvY3VtZW50LnVwZGF0
ZUhpZ2hsaWdodFBvc2l0aW9ucygpOwogICAgIH0pOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZUVudHJ5LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgi
CiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNlcnZlci5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNl
UGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCiAj
aW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVVzZXJU
aW1pbmcuaCIKQEAgLTEyNCw2ICsxMjUsOSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50
cnk+PiBQZXJmb3JtCiAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+
Z2V0TWVhc3VyZXMoKSk7CiAgICAgfQogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQp
CisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworCiAgICAg
c3RkOjpzb3J0KGVudHJpZXMuYmVnaW4oKSwgZW50cmllcy5lbmQoKSwgUGVyZm9ybWFuY2VFbnRy
eTo6c3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKTsKICAgICByZXR1cm4gZW50cmllczsKIH0KQEAg
LTEzNSw2ICsxMzksOSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3Jt
CiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInJlc291
cmNlIikpCiAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVzb3VyY2VUaW1pbmdCdWZm
ZXIpOwogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYgZXF1YWxMZXR0ZXJzSWdu
b3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkKKyAgICAgICAgZW50cmllcy5hcHBl
bmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAg
ICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJr
IikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1h
cmtzKCkpOwpAQCAtMTU3LDYgKzE2NCw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRy
eT4+IFBlcmZvcm0KICAgICAgICAgfQogICAgIH0KIAorICAgIGlmIChtX2ZpcnN0Q29udGVudGZ1
bFBhaW50ICYmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkgJiYgbmFtZSA9PSAiZmlyc3QtY29udGVudGZ1bC1w
YWludCIpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOwor
CiAgICAgaWYgKG1fdXNlclRpbWluZykgewogICAgICAgICBpZiAoZW50cnlUeXBlLmlzTnVsbCgp
IHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkKICAg
ICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MobmFt
ZSkpOwpAQCAtMTgwLDYgKzE5MCwxMyBAQCB2b2lkIFBlcmZvcm1hbmNlOjpzZXRSZXNvdXJjZVRp
bWluZ0J1ZmZlCiAgICAgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlckZ1bGxGbGFnID0gZmFsc2U7CiB9
CiAKK3ZvaWQgUGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCkKK3sKKyAg
ICBBU1NFUlQoIW1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworICAgIG1fZmlyc3RDb250ZW50ZnVs
UGFpbnQgPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nOjpjcmVhdGVGaXJzdENvbnRlbnRmdWxQYWlu
dChub3coKSk7CisgICAgcXVldWVFbnRyeSgqbV9maXJzdENvbnRlbnRmdWxQYWludCk7Cit9CisK
IHZvaWQgUGVyZm9ybWFuY2U6OmFkZFJlc291cmNlVGltaW5nKFJlc291cmNlVGltaW5nJiYgcmVz
b3VyY2VUaW1pbmcpCiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1
LDcgQEAgY2xhc3MgTG9hZFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNlRW50cnk7CiBjbGFzcyBQ
ZXJmb3JtYW5jZU5hdmlnYXRpb247CiBjbGFzcyBQZXJmb3JtYW5jZU9ic2VydmVyOworY2xhc3Mg
UGVyZm9ybWFuY2VQYWludFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNlVGltaW5nOwogY2xhc3Mg
UmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291cmNlVGltaW5nOwpAQCAtNzcsNiArNzgsOCBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZFJlc291cmNlVGltaW5nKFJlc291cmNlVGltaW5nJiYp
OwogCisgICAgdm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworCiAgICAgdm9pZCBy
ZW1vdmVBbGxPYnNlcnZlcnMoKTsKICAgICB2b2lkIHJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZl
cihQZXJmb3JtYW5jZU9ic2VydmVyJik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyUGVyZm9ybWFuY2VP
YnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CkBAIC0xMjEsNiArMTI0LDcgQEAgcHJpdmF0
ZToKIAogICAgIE1vbm90b25pY1RpbWUgbV90aW1lT3JpZ2luOwogCisgICAgUmVmUHRyPFBlcmZv
cm1hbmNlUGFpbnRUaW1pbmc+IG1fZmlyc3RDb250ZW50ZnVsUGFpbnQ7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPFVzZXJUaW1pbmc+IG1fdXNlclRpbWluZzsKIAogICAgIEdlbmVyaWNUYXNrUXVldWU8
U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCShyZXZpc2lvbiAy
NjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NCw2ICs2NCwxMSBAQCBPcHRpb25hbDxQZXJmb3JtYW5jZUVudHJ5OjpU
eXBlPiBQZXJmb3JtCiAgICAgICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlwZTo6UmVz
b3VyY2UpOwogICAgIH0KIAorICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnBhaW50VGltaW5nRW5hYmxlZCgpKSB7CisgICAgICAgIGlmIChlbnRyeVR5cGUg
PT0gInBhaW50IikKKyAgICAgICAgICAgIHJldHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpQYWlu
dCk7CisgICAgfQorCiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KIApJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCwx
MCArNDgsMTEgQEAgcHVibGljOgogICAgIGRvdWJsZSBkdXJhdGlvbigpIGNvbnN0IHsgcmV0dXJu
IG1fZHVyYXRpb247IH0KIAogICAgIGVudW0gY2xhc3MgVHlwZSB7Ci0gICAgICAgIE5hdmlnYXRp
b24gPSAxIDw8IDAsCi0gICAgICAgIE1hcmsgPSAxIDw8IDEsCi0gICAgICAgIE1lYXN1cmUgPSAx
IDw8IDIsCi0gICAgICAgIFJlc291cmNlID0gMSA8PCAzLAorICAgICAgICBOYXZpZ2F0aW9uICA9
IDEgPDwgMCwKKyAgICAgICAgTWFyayAgICAgICAgPSAxIDw8IDEsCisgICAgICAgIE1lYXN1cmUg
ICAgID0gMSA8PCAyLAorICAgICAgICBSZXNvdXJjZSAgICA9IDEgPDwgMywKKyAgICAgICAgUGFp
bnQgICAgICAgPSAxIDw8IDQKICAgICB9OwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25z
dCA9IDA7CkBAIC02Miw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzUmVzb3VyY2UoKSBj
b25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UmVzb3VyY2U7IH0KICAgICBib29sIGlzTWFy
aygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYXJrOyB9CiAgICAgYm9vbCBpc01l
YXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWVhc3VyZTsgfQorICAgIGJv
b2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpQYWludDsgfQogCiAg
ICAgc3RhdGljIGJvb2wgc3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKGNvbnN0IFJlZlB0cjxQZXJm
b3JtYW5jZUVudHJ5PiYgYSwgY29uc3QgUmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+JiBiKQogICAg
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAko
cmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2Vy
dmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDE1ICsxMTMsMjEgQEAgdm9pZCBQZXJmb3Jt
YW5jZU9ic2VydmVyOjpkZWxpdmVyKCkKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZEZpcmVPYnNlcnZlckNhbGxiYWNrKCpjb250ZXh0KTsKIH0KIAotVmVjdG9yPFN0cmluZz4gUGVy
Zm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcygpCitWZWN0b3I8U3RyaW5nPiBQ
ZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIHsKKyAgICBWZWN0b3I8U3RyaW5nPiBlbnRy
eVR5cGVzID0gewogICAgICAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NDM2
Mz4gQWRkIHN1cHBvcnQgZm9yIE5hdmlnYXRpb24gVGltaW5nIExldmVsIDIKICAgICAgICAgLy8g
Im5hdmlnYXRpb24iX3MsCiAgICAgICAgICJtYXJrIl9zLAotICAgICAgICAibWVhc3VyZSJfcywK
LSAgICAgICAgInJlc291cmNlIl9zCisgICAgICAgICJtZWFzdXJlIl9zCiAgICAgfTsKKworICAg
IGlmIChpczxEb2N1bWVudD4oY29udGV4dCkgJiYgZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQp
LnN1cHBvcnRzUGFpbnRUaW1pbmcoKSkKKyAgICAgICAgZW50cnlUeXBlcy5hcHBlbmQoInBhaW50
Il9zKTsKKworICAgIGVudHJ5VHlwZXMuYXBwZW5kKCJyZXNvdXJjZSJfcyk7CisKKyAgICByZXR1
cm4gZW50cnlUeXBlczsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgJKHJldmlzaW9uIDI2MDA0NSkKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCSh3b3JraW5nIGNvcHkp
CkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcihjb250ZXh0LCBXVEZNb3ZlKGNhbGxiYWNrKSkpOwogICAgIH0K
IAotICAgIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzKCk7CisgICAg
c3RhdGljIFZlY3RvcjxTdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYpOwogCiAgICAgdm9pZCBkaXNhc3NvY2lhdGUoKTsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCShyZXZpc2lvbiAyNjAwNDUpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zNiw3ICszNiw3IEBACiBdIGludGVyZmFjZSBQZXJmb3JtYW5jZU9ic2VydmVyIHsK
ICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgb2JzZXJ2ZShQZXJmb3JtYW5jZU9ic2VydmVy
SW5pdCBvcHRpb25zKTsKICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKLSAgICBzdGF0aWMgcmVhZG9u
bHkgYXR0cmlidXRlIEZyb3plbkFycmF5PERPTVN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlczsK
KyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gc3RhdGljIHJlYWRvbmx5IGF0
dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXM7CiB9Owog
CiBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IHsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEZv
dW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUVu
dHJ5LmgiCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZyBmaW5hbCA6IHB1YmxpYyBQZXJm
b3JtYW5jZUVudHJ5IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlUGFpbnRU
aW1pbmc+IGNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KERPTUhpZ2hSZXNUaW1lU3RhbXAgdGlt
ZVN0YW1wKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VQ
YWludFRpbWluZygiZmlyc3QtY29udGVudGZ1bC1wYWludCJfcywgdGltZVN0YW1wKSk7CisgICAg
fQorCitwcml2YXRlOgorICAgIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoY29uc3QgU3RyaW5nJiBu
YW1lLCBET01IaWdoUmVzVGltZVN0YW1wIHRpbWVTdGFtcCkKKyAgICAgICAgOiBQZXJmb3JtYW5j
ZUVudHJ5KG5hbWUsIHRpbWVTdGFtcCwgdGltZVN0YW1wKQorICAgIHsKKyAgICB9CisKKyAgICBB
U0NJSUxpdGVyYWwgZW50cnlUeXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gInBhaW50Il9zOyB9
CisgICAgVHlwZSB0eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gVHlwZTo6UGFpbnQ7IH0KKwor
ICAgIH5QZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgPSBkZWZhdWx0OworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlBl
cmZvcm1hbmNlUGFpbnRUaW1pbmcpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNv
cmU6OlBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KSB7IHJldHVybiBlbnRyeS5pc1BhaW50KCk7IH0K
K1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEZvdW5k
YXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGFpbnQtdGlt
aW5nLworCit0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOworCitbCisgICAgRW5h
YmxlZEF0UnVudGltZT1QYWludFRpbWluZywKKyAgICBFeHBvc2VkPShXaW5kb3cpLAorXSBpbnRl
cmZhY2UgUGVyZm9ybWFuY2VQYWludFRpbWluZyA6IFBlcmZvcm1hbmNlRW50cnkgeworfTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCShyZXZp
c2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXRVc2VyVGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzVXNlclRpbWluZ0VuYWJs
ZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHVzZXJUaW1pbmdFbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc1VzZXJUaW1pbmdFbmFibGVkOyB9CiAKKyAgICB2b2lkIHNldFBhaW50VGltaW5n
RW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzUGFpbnRUaW1pbmdFbmFibGVkID0gaXNFbmFi
bGVkOyB9CisgICAgYm9vbCBwYWludFRpbWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lz
UGFpbnRUaW1pbmdFbmFibGVkOyB9CisKICAgICBib29sIHBlcmZvcm1hbmNlVGltZWxpbmVFbmFi
bGVkKCkgY29uc3QgeyByZXR1cm4gcmVzb3VyY2VUaW1pbmdFbmFibGVkKCkgfHwgdXNlclRpbWlu
Z0VuYWJsZWQoKTsgfQogCiAgICAgdm9pZCBzZXRTaGFkb3dET01FbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1faXNTaGFkb3dET01FbmFibGVkID0gaXNFbmFibGVkOyB9CkBAIC00MjQsNiArNDI3
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNMaW5rUHJlbG9hZEVuYWJsZWQgeyB0cnVlIH07
CiAgICAgYm9vbCBtX2lzTGlua1ByZWZldGNoRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X2lzTWVkaWFQcmVsb2FkaW5nRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzUGFpbnRU
aW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNSZXNvdXJjZVRpbWluZ0VuYWJs
ZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1VzZXJUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsK
ICAgICBib29sIG1faXNJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCB7IGZhbHNlIH07
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWlu
dENoZWNrZXIuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9D
b250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyNyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBXaWtpTWVkaWEgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
KyAqCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ29udGVudGZ1bFBhaW50
Q2hlY2tlci5oIgorCisjaW5jbHVkZSAiSFRNTENhbnZhc0VsZW1lbnQuaCIKKyNpbmNsdWRlICJM
aW5lTGF5b3V0VHJhdmVyc2FsLmgiCisjaW5jbHVkZSAiUmVuZGVyQW5jZXN0b3JJdGVyYXRvci5o
IgorI2luY2x1ZGUgIlJlbmRlckNoaWxkSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJSZW5kZXJEZXNj
ZW5kYW50SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCisjaW5jbHVkZSAi
UmVuZGVySFRNTENhbnZhcy5oIgorI2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCisjaW5jbHVkZSAi
UmVuZGVyU1ZHUm9vdC5oIgorI2luY2x1ZGUgIlJlbmRlclRleHQuaCIKKyNpbmNsdWRlICJSZW5k
ZXJWaWRlby5oIgorI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitzdGF0aWMgYm9vbCBjaGVja0NvbnRlbnRmdWxQYWludEZvckxheWVyT3JEZXNjZW5kYW50
cyhSZW5kZXJMYXllciYgbGF5ZXIsIFJlbmRlckxheWVyKiByb290TGF5ZXIsIGNvbnN0IEludFJl
Y3QmIGRvY3VtZW50UmVjdCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHBhcmVudFRyYW5z
Zm9ybSA9IFRyYW5zZm9ybWF0aW9uTWF0cml4KCkpCit7CisgICAgaWYgKCFsYXllci5yZW5kZXJl
cigpLnN0eWxlKCkub3BhY2l0eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBUcmFu
c2Zvcm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm0gPSBwYXJlbnRUcmFuc2Zvcm0gKiBsYXllci5jdXJy
ZW50VHJhbnNmb3JtKCk7CisgICAgCisgICAgYXV0byBpc0xheWVyQ29udGVudGZ1bCA9IFsmXSgp
IHsKKyAgICAgICAgbGF5ZXIudXBkYXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKCk7CisgICAg
ICAgIFJlbmRlckxheWVyOjpQYWludGVkQ29udGVudFJlcXVlc3QgcmVxdWVzdDsKKyAgICAgICAg
cmVxdWVzdC5xdWFsaWZpZXNBc0NvbnRlbnRmdWwgPSBSZXF1ZXN0U3RhdGU6OlVua25vd247Cisg
ICAgICAgIC8vIElmIHdlIGhhdmUgdG9vIG1hbnkgZWxlbWVudHMgYW5kIHdlIHN0aWxsIGRpZG4n
dCBmaWd1cmUgb3V0IGNvbnRlbnRmdWxuZXNzLCBhc3N1bWUgY29udGVudGZ1bG5lc3MuCisgICAg
ICAgIHJldHVybiBsYXllci5pc1Zpc3VhbGx5Tm9uRW1wdHkoJnJlcXVlc3QpICYmIHJlcXVlc3Qu
cHJvYmFibHlRdWFsaWZpZXNBc0NvbnRlbnRmdWwoKTsKKyAgICB9OworCisgICAgYXV0byBvdmVy
bGFwc1dpdGhEb2N1bWVudFJlY3QgPSBbJl0geworICAgICAgICAvLyBUcnkgdG8ga2VlcCB0aGUg
Ym91bmRzIGNoZWNrIGFzIHNpbXBsZSBhcyBwb3NzaWJsZSwgdG8gYXZvaWQgb3ZlcmhlYWQuCisg
ICAgICAgIGNvbnN0IGF1dG8gbGF5ZXJCb3VuZHNGbGFncyA9IE9wdGlvblNldDxSZW5kZXJMYXll
cjo6Q2FsY3VsYXRlTGF5ZXJCb3VuZHNGbGFnPiB7CisgICAgICAgICAgICBSZW5kZXJMYXllcjo6
Q2FsY3VsYXRlTGF5ZXJCb3VuZHNGbGFnOjpFeGNsdWRlSGlkZGVuRGVzY2VuZGFudHMsCisgICAg
ICAgICAgICBSZW5kZXJMYXllcjo6Q2FsY3VsYXRlTGF5ZXJCb3VuZHNGbGFnOjpEb250Q29uc3Ry
YWluRm9yTWFzaywKKyAgICAgICAgICAgIFJlbmRlckxheWVyOjpDYWxjdWxhdGVMYXllckJvdW5k
c0ZsYWc6OlVzZUZyYWdtZW50Qm94ZXNFeGNsdWRpbmdDb21wb3NpdGluZworICAgICAgICB9Owor
CisgICAgICAgIGNvbnN0IGZsb2F0IHNpemVQYWludGFiaWxpdHlUaHJlc2hvbGQgPSAwLjA1Owor
CisgICAgICAgIExheW91dFJlY3QgYm91bmRzID0gdHJhbnNmb3JtLm1hcFJlY3QobGF5ZXIuYm91
bmRpbmdCb3gocm9vdExheWVyLCBsYXllci5vZmZzZXRGcm9tQW5jZXN0b3Iocm9vdExheWVyKSwg
bGF5ZXJCb3VuZHNGbGFncykpOworICAgICAgICBpZiAoYm91bmRzLndpZHRoKCkgPCBzaXplUGFp
bnRhYmlsaXR5VGhyZXNob2xkIHx8IGJvdW5kcy5oZWlnaHQoKSA8IHNpemVQYWludGFiaWxpdHlU
aHJlc2hvbGQpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBib3Vu
ZHMuaW50ZXJzZWN0cyhkb2N1bWVudFJlY3QpOworICAgIH07CisKKyAgICBpZiAoaXNMYXllckNv
bnRlbnRmdWwoKSAmJiBvdmVybGFwc1dpdGhEb2N1bWVudFJlY3QoKSkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICBmb3IgKFJlbmRlckxheWVyKiBjaGlsZCA9IGxheWVyLmZpcnN0Q2hpbGQo
KTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKKyAgICAgICAgaWYgKGNo
ZWNrQ29udGVudGZ1bFBhaW50Rm9yTGF5ZXJPckRlc2NlbmRhbnRzKCpjaGlsZCwgcm9vdExheWVy
LCBkb2N1bWVudFJlY3QsIHRyYW5zZm9ybSkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisgICAgCitib29sIENvbnRlbnRmdWxQYWludENo
ZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRmdWxQYWludChGcmFtZVZpZXcmIGZyYW1lVmlldykK
K3sKKyAgICBBU1NFUlQoIWZyYW1lVmlldy5uZWVkc0xheW91dCgpKTsKKworICAgIFJlbmRlclZp
ZXcqIHZpZXcgPSBmcmFtZVZpZXcucmVuZGVyVmlldygpOworICAgIEFTU0VSVCh2aWV3KTsKKwor
ICAgIGF1dG8gZG9jdW1lbnRSZWN0ID0gdmlldy0+ZG9jdW1lbnRSZWN0KCk7CisgICAgUmVuZGVy
TGF5ZXIqIHJvb3RMYXllciA9IHZpZXctPmxheWVyKCk7CisKKyAgICBBU1NFUlQocm9vdExheWVy
KTsKKworICAgIHJldHVybiBjaGVja0NvbnRlbnRmdWxQYWludEZvckxheWVyT3JEZXNjZW5kYW50
cygqcm9vdExheWVyLCByb290TGF5ZXIsIGRvY3VtZW50UmVjdCk7Cit9CisKKy8vIGh0dHBzOi8v
dzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI2NvbnRlbnRmdWwgCitib29sIENvbnRlbnRmdWxQ
YWludENoZWNrZXI6OnJlcGxhY2VkUmVuZGVyZXJRdWFsaWZpZXNBc0NvbnRlbnRmdWwoY29uc3Qg
UmVuZGVyUmVwbGFjZWQmIHJlcGxhY2VkKQoreworICAgIGlmIChpczxSZW5kZXJIVE1MQ2FudmFz
PihyZXBsYWNlZCkpCisgICAgICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJIVE1MQ2FudmFzPihy
ZXBsYWNlZCkuY2FudmFzRWxlbWVudCgpLnJlbmRlcmluZ0NvbnRleHQoKTsKKworICAgIGlmIChp
czxSZW5kZXJWaWRlbz4ocmVwbGFjZWQpKSB7CisgICAgICAgIGNvbnN0IGF1dG8mIHZpZGVvID0g
ZG93bmNhc3Q8UmVuZGVyVmlkZW8+KHJlcGxhY2VkKTsKKyAgICAgICAgaWYgKCF2aWRlby52aWRl
b0VsZW1lbnQoKS5zaG91bGREaXNwbGF5UG9zdGVySW1hZ2UoKSkKKyAgICAgICAgICAgIHJldHVy
biB2aWRlby52aWRlb0VsZW1lbnQoKS5yZWFkeVN0YXRlKCkgPiBIVE1MTWVkaWFFbGVtZW50RW51
bXM6OkhBVkVfTUVUQURBVEE7CisgICAgfQorCisgICAgaWYgKGlzPFJlbmRlckltYWdlPihyZXBs
YWNlZCkpIHsKKyAgICAgICAgY29uc3QgYXV0byYgaW1hZ2UgPSBkb3duY2FzdDxSZW5kZXJJbWFn
ZT4ocmVwbGFjZWQpOworICAgICAgICBhdXRvKiBjYWNoZWRJbWFnZSA9IGltYWdlLmltYWdlUmVz
b3VyY2UoKS5jYWNoZWRJbWFnZSgpOworICAgICAgICByZXR1cm4gY2FjaGVkSW1hZ2UgJiYgY2Fj
aGVkSW1hZ2UtPmNhblJlbmRlcigmaW1hZ2UsIDEpOworICAgIH0KKworICAgIGlmIChpczxSZW5k
ZXJTVkdSb290PihyZXBsYWNlZCkpIHsKKyAgICAgICAgZm9yIChhdXRvJiBjdXJyZW50IDogY2hp
bGRyZW5PZlR5cGU8UmVuZGVyT2JqZWN0PihyZXBsYWNlZCkpIHsKKyAgICAgICAgICAgIGlmICgh
Y3VycmVudC5pc1NWR0hpZGRlbkNvbnRhaW5lcigpKQorICAgICAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgfQorCisgICAg
cmV0dXJuIGZhbHNlOworfQorCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29u
dGVudGZ1bFBhaW50Q2hlY2tlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRpYSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgorICoKKyovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIEZyYW1lVmlldzsKK2NsYXNzIFJlbmRlclJlcGxhY2VkOworCitjbGFzcyBD
b250ZW50ZnVsUGFpbnRDaGVja2VyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgYm9vbCBxdWFsaWZp
ZXNGb3JDb250ZW50ZnVsUGFpbnQoRnJhbWVWaWV3Jik7CisgICAgc3RhdGljIGJvb2wgcmVwbGFj
ZWRSZW5kZXJlclF1YWxpZmllc0FzQ29udGVudGZ1bChjb25zdCBSZW5kZXJSZXBsYWNlZCYpOwor
fTsKKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCShy
ZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiQ1NTRmlsdGVy
LmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgor
I2luY2x1ZGUgIkNvbnRlbnRmdWxQYWludENoZWNrZXIuaCIKICNpbmNsdWRlICJEZWJ1Z1BhZ2VP
dmVybGF5cy5oIgogI2luY2x1ZGUgIkRlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncy5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCkBAIC02NTU1LDYgKzY1NTYsOCBAQCBzdGF0aWMgdm9pZCBkZXRlcm1p
bmVOb25MYXllckRlc2NlbmRhbnRzCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAor
ICAgICAgICBib29sIG1heVJlcG9ydENvbnRlbnRmdWxuZXNzID0gcmVxdWVzdC5uZWVkVG9EZXRl
cm1pbmVDb250ZW50ZnVsbmVzc1N0YXRlKCkgJiYgY2hpbGQuc3R5bGUoKS52aXNpYmlsaXR5KCkg
PT0gVmlzaWJpbGl0eTo6VmlzaWJsZTsKKwogICAgICAgICBpZiAoaXM8UmVuZGVyVGV4dD4oY2hp
bGQpKSB7CiAgICAgICAgICAgICBjb25zdCBhdXRvJiByZW5kZXJUZXh0ID0gZG93bmNhc3Q8UmVu
ZGVyVGV4dD4oY2hpbGQpOwogICAgICAgICAgICAgaWYgKCFyZW5kZXJUZXh0Lmhhc1JlbmRlcmVk
VGV4dCgpKQpAQCAtNjU2NSw2ICs2NTY4LDggQEAgc3RhdGljIHZvaWQgZGV0ZXJtaW5lTm9uTGF5
ZXJEZXNjZW5kYW50cwogCiAgICAgICAgICAgICBpZiAoIXJlbmRlclRleHQudGV4dCgpLmlzQWxs
U3BlY2lhbENoYXJhY3RlcnM8aXNIVE1MU3BhY2U+KCkpIHsKICAgICAgICAgICAgICAgICByZXF1
ZXN0LnNldEhhc1BhaW50ZWRDb250ZW50KCk7CisgICAgICAgICAgICAgICAgaWYgKG1heVJlcG9y
dENvbnRlbnRmdWxuZXNzKQorICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LnNldFF1YWxpZmll
c0FzQ29udGVudGZ1bCgpOwogCiAgICAgICAgICAgICAgICAgaWYgKHJlcXVlc3QubmVlZFRvRGV0
ZXJtaW5lU3VicGl4ZWxBbnRpYWxpYXNlZFRleHRTdGF0ZSgpICYmIHN0eWxlSGFzU21vb3RoaW5n
VGV4dE1vZGUoY2hpbGQuc3R5bGUoKSkpCiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3Quc2V0
SGFzU3VicGl4ZWxBbnRpYWxpYXNlZFRleHQoKTsKQEAgLTY1ODQsMTIgKzY1ODksMTYgQEAgc3Rh
dGljIHZvaWQgZGV0ZXJtaW5lTm9uTGF5ZXJEZXNjZW5kYW50cwogCiAgICAgICAgIGlmIChoYXNW
aXNpYmxlQm94RGVjb3JhdGlvbnNPckJhY2tncm91bmQocmVuZGVyRWxlbWVudENoaWxkKSkgewog
ICAgICAgICAgICAgcmVxdWVzdC5zZXRIYXNQYWludGVkQ29udGVudCgpOworICAgICAgICAgICAg
aWYgKG1heVJlcG9ydENvbnRlbnRmdWxuZXNzICYmIHJlbmRlckVsZW1lbnRDaGlsZC5zdHlsZSgp
Lmhhc1BhaW50YWJsZUNhY2hlZEJhY2tncm91bmRJbWFnZSgpKQorICAgICAgICAgICAgICAgIHJl
cXVlc3Quc2V0UXVhbGlmaWVzQXNDb250ZW50ZnVsKCk7CiAgICAgICAgICAgICBpZiAocmVxdWVz
dC5pc1NhdGlzZmllZCgpKQogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAg
ICAgICAKICAgICAgICAgaWYgKGlzPFJlbmRlclJlcGxhY2VkPihyZW5kZXJFbGVtZW50Q2hpbGQp
KSB7CiAgICAgICAgICAgICByZXF1ZXN0LnNldEhhc1BhaW50ZWRDb250ZW50KCk7CisgICAgICAg
ICAgICBpZiAobWF5UmVwb3J0Q29udGVudGZ1bG5lc3MgJiYgQ29udGVudGZ1bFBhaW50Q2hlY2tl
cjo6cmVwbGFjZWRSZW5kZXJlclF1YWxpZmllc0FzQ29udGVudGZ1bChkb3duY2FzdDxSZW5kZXJS
ZXBsYWNlZD4ocmVuZGVyRWxlbWVudENoaWxkKSkpCisgICAgICAgICAgICAgICAgcmVxdWVzdC5z
ZXRRdWFsaWZpZXNBc0NvbnRlbnRmdWwoKTsgICAgICAgICAgICAgICAgCiAKICAgICAgICAgICAg
IGlmIChpczxSZW5kZXJJbWFnZT4ocmVuZGVyRWxlbWVudENoaWxkKSAmJiByZXF1ZXN0Lm5lZWRU
b0RldGVybWluZVN1YnBpeGVsQW50aWFsaWFzZWRUZXh0U3RhdGUoKSkgewogICAgICAgICAgICAg
ICAgIGF1dG8mIGltYWdlUmVuZGVyZXIgPSBkb3duY2FzdDxSZW5kZXJJbWFnZT4ocmVuZGVyRWxl
bWVudENoaWxkKTsKQEAgLTY2NDAsNiArNjY0OSwxMiBAQCBib29sIFJlbmRlckxheWVyOjppc1Zp
c3VhbGx5Tm9uRW1wdHkoUGFpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgICAgICBy
ZXF1ZXN0LT5zZXRIYXNQYWludGVkQ29udGVudCgpOworCisgICAgICAgIGlmIChyZXF1ZXN0LT5u
ZWVkVG9EZXRlcm1pbmVDb250ZW50ZnVsbmVzc1N0YXRlKCkgCisgICAgICAgICAgICAmJiByZW5k
ZXJlcigpLmlzUmVuZGVyUmVwbGFjZWQoKSAKKyAgICAgICAgICAgICYmIENvbnRlbnRmdWxQYWlu
dENoZWNrZXI6OnJlcGxhY2VkUmVuZGVyZXJRdWFsaWZpZXNBc0NvbnRlbnRmdWwoZG93bmNhc3Q8
Y29uc3QgUmVuZGVyUmVwbGFjZWQ+KHJlbmRlcmVyKCkpKSkKKyAgICAgICAgICAgIHJlcXVlc3Qt
PnNldFF1YWxpZmllc0FzQ29udGVudGZ1bCgpOworCiAgICAgICAgIGlmIChyZXF1ZXN0LT5pc1Nh
dGlzZmllZCgpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpAQCAtNjY0OSw2ICs2
NjY0LDEwIEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmlzVmlzdWFsbHlOb25FbXB0eShQYWkKICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgICAgIHJlcXVlc3QtPnNldEhhc1BhaW50ZWRDb250
ZW50KCk7CisKKyAgICAgICAgaWYgKHJlcXVlc3QtPm5lZWRUb0RldGVybWluZUNvbnRlbnRmdWxu
ZXNzU3RhdGUoKSAmJiByZW5kZXJlcigpLnN0eWxlKCkuaGFzUGFpbnRhYmxlQ2FjaGVkQmFja2dy
b3VuZEltYWdlKCkpCisgICAgICAgICAgICByZXF1ZXN0LT5zZXRRdWFsaWZpZXNBc0NvbnRlbnRm
dWwoKTsKKwogICAgICAgICBpZiAocmVxdWVzdC0+aXNTYXRpc2ZpZWQoKSkKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNjAzLDIwICs2MDMsMjcgQEAgcHVibGljOgog
CiAgICAgICAgICAgICBpZiAoaGFzU3VicGl4ZWxBbnRpYWxpYXNlZFRleHQgPT0gUmVxdWVzdFN0
YXRlOjpVbmtub3duKQogICAgICAgICAgICAgICAgIGhhc1N1YnBpeGVsQW50aWFsaWFzZWRUZXh0
ID0gUmVxdWVzdFN0YXRlOjpVbmRldGVybWluZWQ7CisKKyAgICAgICAgICAgIGlmIChxdWFsaWZp
ZXNBc0NvbnRlbnRmdWwgPT0gUmVxdWVzdFN0YXRlOjpVbmtub3duKQorICAgICAgICAgICAgICAg
IHF1YWxpZmllc0FzQ29udGVudGZ1bCA9IFJlcXVlc3RTdGF0ZTo6VW5kZXRlcm1pbmVkOwogICAg
ICAgICB9CiAKICAgICAgICAgdm9pZCBzZXRIYXNQYWludGVkQ29udGVudCgpIHsgaGFzUGFpbnRl
ZENvbnRlbnQgPSBSZXF1ZXN0U3RhdGU6OlRydWU7IH0KICAgICAgICAgdm9pZCBzZXRIYXNTdWJw
aXhlbEFudGlhbGlhc2VkVGV4dCgpIHsgaGFzU3VicGl4ZWxBbnRpYWxpYXNlZFRleHQgPSBSZXF1
ZXN0U3RhdGU6OlRydWU7IH0KKyAgICAgICAgdm9pZCBzZXRRdWFsaWZpZXNBc0NvbnRlbnRmdWwo
KSB7IHF1YWxpZmllc0FzQ29udGVudGZ1bCA9IFJlcXVlc3RTdGF0ZTo6VHJ1ZTsgfQogCiAgICAg
ICAgIGJvb2wgbmVlZFRvRGV0ZXJtaW5lUGFpbnRlZENvbnRlbnRTdGF0ZSgpIGNvbnN0IHsgcmV0
dXJuIGhhc1BhaW50ZWRDb250ZW50ID09IFJlcXVlc3RTdGF0ZTo6VW5rbm93bjsgfQogICAgICAg
ICBib29sIG5lZWRUb0RldGVybWluZVN1YnBpeGVsQW50aWFsaWFzZWRUZXh0U3RhdGUoKSBjb25z
dCB7IHJldHVybiBoYXNTdWJwaXhlbEFudGlhbGlhc2VkVGV4dCA9PSBSZXF1ZXN0U3RhdGU6OlVu
a25vd247IH0KKyAgICAgICAgYm9vbCBuZWVkVG9EZXRlcm1pbmVDb250ZW50ZnVsbmVzc1N0YXRl
KCkgY29uc3QgeyByZXR1cm4gcXVhbGlmaWVzQXNDb250ZW50ZnVsID09IFJlcXVlc3RTdGF0ZTo6
VW5rbm93bjsgfQogCiAgICAgICAgIGJvb2wgcHJvYmFibHlIYXNQYWludGVkQ29udGVudCgpIGNv
bnN0IHsgcmV0dXJuIGhhc1BhaW50ZWRDb250ZW50ID09IFJlcXVlc3RTdGF0ZTo6VHJ1ZSB8fCBo
YXNQYWludGVkQ29udGVudCA9PSBSZXF1ZXN0U3RhdGU6OlVuZGV0ZXJtaW5lZDsgfQogICAgICAg
ICBib29sIHByb2JhYmx5SGFzU3VicGl4ZWxBbnRpYWxpYXNlZFRleHQoKSBjb25zdCB7IHJldHVy
biBoYXNTdWJwaXhlbEFudGlhbGlhc2VkVGV4dCA9PSBSZXF1ZXN0U3RhdGU6OlRydWUgfHwgaGFz
U3VicGl4ZWxBbnRpYWxpYXNlZFRleHQgPT0gUmVxdWVzdFN0YXRlOjpVbmRldGVybWluZWQ7IH0K
KyAgICAgICAgYm9vbCBwcm9iYWJseVF1YWxpZmllc0FzQ29udGVudGZ1bCgpIGNvbnN0IHsgcmV0
dXJuIHF1YWxpZmllc0FzQ29udGVudGZ1bCA9PSBSZXF1ZXN0U3RhdGU6OlRydWUgfHwgcXVhbGlm
aWVzQXNDb250ZW50ZnVsID09IFJlcXVlc3RTdGF0ZTo6VW5kZXRlcm1pbmVkOyB9CiAgICAgICAg
IAotICAgICAgICBib29sIGlzU2F0aXNmaWVkKCkgY29uc3QgeyByZXR1cm4gaGFzUGFpbnRlZENv
bnRlbnQgIT0gUmVxdWVzdFN0YXRlOjpVbmtub3duICYmIGhhc1N1YnBpeGVsQW50aWFsaWFzZWRU
ZXh0ICE9IFJlcXVlc3RTdGF0ZTo6VW5rbm93bjsgfQorICAgICAgICBib29sIGlzU2F0aXNmaWVk
KCkgY29uc3QgeyByZXR1cm4gaGFzUGFpbnRlZENvbnRlbnQgIT0gUmVxdWVzdFN0YXRlOjpVbmtu
b3duICYmIGhhc1N1YnBpeGVsQW50aWFsaWFzZWRUZXh0ICE9IFJlcXVlc3RTdGF0ZTo6VW5rbm93
biAmJiBxdWFsaWZpZXNBc0NvbnRlbnRmdWwgIT0gUmVxdWVzdFN0YXRlOjpVbmtub3duOyB9CiAK
ICAgICAgICAgUmVxdWVzdFN0YXRlIGhhc1BhaW50ZWRDb250ZW50IHsgUmVxdWVzdFN0YXRlOjpV
bmtub3duIH07CisgICAgICAgIFJlcXVlc3RTdGF0ZSBxdWFsaWZpZXNBc0NvbnRlbnRmdWwgeyBS
ZXF1ZXN0U3RhdGU6OkRvbnRDYXJlIH07CiAgICAgICAgIFJlcXVlc3RTdGF0ZSBoYXNTdWJwaXhl
bEFudGlhbGlhc2VkVGV4dCB7IFJlcXVlc3RTdGF0ZTo6RG9udENhcmUgfTsKICAgICB9OwogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJKHJldmlzaW9uIDI2MDA0NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTE4MCw3ICsxODAsNyBAQCBwdWJsaWM6CiAgICAgTGF5b3V0VW5pdCB0b3BPZkZpcnN0VGV4
dCgpIGNvbnN0OwogICAgIAogICAgIGJvb2wgY29udGFpbnNPbmx5SFRNTFdoaXRlc3BhY2UodW5z
aWduZWQgZnJvbSwgdW5zaWduZWQgbGVuZ3RoKSBjb25zdDsKLSAgICAKKwogICAgIGJvb2wgY2Fu
VXNlU2ltcGxpZmllZFRleHRNZWFzdXJpbmcoKSBjb25zdCB7IHJldHVybiBtX2NhblVzZVNpbXBs
aWZpZWRUZXh0TWVhc3VyaW5nOyB9CiAKICAgICBWZWN0b3I8c3RkOjpwYWlyPHVuc2lnbmVkLCB1
bnNpZ25lZD4+IGRyYWdnZWRDb250ZW50UmFuZ2VzQmV0d2Vlbk9mZnNldHModW5zaWduZWQgc3Rh
cnRPZmZzZXQsIHVuc2lnbmVkIGVuZE9mZnNldCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM0MCw2ICszNDAsMTUgQEAgYm9vbCBGaWxsTGF5ZXI6OmNvbnRhaW5zSW1hZ2UoU3R5
bGVJbWFnZQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBGaWxsTGF5ZXI6Omhhc0xvYWRl
ZENhY2hlZEltYWdlKCkgY29uc3QKK3sKKyAgICBmb3IgKGF1dG8qIGxheWVyID0gdGhpczsgbGF5
ZXI7IGxheWVyID0gbGF5ZXItPm1fbmV4dC5nZXQoKSkgeworICAgICAgICBpZiAobGF5ZXItPm1f
aW1hZ2UgJiYgbGF5ZXItPm1faW1hZ2UtPmlzTG9hZGVkKCkgJiYgbGF5ZXItPm1faW1hZ2UtPmhh
c0NhY2hlZEltYWdlKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0
dXJuIGZhbHNlOworfQorCiBib29sIEZpbGxMYXllcjo6aW1hZ2VzQXJlTG9hZGVkKCkgY29uc3QK
IHsKICAgICBmb3IgKGF1dG8qIGxheWVyID0gdGhpczsgbGF5ZXI7IGxheWVyID0gbGF5ZXItPm1f
bmV4dC5nZXQoKSkgewpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxM
YXllci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxs
TGF5ZXIuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0ZpbGxMYXllci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDUsNiArMTQ1LDcgQEAgcHVibGlj
OgogCiAgICAgYm9vbCBjb250YWluc0ltYWdlKFN0eWxlSW1hZ2UmKSBjb25zdDsKICAgICBib29s
IGltYWdlc0FyZUxvYWRlZCgpIGNvbnN0OworICAgIGJvb2wgaGFzTG9hZGVkQ2FjaGVkSW1hZ2Uo
KSBjb25zdDsKICAgICBib29sIGhhc0ltYWdlKCkgY29uc3QgeyByZXR1cm4gbV9uZXh0ID8gaGFz
SW1hZ2VJbkFueUxheWVyKCkgOiBtX2ltYWdlOyB9CiAgICAgYm9vbCBoYXNGaXhlZEltYWdlKCkg
Y29uc3Q7CiAgICAgYm9vbCBoYXNPcGFxdWVJbWFnZShjb25zdCBSZW5kZXJFbGVtZW50JikgY29u
c3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5jcHAJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0NCw2ICs0NDQsMjEgQEAgYm9v
bCBSZW5kZXJTdHlsZTo6ZGVzY2VuZGFudEFmZmVjdGluZ05vbgogICAgICAgICAmJiBtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLT5qdXN0aWZ5SXRlbXMgPT0gb3RoZXIubV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+anVzdGlmeUl0ZW1zOwogfQogCitib29sIFJlbmRlclN0eWxlOjpoYXNQYWludGFibGVD
YWNoZWRCYWNrZ3JvdW5kSW1hZ2UoKSBjb25zdAoreworICAgIGlmICghaGFzQmFja2dyb3VuZElt
YWdlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNvbnN0IEZpbGxMYXllciYgYmFj
a2dyb3VuZCA9IGJhY2tncm91bmRMYXllcnMoKTsKKyAgICBpZiAoIWJhY2tncm91bmQuaGFzTG9h
ZGVkQ2FjaGVkSW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGJhY2tn
cm91bmRTaXplTGVuZ3RoKCkuaXNFbXB0eSgpICYmIGJhY2tncm91bmRTaXplVHlwZSgpID09IEZp
bGxTaXplVHlwZTo6U2l6ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRy
dWU7Cit9CisKICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogCiBzdGF0aWMgaW5saW5lIHVu
c2lnbmVkIGNvbXB1dGVGb250SGFzaChjb25zdCBGb250Q2FzY2FkZSYgZm9udCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCShyZXZpc2lvbiAy
NjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAko
d29ya2luZyBjb3B5KQpAQCAtNDE2LDYgKzQxNiw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBMZW5n
dGhTaXplJiBiYWNrZ3JvdW5kU2l6ZUxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2dyb3Vu
ZERhdGEtPmJhY2tncm91bmQuc2l6ZUxlbmd0aCgpOyB9CiAgICAgRmlsbExheWVyJiBlbnN1cmVC
YWNrZ3JvdW5kTGF5ZXJzKCkgeyByZXR1cm4gbV9iYWNrZ3JvdW5kRGF0YS5hY2Nlc3MoKS5iYWNr
Z3JvdW5kOyB9CiAgICAgY29uc3QgRmlsbExheWVyJiBiYWNrZ3JvdW5kTGF5ZXJzKCkgY29uc3Qg
eyByZXR1cm4gbV9iYWNrZ3JvdW5kRGF0YS0+YmFja2dyb3VuZDsgfQorICAgIGJvb2wgaGFzUGFp
bnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdlKCkgY29uc3Q7CiAKICAgICBTdHlsZUltYWdlKiBt
YXNrSW1hZ2UoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5tYXNrLmlt
YWdlKCk7IH0KICAgICBGaWxsUmVwZWF0IG1hc2tSZXBlYXRYKCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8RmlsbFJlcGVhdD4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bWFzay5yZXBlYXRY
KCkpOyB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wNC0xMyAgTm9h
bSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAo
Zmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBhIHJ1bnRpbWUgZmxhZyBmb3IgcGFpbnQtdGltaW5nIChwYWlu
dFRpbWluZ0VuYWJsZWQpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAo
V0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVu
Y2VzR2V0UGFpbnRUaW1pbmdFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlc1JlZlByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0Nv
bnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6dXBkYXRlUHJlZmVyZW5jZXNTdG9yZSk6CisKIDIwMjAt
MDQtMTMgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtp
T1NdIFVwZGF0ZSBtZXNzYWdlIGZpbHRlcnMgaW4gdGhlIFdlYkNvbnRlbnQgc2FuZGJveApJbmRl
eDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCShyZXZpc2lvbiAyNjAw
NDUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCSh3b3JraW5n
IGNvcHkpCkBAIC04MzksNiArODM5LDEzIEBAIFVzZXJUaW1pbmdFbmFibGVkOgogICBodW1hblJl
YWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgVXNlclRpbWluZyBBUEkiCiAgIHdlYmNvcmVCaW5k
aW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKK1BhaW50VGltaW5nRW5hYmxlZDoKKyAgdHlw
ZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IHRydWUKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJQYWlu
dCBUaW1pbmciCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQYWludCBUaW1p
bmcgQVBJIgorICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcworCiBCZWFj
b25BUElFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQpJbmRleDog
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAJKHJl
dmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODIwLDYgKzE4MjAsMTYgQEAgYm9vbCBXS1By
ZWZlcmVuY2VzR2V0VXNlclRpbWluZ0VuYWJsZWQoVwogICAgIHJldHVybiB0b0ltcGwocHJlZmVy
ZW5jZXNSZWYpLT51c2VyVGltaW5nRW5hYmxlZCgpOwogfQogCit2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9v
bCBmbGFnKQoreworICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFBhaW50VGltaW5nRW5h
YmxlZChmbGFnKTsKK30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0UGFpbnRUaW1pbmdFbmFibGVk
KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChw
cmVmZXJlbmNlc1JlZiktPnBhaW50VGltaW5nRW5hYmxlZCgpOworfQorCiB2b2lkIFdLUHJlZmVy
ZW5jZXNTZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZiwgYm9vbCBmbGFnKQogewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFJlc291
cmNlVGltaW5nRW5hYmxlZChmbGFnKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAkocmV2aXNpb24gMjYw
MDQ1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlBy
aXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNTAwLDYgKzUwMCwxMCBAQCBXS19FWFBPUlQgdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWluCiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2Vz
R2V0VXNlclRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CiAKIC8vIERlZmF1bHRzIHRv
IGZhbHNlCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVk
KFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVu
Y2VzR2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOworCisvLyBEZWZhdWx0
cyB0byBmYWxzZQogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5n
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQ
cmVmZXJlbmNlc0dldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIApJ
bmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAkocmV2aXNpb24gMjYwMDQ1
KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjIsNiArMTIyLDcgQEAgdm9pZCBX
ZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6dXBkYQogICAgIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q2FjaGVBUElFbmFibGVkKHN0b3JlLmdldEJvb2xW
YWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Y2FjaGVBUElFbmFibGVkS2V5KCkpKTsKICAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJRW5h
YmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZldGNoQVBJ
RW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OnVzZXJUaW1pbmdFbmFibGVkS2V5KCkpKTsKKyAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFBhaW50VGltaW5nRW5hYmxlZChzdG9yZS5n
ZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnBhaW50VGltaW5nRW5hYmxlZEtl
eSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRS
ZXNvdXJjZVRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5OjpyZXNvdXJjZVRpbWluZ0VuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6ZmV0Y2hBUElLZWVwQWxp
dmVFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldFJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3Moc3RvcmUuZ2V0Qm9vbFZhbHVl
Rm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzS2V5
KCkpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDA0NSkK
KysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDIwIEBACisyMDIwLTA0LTEzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9y
Zz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgcHJlZmVy
ZW5jZSBrZXkgZm9yIHBhaW50IHRpbWluZy4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToK
KyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAoLVtXZWJQ
cmVmZXJlbmNlcyBwYWludFRpbWluZ0VuYWJsZWRdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5j
ZXMgc2V0UGFpbnRUaW1pbmdFbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorCiAyMDIwLTA0
LTEzICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFJF
R1JFU1NJT04gKHIyNTk4NDMpOiAiTWlzc2luZyBQbHVnLUluIiB3aGVuIGRyYWdnaW5nIGFuIGlt
YWdlIGludG8gTWFpbCBDb21wb3NlCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9u
IDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2MCw2ICsyNjAsNyBAQAogI2RlZmlu
ZSBXZWJLaXRBdHRhY2htZW50RWxlbWVudEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QXR0
YWNobWVudEVsZW1lbnRFbmFibGVkIgogI2RlZmluZSBXZWJLaXRJbnRlcnNlY3Rpb25PYnNlcnZl
ckVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVk
IgogI2RlZmluZSBXZWJLaXRNZW51SXRlbUVsZW1lbnRFbmFibGVkUHJlZmVyZW5jZUtleSBAIldl
YktpdE1lbnVJdGVtRWxlbWVudEVuYWJsZWQiCisjZGVmaW5lIFdlYktpdFBhaW50VGltaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRQYWludFRpbWluZ0VuYWJsZWQiCiAjZGVmaW5lIFdl
YktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFVzZXJUaW1pbmdFbmFi
bGVkIgogI2RlZmluZSBXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkIgogI2RlZmluZSBXZWJLaXRNZWRpYUNvbnRlbnRU
eXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydFByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZWRpYUNv
bnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydCIKSW5kZXg6IFNvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkocmV2aXNpb24gMjYw
MDQ1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5t
bQkod29ya2luZyBjb3B5KQpAQCAtNjgyLDYgKzY4Miw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQog
I2lmIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCiAgICAgICAgIEBOTywgV2ViS2l0SW50
ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleSwKICNlbmRpZgorICAgICAgICBA
Tk8sIFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywg
V2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktp
dFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0
TWVkaWFVc2VyR2VzdHVyZUluaGVyaXRzRnJvbURvY3VtZW50LApAQCAtMzMwNiw2ICszMzA3LDE2
IEBAIC0gKHZvaWQpc2V0VXNlclRpbWluZ0VuYWJsZWQ6KEJPT0wpZmxhZwogICAgIFtzZWxmIF9z
ZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNl
S2V5XTsKIH0KIAorLSAoQk9PTClwYWludFRpbWluZ0VuYWJsZWQKK3sKKyAgICByZXR1cm4gW3Nl
bGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5
XTsKK30KKworLSAodm9pZClzZXRQYWludFRpbWluZ0VuYWJsZWQ6KEJPT0wpZmxhZworeworICAg
IFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVk
UHJlZmVyZW5jZUtleV07Cit9CisKIC0gKEJPT0wpcmVzb3VyY2VUaW1pbmdFbmFibGVkCiB7CiAg
ICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFi
bGVkUHJlZmVyZW5jZUtleV07CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHJldmlzaW9uIDI2MDA0NSkK
KysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTY2MSw2ICs2NjEsNyBAQCBAaW50ZXJmYWNlIFdlYlByZWZl
cmVuY2VzIChXZWJQcml2YXRlKQogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wga2V5Z2VuRWxl
bWVudEVuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCB1c2VyVGltaW5nRW5hYmxl
ZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHJlc291cmNlVGltaW5nRW5hYmxlZDsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHBhaW50VGltaW5nRW5hYmxlZDsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljKSBCT09MIGxpbmtQcmVsb2FkRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
KSBCT09MIG1lZGlhVXNlckdlc3R1cmVJbmhlcml0c0Zyb21Eb2N1bWVudDsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljKSBCT09MIGlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQ7CkluZGV4OiBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAyNjAw
NDUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtp
bmcgY29weSkKQEAgLTMyMDEsNiArMzIwMSw3IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdl
ZDooV2ViUHJlZmVyZW4KIAogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMudXNlclRpbWluZ0VuYWJsZWQp
OwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVzb3Vy
Y2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnJlc291cmNlVGltaW5nRW5hYmxlZCk7CisgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0Vu
YWJsZWQocHJlZmVyZW5jZXMucGFpbnRUaW1pbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChwcmVmZXJl
bmNlcy5saW5rUHJlbG9hZEVuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5tZWRp
YVByZWxvYWRpbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnNldElzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQocHJlZmVyZW5jZXMu
aXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4v
Q2hhbmdlTG9nCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0wNC0xMyAgTm9h
bSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAo
Zmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBwcmVmZXJlbmNlIGtleSBmb3IgcGFpbnQtdGltaW5nLgorCisg
ICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAg
KiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5o
OgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoK
KyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisKKyAgICAgICAg
KiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGw6CisgICAgICAgICogSW50ZXJmYWNlcy9X
ZWJLaXQuaWRsOgorICAgICAgICAgICAgICAgIFRvdWNoZWQgdG8gdHJpZ2dlciBidWlsZC4KKwog
MjAyMC0wNC0wOCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAg
U2hvdWxkIGZpbmQgdG91Y2gtYWN0aW9uIGVsZW1lbnRzIGluc2lkZSBub24tY29tcG9zaXRlZCBp
ZnJhbWVzCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE5Nyw2
ICsxOTcsOCBAQAogCiAjZGVmaW5lIFdlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtl
eSAiV2ViS2l0VXNlclRpbWluZ0VuYWJsZWQiCiAKKyNkZWZpbmUgV2ViS2l0UGFpbnRUaW1pbmdF
bmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkIgorCiAjZGVmaW5l
IFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFJlc291cmNl
VGltaW5nRW5hYmxlZCIKIAogI2RlZmluZSBXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJl
bmNlS2V5ICJXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWQiCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMy
Niw2ICszMjYsOCBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNlCiAK
ICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0UmVzb3VyY2VU
aW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKKyAgICBDRkRp
Y3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVk
UHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CisKICAgICBDRkRpY3Rpb25hcnlBZGRW
YWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtl
eSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0
cywgQ0ZTVFIoV2ViS2l0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZC
b29sZWFuRmFsc2UpOwpAQCAtMjQxNCw2ICsyNDE2LDIwIEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5j
ZXM6OnJlc291cmNlVGltaW5nRW4KICAgICByZXR1cm4gU19PSzsKIH0KIAorSFJFU1VMVCBXZWJQ
cmVmZXJlbmNlczo6c2V0UGFpbnRUaW1pbmdFbmFibGVkKEJPT0wgZW5hYmxlZCkKK3sKKyAgICBz
ZXRCb29sVmFsdWUoV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwgZW5hYmxl
ZCk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnBhaW50
VGltaW5nRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQoreworICAgIGlmICghZW5hYmxlZCkK
KyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKyAgICAqZW5hYmxlZCA9IGJvb2xWYWx1ZUZvcktl
eShXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KTsKKyAgICByZXR1cm4gU19P
SzsKK30KKwogSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2VydmVyVGltaW5nRW5hYmxlZChfT3V0
XyBCT09MKiBlbmFibGVkKQogewogICAgIGlmICghZW5hYmxlZCkKSW5kZXg6IFNvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzA3
LDYgKzMwNyw4IEBAIHB1YmxpYzoKICAgICAvLyBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOAogICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBhbGxvd1RvcE5hdmlnYXRpb25Ub0Rh
dGFVUkxzKF9PdXRfIEJPT0wqKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgc2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhCT09MKTsKKyAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcGFpbnRUaW1pbmdFbmFibGVkKF9PdXRfIEJPT0wqKTsK
KyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0UGFpbnRUaW1pbmdFbmFi
bGVkKEJPT0wpOwogCiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIApJbmRleDogU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViVmlldy5jcHAJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Mjg1LDYgKzUyODUsMTEgQEAg
SFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQogICAgICAgICByZXR1cm4g
aHI7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2Vy
VGltaW5nRW5hYmxlZCghIWVuYWJsZWQpOwogCisgICAgaHIgPSBwcmVmc1ByaXZhdGUtPnBhaW50
VGltaW5nRW5hYmxlZCgmZW5hYmxlZCk7CisgICAgaWYgKEZBSUxFRChocikpCisgICAgICAgIHJl
dHVybiBocjsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dFBhaW50VGltaW5nRW5hYmxlZCghIWVuYWJsZWQpOworCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUt
PnJlc291cmNlVGltaW5nRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAg
ICAgICAgIHJldHVybiBocjsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFj
ZXMvSVdlYlByZWZlcmVuY2VzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGwJKHJldmlzaW9uIDI2MDA0NSkKKysr
IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYt
MjAyMCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFj
ZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAkocmV2aXNp
b24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjY1LDQgKzI2NSw2IEBAIGlu
dGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOCA6IElXZWIKIHsKICAgICBIUkVTVUxUIGFs
bG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoW291dCwgcmV0dmFsXSBCT09MKiBlbmFibGVkKTsK
ICAgICBIUkVTVUxUIHNldEFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoW2luXSBCT09MIGVu
YWJsZWQpOworICAgIEhSRVNVTFQgcGFpbnRUaW1pbmdFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9P
TCopOworICAgIEhSRVNVTFQgc2V0UGFpbnRUaW1pbmdFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVk
KTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvV2ViS2l0Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL1dlYktp
dC5pZGwJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVy
ZmFjZXMvV2ViS2l0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogICovCiAK
IGNwcF9xdW90ZSgiLyoiKQotY3BwX3F1b3RlKCIgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcs
IDIwMDgsIDIwMDksIDIwMTAsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiIp
CitjcHBfcXVvdGUoIiAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAx
MCwgMjAxNSwgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIikKIGNwcF9xdW90
ZSgiICoiKQogY3BwX3F1b3RlKCIgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQiKQogY3BwX3F1b3RlKCIgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMiKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMjYwMDQ1KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMjAtMDQtMTMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQu
b3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgcHJlZmVy
ZW5jZSBrZXkgZm9yIHBhaW50LXRpbWluZy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21h
Yy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNp
c3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJl
ZS5jcHA6CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdUUjo6VGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMp
OgorCiAyMDIwLTA0LTEzICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29t
PgogCiAgICAgICAgIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQt
ZG9tYWluLmh0bWwgaXMgYSBjb25zdGFudCBmYWlsdXJlIG9uIGlPUwpJbmRleDogVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMjYwMDQ1KQorKysg
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDA0LDYgKzEwMDQsNyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVuY2VzVG9D
b25zaXN0CiAgICAgW3ByZWZlcmVuY2VzIHNldE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkOllF
U107CiAgICAgW3ByZWZlcmVuY2VzIHNldFJlc291cmNlVGltaW5nRW5hYmxlZDpZRVNdOwogICAg
IFtwcmVmZXJlbmNlcyBzZXRVc2VyVGltaW5nRW5hYmxlZDpZRVNdOworICAgIFtwcmVmZXJlbmNl
cyBzZXRQYWludFRpbWluZ0VuYWJsZWQ6WUVTXTsKIAogICAgIFtwcmVmZXJlbmNlcyBzZXRDYWNo
ZUFQSUVuYWJsZWQ6Tk9dOwogICAgIHByZWZlcmVuY2VzLm1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxl
ZCA9IFlFUzsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVl
LmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBS
ZW5kZXJUcmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTIxLDYgKzkyMSw3IEBAIHN0YXRpYyB2
b2lkIHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGkKICAgICBwcmVmc1ByaXZhdGUtPnNldEFs
bG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMob3B0aW9ucy5hbGxvd1RvcE5hdmlnYXRpb25Ub0Rh
dGFVUkxzKTsKICAgICBwcmVmZXJlbmNlcy0+c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChvcHRp
b25zLnVzZUVwaGVtZXJhbFNlc3Npb24pOwogICAgIHByZWZlcmVuY2VzLT5zZXRVc2VzUGFnZUNh
Y2hlKG9wdGlvbnMuZW5hYmxlQmFja0ZvcndhcmRDYWNoZSk7CisgICAgcHJlZnNQcml2YXRlLT5z
ZXRQYWludFRpbWluZ0VuYWJsZWQoVFJVRSk7CiB9CiAKIHN0YXRpYyBTdHJpbmcgYXBwbGljYXRp
b25JZCgpCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAko
cmV2aXNpb24gMjYwMDQ1KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzMSw2ICs5MzEsNyBAQCB2b2lkIFRlc3RDb250cm9s
bGVyOjpyZXNldFByZWZlcmVuY2VzVG9DCiAgICAgV0tQcmVmZXJlbmNlc1NldEZldGNoQVBJS2Vl
cEFsaXZlRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFJl
c291cmNlVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNl
c1NldFVzZXJUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKKyAgICBXS1ByZWZlcmVu
Y2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZl
cmVuY2VzU2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAg
V0tQcmVmZXJlbmNlc1NldE1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmUocHJlZmVyZW5jZXMsIHRy
dWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5
c0lubGluZUF0dHJpYnV0ZShwcmVmZXJlbmNlcywgZmFsc2UpOwpJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
MjYwMDQ1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsNDMgQEAKKzIwMjAtMDQtMTMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgor
CisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0cyBmb3Ig
c29tZSBmaXJzdC1jb250ZW50ZnVsLXBhaW50IChGQ1ApIHVzZS1jYXNlcy4KKyAgICAgICAgRW5z
dXJlIHRoYXQgRkNQIHdvcmtzIHdlbGwgd2l0aCBWTkUgKGZpcnN0IHBhaW50IGRlbGF5IHVudGls
IGNvbnRlbnRzIGFyZSB2aXN1YWxseSBub24tZW1wdHkpLgorCisgICAgICAgICogcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qczogQWRkZWQuCisg
ICAgICAgICAgICAgICAgVGVzdCBleGlzdGVuY2Ugb2YgcGFpbnQgdGltaW5nIEFQSSBvbiB0aGUg
d2luZG93IG9iamVjdC4KKworICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50
ZnVsLXBhaW50LWZyYW1lcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1h
bmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250
ZW50ZnVsLXBhaW50LXdpdGgtd29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1h
bmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBl
cmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAgICAg
ICAgIFRlc3QgdGhhdCBGQ1AgaXMgbm90IGF2YWlsYWJsZSBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1l
cyBhbmQgd29ya2Vycy4KKworICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1v
YnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNl
cy9wYWludC1hcGktdXRpbHMuanM6IEFkZGVkLgorICAgICAgICAoYXN5bmMgd2FpdEZvckZDUCk6
CisgICAgICAgICAgICAgICAgVGVzdCB0aGF0IHBlcmZvcm1hbmNlIG9ic2VydmVycyBhcmUgY2Fs
bGVkIGZvciBGQ1AuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1h
bmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNl
LXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS1leHBl
Y3RlZC50eHQ6IEFkZGVkCisgICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJj
ZXMvc2xvd3N0eWxlLnBocDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5j
ZS9yZXNvdXJjZXMvc3R5bGUuY3NzOiAgQWRkZWQuCisgICAgICAgICAgICAgICAgSWYgYSBwZW5k
aW5nIHN0eWxlc2hlZXQgYmxvY2tzIHBhaW50aW5nLCBtYWtlIHN1cmUgRkNQIGlzIHJlcG9ydGVk
IG9ubHkgYWZ0ZXIgc3R5bGVzaGVldCBoYXMgbG9hZGVkLgorCisgICAgICAgICogaHR0cC90ZXN0
cy9wZXJmb3JtYW5jZS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1h
bmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hh
cnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNl
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGlt
aW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c2NyaXB0
LnBocDogQWRkZWQuCisgICAgICAgICAgICAgICAgSWYgVk5FIGR1ZSB0byBudW1iZXIgb2YgY2hh
cmFjdGVycyBibG9ja3MgcGFpbnRpbmcsIG1ha2Ugc3VyZSBGQ1AgaXMgcmVwb3J0ZWQgb25seSBh
ZnRlciBwYWludGluZyBpcyB1bmJsb2NrZWQuCisKIDIwMjAtMDQtMTMgIEthdGUgQ2hlbmV5ICA8
a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cC90ZXN0cy9pbi1hcHAt
YnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1kb21haW4uaHRtbCBpcyBhIGNvbnN0YW50IGZhaWx1
cmUgb24gaU9TCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZv
cm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0t
Y2hhcnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
cGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1u
b24tZW1wdHktZm9yLW51bS1jaGFycy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmct
ZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKK1BBU1MgcGFpbnRFbnRyeS5zdGFydFRpbWUg
PiB0aW1lc3RhbXBzW2V4cGVjdGVkSXRlcmF0aW9uc10gaXMgdHJ1ZQorUEFTUyBwYWludEVudHJ5
LnN0YXJ0VGltZSA8IHRpbWVzdGFtcHNbZXhwZWN0ZWRJdGVyYXRpb25zICsgMl0gaXMgdHJ1ZQor
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBh
aW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZv
cm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0t
Y2hhcnMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZv
cm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVt
cHR5LWZvci1udW0tY2hhcnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDczIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKQorICAgICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
ICAgIHZhciBzdHlsZUVudHJ5ID0gbnVsbAorICAgIHZhciBwYWludEVudHJ5ID0gbnVsbAorICAg
IHZhciB0aW1lc3RhbXBzID0gW10KKyAgICB2YXIgY2hhcnNQZXJJdGVyYXRpb24gPSA4MAorICAg
IHZhciBjaGFyVGhyZXNob2xkID0gMjAwCisgICAgdmFyIGV4cGVjdGVkSXRlcmF0aW9ucyA9IE1h
dGguY2VpbChjaGFyVGhyZXNob2xkIC8gY2hhcnNQZXJJdGVyYXRpb24pCisKKyAgICBmdW5jdGlv
biBzbG93U3RyaW5nKHN0ciwgZGVsYXkpIHsKKyAgICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JykKKyAgICAgICAgY29uc3Qgc291cmNlID0gYGRvY3Vt
ZW50LndyaXRlKCcke3N0cn0nKTsgdGltZXN0YW1wcy5wdXNoKCR7cGVyZm9ybWFuY2Uubm93KCl9
KTsgY2hlY2soKTtgCisgICAgICAgIHNjcmlwdC5zcmMgPSBgLi9yZXNvdXJjZXMvc2xvd3Njcmlw
dC5waHA/Y2FjaGVCdXN0ZXI9JHtwZXJmb3JtYW5jZS5ub3coKX0mZGVsYXk9JHtkZWxheX0mc2Ny
aXB0PSR7c291cmNlfWAKKyAgICAgICAgZG9jdW1lbnQud3JpdGUoc2NyaXB0Lm91dGVySFRNTCkK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBjaGVjaygpIHsKKyAgICAgICAgaWYgKHRpbWVzdGFtcHMu
bGVuZ3RoIDwgZXhwZWN0ZWRJdGVyYXRpb25zICsgMyB8fCAhcGFpbnRFbnRyeSkKKyAgICAgICAg
ICAgIHJldHVybjsKKworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICcnCisKKyAg
ICAgICAgc2hvdWxkQmVUcnVlKCJwYWludEVudHJ5LnN0YXJ0VGltZSA+IHRpbWVzdGFtcHNbZXhw
ZWN0ZWRJdGVyYXRpb25zXSIpCisgICAgICAgIHNob3VsZEJlVHJ1ZSgicGFpbnRFbnRyeS5zdGFy
dFRpbWUgPCB0aW1lc3RhbXBzW2V4cGVjdGVkSXRlcmF0aW9ucyArIDJdIikKKyAgICAgICAgCisg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpCisgICAgfQorCisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VP
YnNlcnZlcihsaXN0ID0+IHsKKyAgICAgICAgcGFpbnRFbnRyeSA9IHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeVR5cGUoJ3BhaW50JylbMF0KKyAgICAgICAgaWYgKHBhaW50RW50cnkpCisgICAgICAg
ICAgICBjaGVjaygpCisgICAgfSk7CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczog
WyJwYWludCJdfSkKKworICAgIGZ1bmN0aW9uIG5leHQoKSB7CisgICAgICAgIHNsb3dTdHJpbmco
J1x0ICcgKyBBcnJheShjaGFyc1Blckl0ZXJhdGlvbiAvIDIpLmZpbGwoJyAwIFx0IEEnKS5qb2lu
KCcnKSArICIgICBcblx0IiwgMC4zLCBjaGFyc1Blckl0ZXJhdGlvbikKKyAgICB9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNj
cmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxz
Y3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8
c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAg
PHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAg
IDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAg
ICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4K
KyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1h
bmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5
LWZvci1zdHlsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3Vh
bGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5n
LWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDIgQEAKK1BBU1MgcGFpbnRFbnRyeS5zdGFydFRpbWUgPj0g
c3R5bGVFbnRyeS5zdGFydFRpbWUgKyBzdHlsZUVudHJ5LmR1cmF0aW9uIGlzIHRydWUKK1RFWFQK
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFp
bnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5j
ZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Bl
cmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1z
dHlsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpCisgICAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworICAgIH0KKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgdmFyIHN0eWxl
RW50cnkgPSBudWxsOworICAgIHZhciBwYWludEVudHJ5ID0gbnVsbDsKKyAgICBjb25zdCBvYnNl
cnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAgICBjb25zdCBw
YWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdwYWludCcpOworICAg
ICAgICBpZiAocGFpbnRFbnRyaWVzLmxlbmd0aCkKKyAgICAgICAgICAgIHBhaW50RW50cnkgPSBw
YWludEVudHJpZXNbMF07CisKKyAgICAgICAgY29uc3QgcmVzb3VyY2VFbnRyaWVzID0gcGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKS5maWx0ZXIociA9PiByLm5hbWUuaW5j
bHVkZXMoJ3Nsb3dzdHlsZS5waHAnKSk7CisgICAgICAgIGlmIChyZXNvdXJjZUVudHJpZXMubGVu
Z3RoKQorICAgICAgICAgICAgc3R5bGVFbnRyeSA9IHJlc291cmNlRW50cmllc1swXTsKKworICAg
ICAgICBpZiAoIXN0eWxlRW50cnkgfHwgIXBhaW50RW50cnkpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJwYWludEVudHJ5LnN0YXJ0VGltZSA+PSBzdHlsZUVu
dHJ5LnN0YXJ0VGltZSArIHN0eWxlRW50cnkuZHVyYXRpb24iKTsKKyAgICAgICAgICAgICAgICAK
KyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CisgICAgfSk7CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczog
WyJwYWludCIsICJyZXNvdXJjZSJdfSk7Cis8L3NjcmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi9yZXNvdXJjZXMvc2xvd3N0eWxlLnBocD9kZWxheT0wLjUiIC8+Cis8L2hlYWQ+
Cis8Ym9keT4KK1RFWFQKKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dzY3JpcHQucGhwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dzY3JpcHQu
cGhwCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2Uv
cmVzb3VyY2VzL3Nsb3dzY3JpcHQucGhwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOSBAQAor
PD9waHAKK2lmIChpc3NldCgkX0dFVFsiZGVsYXkiXSkpCisgICAgc2xlZXAoJF9HRVRbImRlbGF5
Il0pOworaGVhZGVyKCdDYWNoZS1Db250cm9sOiBuby1jYWNoZSwgbXVzdC1yZXZhbGlkYXRlJyk7
CitoZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0Jyk7CisKK2VjaG8oJF9HRVRb
InNjcmlwdCJdKQorPz4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5j
ZS9yZXNvdXJjZXMvc2xvd3N0eWxlLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c3R5bGUucGhwCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dzdHls
ZS5waHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2IEBACis8P3BocAoraWYgKGlzc2V0KCRf
R0VUWyJkZWxheSJdKSkKKyAgICBzbGVlcCgkX0dFVFsiZGVsYXkiXSk7CitoZWFkZXIoJ0NhY2hl
LUNvbnRyb2w6IG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUnKTsKK2hlYWRlcignTG9jYXRpb246
IHN0eWxlLmNzcycpOworPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFu
Y2UvcmVzb3VyY2VzL3N0eWxlLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zdHlsZS5jc3MJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc3R5bGUuY3NzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorYm9keSB7CisgICAgYmFja2dyb3VuZC1jb2xvcjog
Z3JlZW4KK307ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dy
b3VuZCBzaXplLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemU8L3RpdGxl
PgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAg
ICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGJhY2tn
cm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgICAgICBiYWNr
Z3JvdW5kLXNpemU6IDAgMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRl
ZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAg
ICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYg
aWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBzaXplLiIpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldC4gCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmctaW1hZ2Utc2V0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWlt
YWdlLXNldC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBk
dWUgdG8gYmFja2dyb3VuZCBpbWFnZSBpbiBpbWFnZS1zZXQ8L3RpdGxlPgorPHN0eWxlPgorICAg
ICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBz
Y3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIGJhY2tncm91bmQtaW1h
Z2U6IC13ZWJraXQtaW1hZ2Utc2V0KHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpIDF4KTsK
KyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2Utc2V0KHVybCguLi9yZXNvdXJjZXMvY2ly
Y2xlcy5wbmcpIDF4KTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2Pgor
PHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gYmFja2dyb3VuZCBpbWFnZSBpbiBpbWFnZS1zZXQuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZm9yIGJhY2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZp
c2libGUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBl
cmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIGZpcmUgZm9yIGJhY2tncm91
bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGU8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsK
KyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKwor
ICAgIC8qIGNvbnRlbnRmdWwgYW5kIHByZUZDUCBjbGFzc2VzIGFyZSBkZWZpbmVkIGluIHRlc3Rf
ZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5wcmVGQ1AgeworICAgICAgICB2aXNpYmlsaXR5OiBo
aWRkZW47CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCwgICNtYWluLnByZUZDUCB7Cisg
ICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOwor
ICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNp
YmxlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0Pgor
ICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGZvciBiYWNrZ3JvdW5k
IGltYWdlIG9ubHkgd2hlbiB2aXNpYmxlLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENhbnZhcyBzaG91bGQgY291bnQgYXMg
Y29udGVudGZ1bCB3aGVuIGNvbnRleHQgaXMgY3JlYXRlZCAKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWNhbnZhcy1jb250ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1j
b250ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHdoZW4gY2Fu
dmFzIGNvbnRleHQgaXMgY3JlYXRlZDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0
aD0iNTAiIGhlaWdodD0iNTAiPjwvY2FudmFzPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgIGF3YWl0IG5l
dyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAg
YXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIGNvbnN0IGNhbnZhcyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYW52YXMnKTsKKyAgICBjb25zdCBjb250ZXh0ID0g
Y2FudmFzLmdldENvbnRleHQoJzJkJyk7CisgICAgY29udGV4dC5maWxsUmVjdCgwLCAwLCAxMDAs
IDEwMCk7CisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ0Nh
bnZhcyBzaG91bGQgY291bnQgYXMgY29udGVudGZ1bCB3aGVuIGNvbnRleHQgaXMgY3JlYXRlZCcp
OworPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFk
aWVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEdyYWRpZW50cyBz
aG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFk
aWVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFu
Y2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgbm90IGZpcmUgd2l0aCBncmFkaWVudC1v
bmx5IGJhY2tncm91bmRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1p
bWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgb3JhbmdlLCBibHVlKTsKKyAgICB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFu
Y2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBj
b25zdCBtYWluID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW4nKTsKKyAgICAgIGF3YWl0
IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7Cisg
ICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICAnR3JhZGll
bnRzIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+
CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2Nl
bmRhbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHJvdGF0aW5nIGludG8gdmll
dy4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNj
ZW5kYW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1y
b3RhdGUtZGVzY2VuZGFudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRl
c3Q6IEZDUCBkdWUgdG8gM2QgcmV2ZWFsaW5nIG9mIGRlc2NlbmRhbnRzPC90aXRsZT4KKzxzdHls
ZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cisg
ICAgICAgIHRvcDogMDsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDQ1ZGVnKTsKKyAgICAg
ICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKKyAgICB9CisKKyAgICAvKgorICAgICAg
IFRoaXMgdGVzdHMgdGhhdCBnaXZlbiBtdWx0aXBsaWNhdGlvbiBlZmZlY3Qgb2YgM2QgdHJhbnNm
b3JtcyBvbiBib3VuZGluZyByZWN0LAorICAgICAgIEFuIGVsZW1lbnQgY291bnRzIGFzIGNvbnRl
bnRmdWwvcGFpbnRhYmxlIG9ubHkgd2hlbiBpdHMgYm91bmRpbmcgcmVjdCBpcyB0cnVseSBub24t
ZW1wdHkgKi8KKyAgICAjY2hpbGQgeworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVkZWcp
OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2Zj
cCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTog
bm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXYgaWQ9ImNo
aWxkIj5UZXh0PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHJvdGF0aW5n
IGludG8gdmlldy4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBw
YWludCBmaXJlcyBkdWUgdG8gM2Qgcm90YXRpb24gaW50byB2aWV3LiAKKwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXc8L3RpdGxlPgorPHN0eWxl
PgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSg5MGRl
Zyk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0K
KworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQu
ICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAg
ICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxz
LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRleHQ8L2Rpdj4KKzxzY3JpcHQ+CisgICAg
dGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIDNkIHJvdGF0aW9u
IGludG8gdmlldy4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBz
Y2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
c2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNTIEZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcgdHJhbnNpdGlvbi4gCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBpbiB0cmFuc2l0aW9uPC90
aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06
IHNjYWxlKDApOworICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTBzOworICAgICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICB9CisKKyAgICAvKiBjb250
ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWlu
LmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOworICAgIH0KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2Ny
aXB0PgorPGRpdiBpZD0ibWFpbiI+VEVYVDwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgi
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIHJldmVhbGVkIGR1cmluZyB0cmFuc2l0
aW9uLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLXNjYWxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS1zY2FsZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2Nh
bGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRv
IHNjYWxlIGNoYW5nZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0
aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAg
ICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwor
ICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJj
ZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVm
aW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAg
ICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwv
ZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBkdWUgdG8gc2NhbGUgYmVjb21pbmcgcG9zaXRpdmUuIikKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitJTlZJU0lCTEUKKworUEFTUyBGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNp
YmxlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWlu
dCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBzdGlsbCBmaXJlIGZvciBpbnZpc2libGUgdGV4dDwv
dGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
dmlzaWJpbGl0eTogaGlkZGVuOworICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKKyAg
ICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2Ny
aXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNp
YmxlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgSU5WSVNJQkxFCis8
L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIikKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFu
dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVz
Y2VuZGFudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0
CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9y
IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5
LWRlc2NlbmRhbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNj
ZW5kYW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2Vu
ZGFudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUg
dG8gYW5jZXN0b3Igb3BhY2l0eTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAg
ICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBw
eDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQor
CisgICAgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250
ZW50ZnVsIGFuZCBpbnRlcm1lZGlhdGUgY2xhc3NlcyBhcmUgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBz
Y3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCAjY2hpbGQgeworICAgICAgICBvcGFjaXR5
OiAxOworICAgIH0KKworICAgICNtYWluLmludGVybWVkaWF0ZSAjY2hpbGQgeworICAgICAgICBv
cGFjaXR5OiAxOworICAgIH0KKworICAgICNtYWluLmludGVybWVkaWF0ZSB7CisgICAgICAgIG9w
YWNpdHk6IDA7CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIG9wYWNp
dHk6IDAuNTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXYgaWQ9
ImNoaWxkIj5UZXh0PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHBvc2l0
aXZlIG9wYWNpdHkuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3BhY2l0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNp
dHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZp
cnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIG9wYWNpdHktcmV2ZWFsZWQgZWxlbWVu
dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW9wYWNpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUg
dG8gb3BhY2l0eTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDog
MTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAg
ICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91
bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgICAgICBvcGFjaXR5
OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0
X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIG9wYWNpdHk6
IDAuMTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4K
KyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gb3BhY2l0
eS1yZXZlYWxlZCBlbGVtZW50LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0
byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQt
b2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQg
ZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4g
CisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gdHJhbnNmb3Jt
LWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50PC90aXRsZT4KKzxzdHlsZT4KKyAgICAj
bWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwMHB4KTsK
KyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJh
Y2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKwor
ICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICov
CisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2Zj
cCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGlu
dGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3V0LW9mLWJvdW5kcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRl
c3Q6IEZDUCBkdWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQ8L3RpdGxlPgorPHN0eWxl
PgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICBsZWZ0OiAtMTAwMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291
cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBk
ZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAg
ICAgICAgbGVmdDogMHB4OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC1kaXNwbGF5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0
ZXh0LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8t
ZWxlbWVudCB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQi
OworICAgICAgICBkaXNwbGF5OiBub25lOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xh
c3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1
bDphZnRlciB7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIikKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWlt
YWdlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtaW1hZ2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVs
ZW1lbnQgaW1hZ2UuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2Uu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVk
by1lbGVtZW50IGltYWdlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBv
c2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0
ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAg
IGNvbnRlbnQ6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0
PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGltYWdlLiIpCis8
L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBk
dWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiAKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5n
IHBvc2l0aXZlIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAg
cG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAi
VEVYVCI7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBj
bGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50
ZnVsOmFmdGVyIHsKKyAgICAgICAgb3BhY2l0eTogMC41OworICAgIH0KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUg
b3BhY2l0eS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LXRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtdGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC10ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7
CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMg
ZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRl
ciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIgorICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0i
bWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIikKKzwvc2NyaXB0PgorPC9i
b2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJp
bGl0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0
byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5j
ZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2
aXNpYmxlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiBy
ZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiOworICAg
ICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFz
cyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVs
OmFmdGVyIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKKyAgICB9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNp
YmxlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1z
dmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQg
ZmlyZXMgd2hlbiBTVkcgYmVjb21lcyBjb250ZW50ZnVsLiAKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXN2Zy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBU
aW1pbmcgVGVzdDogRkNQIHdpdGggU1ZHPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7Cisg
ICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVm
dDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgfQorCisgICAgI2NpcmNs
ZSB7CisgICAgICBkaXNwbGF5OiBub25lOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xh
c3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1
bCAjY2lyY2xlIHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
ZGl2IGlkPSJtYWluIj4KKyAgPHN2ZyB2aWV3Qm94PSIwIDAgMTAgMTAiIHhtbG5zPSJodHRwOi8v
d3d3LnczLm9yZy8yMDAwL3N2ZyIKKyAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGxpbmsiPgorICAgIDxkZWZzPgorICAgICAgPGNpcmNsZSBpZD0ibXlDaXJjbGUiIGN4
PSI1IiBjeT0iNSIgcj0iNCIgc3Ryb2tlPSJibHVlIi8+CisgICAgPC9kZWZzPgorICAgIDx1c2Ug
aWQ9ImNpcmNsZSIgaHJlZj0iI215Q2lyY2xlIiBmaWxsPSJncmVlbiIgLz4KKyAgPC9zdmc+Cis8
L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgd2hlbiBTVkcgYmVjb21lcyBjb250ZW50ZnVsLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKwor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBUZXh0IGlucHV0IHNob3VsZCBiZWNvbWUgY29u
dGVudGZ1bCB3aGVuIGl0cyB2YWx1ZSBpcyBub24tZW1wdHkgCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10ZXh0LWlucHV0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0
bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgZm9yIG5vbi1lbXB0eSB0
ZXh0IGlucHV0PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8aW5wdXQgaWQ9ImlucHV0IiB0eXBlPSJ0ZXh0IiAvPgorPHNj
cmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRp
dGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBz
dXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRm
dWxQYWludCgpOworICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
aW5wdXQnKTsKKyAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgndmFsdWUnLCAnICAnKTsKKyAgICAg
IGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICAgIGlucHV0LnNldEF0
dHJpYnV0ZSgndmFsdWUnLCAndmFsdWUnKTsKKyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVu
dGZ1bFBhaW50KCk7CisgIH0sICdUZXh0IGlucHV0IHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3
aGVuIGl0cyB2YWx1ZSBpcyBub24tZW1wdHknKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitBCisKK1BBU1MgRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyBvbmx5IHdoZW4gc29tZSBvZiB0aGUgdGV4dCBpcyB2aXNpYmxl
LCBjb25zaWRlcmluZyA6OmZpcnN0LWxldHRlci4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBv
Z3JhcGhpYy1wc2V1ZG8uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBo
aWMtcHNldWRvLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGlj
LXBzZXVkby5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBz
aG91bGQgbm90IGZpcmUgd2hlbiBhbGwgdGV4dCBpcyBoaWRkZW4gZHVlIHRvIHR5cG9ncmFwaGlj
IHBzZXVkby1lbGVtZW50czwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbiAqOjpmaXJzdC1sZXR0ZXIgeworICAgICAgICBv
cGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBp
biB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCAqOjpmaXJzdC1sZXR0
ZXIgeworICAgICAgICBvcGFjaXR5OiAxOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFp
biI+CisgICAgPGRpdj5BPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZp
cnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgb25seSB3aGVuIHNvbWUgb2YgdGhlIHRleHQgaXMg
dmlzaWJsZSwgY29uc2lkZXJpbmcgOjpmaXJzdC1sZXR0ZXIuIikKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBWaWRlbyBzaG91bGQgYmVjb21lIGNv
bnRlbnRmdWwgd2hlbiBmaXJzdCBmcmFtZSBpcyBsb2FkZWQgCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC12aWRlby1mcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFt
ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gbG9hZGVkIHZp
ZGVvIGZyYW1lPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8dmlkZW8gaWQ9InZpZGVvIiBhdXRvcGxheT48L3ZpZGVvPgor
PHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNv
bmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24n
dCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRl
bnRmdWxQYWludCgpOworICAgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndmlkZW8nKTsKKyAgICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgnc3JjJywgJy9tZWRpYS90ZXN0
Lm1wNCcpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIHZp
ZGVvLm9uY2FucGxheSA9IHJlc29sdmU7CisgICAgICB9KTsKKyAgICAgIGF3YWl0IGFzc2VydEZp
cnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRm
dWwgd2hlbiBmaXJzdCBmcmFtZSBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRl
bnRmdWwgd2hlbiBwb3N0ZXIgaXMgbG9hZGVkIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8t
cG9zdGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRlZCB2aWRlbyBw
b3N0ZXI8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+
PC92aWRlbz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3Nl
cnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGlt
aW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RD
b250ZW50ZnVsUGFpbnQoKTsKKyAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd2aWRlbycpOworICAgIGNvbnN0IHNyYyA9ICcuLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcn
OworICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7CisgICAgaW1hZ2Uuc3JjID0gc3JjOwor
ICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgncG9zdGVyJywgc3JjKTsKKyAgICBhd2FpdCBuZXcgUHJv
bWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgaW1hZ2Uub25sb2FkID0gYXN5bmMgKCkgPT4gcmVz
b2x2ZSgpOworICAgIH0pCisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsK
KyAgfSwgJ1ZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIHBvc3RlciBpcyBsb2Fk
ZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdo
aXRlc3BhY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNw
YWNlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFj
ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BB
U1MgV2hpdGVzcGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwuIAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13
aGl0ZXNwYWNlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2Uu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
ZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBXaGl0ZXNwYWNlIHNo
b3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jl
c291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCAwOworICAg
IH0KKworICAgICN0ZXh0IHsKKyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAv
KiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAg
ICNtYWluLmNvbnRlbnRmdWwgI3RleHR7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0id2hpdGVzcGFjZSI+ICAg
PC9kaXY+CisgICAgPGRpdiBpZD0idGV4dCI+VEVYVDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0Pgor
ICAgIHRlc3RfZmNwKCJXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bC4i
KQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1y
dGwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RFWFQKKworUEFTUyBGQ1Agc2hv
dWxkIGZpcmUgd2hlbiBjb29yZGluYXRlcyBhcmUgbmVnYXRpdmUsIGlmIHdpdGhpbiBkb2N1bWVu
dCBzY3JvbGxhYmxlIGFyZWEgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGlt
aW5nIFRlc3Q6IEZDUCBkdWUgdG8gZGlyZWN0aW9uIGNoYW5nZTwvdGl0bGU+Cis8c3R5bGU+Cisg
ICN0ZXh0IHsKKyAgICByaWdodDogLTEwMHB4OworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAg
fQorCisgIGJvZHkgeworICAgIGRpcmVjdGlvbjogcnRsOworICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHkgZGlyZWN0aW9uPSJSVEwiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJm
b3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAg
ICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQn
LCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAg
ICBkb2N1bWVudC5ib2R5LnN0eWxlLmRpcmVjdGlvbiA9ICdsdHInCisgICAgICBhd2FpdCBhc3Nl
cnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAnRkNQIHNob3VsZCBmaXJlIHdoZW4gY29v
cmRpbmF0ZXMgYXJlIG5lZ2F0aXZlLCBpZiB3aXRoaW4gZG9jdW1lbnQgc2Nyb2xsYWJsZSBhcmVh
Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1pbXBv
cnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NDMgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6
CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4g
dGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQK
KworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZh
bHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitM
aXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3Rl
cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5k
YW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLXNjYWxlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3ZlcmZsb3cuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LWRpc3BsYXkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1v
cGFjaXR5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1z
dmcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXRleHQtaW5wdXQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBv
c3Rlci5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atd2hpdGVzcGFjZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5z
dmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL2NpcmNsZS5zdmcJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACis8c3Zn
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIj4KKyAgIDxj
aXJjbGUgY3g9IjEwMCIgY3k9IjUwIiByPSI0MCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRo
PSIyIiBmaWxsPSJub25lIiAvPgorPC9zdmc+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFp
bnRpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPGRp
diBpZD0iaW1hZ2UiPjwvZGl2PgorPHNjcmlwdD4KKyAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnSU1HJyk7CisgIGltZy5zcmMgPSAnY2lyY2xlcy5wbmcnOworICBpbWcub25s
b2FkID0gZnVuY3Rpb24oKSB7CisgICAgZnVuY3Rpb24gc2VuZFBhaW50RW50cmllcygpIHsKKyAg
ICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Bh
aW50Jyk7CisgICAgICBpZiAocGFpbnRFbnRyaWVzLmxlbmd0aCA8IDIpIHsKKyAgICAgICAgc2V0
VGltZW91dChzZW5kUGFpbnRFbnRyaWVzLCAyMCk7CisgICAgICAgIHJldHVybjsKKyAgICAgIH0K
KyAgICAgIGxldCBlbnRyeUNvbnRlbnRzID0gcGFpbnRFbnRyaWVzLmxlbmd0aCArICcnOworICAg
ICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsKKyAgICAg
ICAgY29uc3QgZW50cnkgPSBwYWludEVudHJpZXNbaV07CisgICAgICAgIGVudHJ5Q29udGVudHMg
Kz0gJyAnICsgZW50cnkuZW50cnlUeXBlICsgJyAnICArIGVudHJ5Lm5hbWU7CisgICAgICB9Cisg
ICAgICBwYXJlbnQucG9zdE1lc3NhZ2UoZW50cnlDb250ZW50cywgJyonKTsKKyAgICB9OworICAg
IHNlbmRQYWludEVudHJpZXMoKTsKKyAgfTsKKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lt
YWdlJykuYXBwZW5kQ2hpbGQoaW1nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9y
ZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0PgorICBzZWxmLmFkZEV2ZW50TGlz
dGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbihlKSB7CisgICAgLy8gU2VuZCBwYWludC10aW1pbmcg
ZW50cmllcyB1cG9uIHJlY2VpdmluZyBhIG1lc3NhZ2UuCisgICAgY29uc3QgcGFpbnRFbnRyaWVz
ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncGFpbnQnKTsKKyAgICBsZXQgZW50cnlD
b250ZW50cyA9IHBhaW50RW50cmllcy5sZW5ndGggKyAnJzsKKyAgICBmb3IgKGxldCBpID0gMDsg
aSA8IHBhaW50RW50cmllcy5sZW5ndGg7IGkrKykgeworICAgICAgY29uc3QgZW50cnkgPSBwYWlu
dEVudHJpZXNbaV07CisgICAgICBlbnRyeUNvbnRlbnRzICs9ICcgJyArIGVudHJ5LmVudHJ5VHlw
ZSArICcgJyAgKyBlbnRyeS5uYW1lOworICAgIH0KKyAgICBwYXJlbnQucG9zdE1lc3NhZ2UoZW50
cnlDb250ZW50cywgJyonKTsKKyAgfSk7Cis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGls
cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3V0aWxzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8vIE51
bWJlciBtaWxsaXNlY29uZHMgdG8gd2FpdCBmb3IgQ1NTIHJlc291cmNlcyB0byBsb2FkLgorY29u
c3QgbnVtTWlsbGlzZWNvbmRzV2FpdCA9IDUwOworCisvLyBXZSB1c2UgcmVxdWVzdEFuaW1hdGlv
bkZyYW1lKCkgY2FsbHMgdG8gZm9yY2UgdGhlIHVzZXIgYWdlbnQgdG8gcGFpbnQgYW5kIGdpdmUg
ZW5vdWdoCisvLyB0aW1lIGZvciBGQ1AgdG8gc2hvdyB1cCBpbiB0aGUgcGVyZm9ybWFuY2UgdGlt
ZWxpbmUuIEhlbmNlLCBzZXQgfG51bUZyYW1lc1dhaXRpbmd8IHRvCisvLyAzIGFuZCB1c2UgdGhh
dCBjb25zdGFudCB3aGVuZXZlciB0aGUgdGVzdCBuZWVkcyB0byB3YWl0IGZvciB0aGUgbmV4dCBw
YWludCB0byBvY2N1ci4KK2NvbnN0IG51bUZyYW1lc1dhaXRpbmcgPSAzOworCitmdW5jdGlvbiB3
YWl0VGltZSh0KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHQuc3RlcF90aW1l
b3V0KHJlc29sdmUsIG51bU1pbGxpc2Vjb25kc1dhaXQpKTsKK30KKworZnVuY3Rpb24gd2FpdEZv
ckFuaW1hdGlvbkZyYW1lcyhjb3VudCkgeworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB7CisgICAgaWYgKGNvdW50LS0gPD0gMCkgeworICAgICAgcmVzb2x2ZSgpOworICAgIH0gZWxz
ZSB7CisgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICB3YWl0Rm9y
QW5pbWF0aW9uRnJhbWVzKGNvdW50KS50aGVuKHJlc29sdmUpOworICAgICAgfSk7CisgICAgfQor
ICB9KTsKK30KKworLy8gQXNzZXJ0cyB0aGF0IHRoZXJlIGlzIGN1cnJlbnRseSBubyBGQ1AgcmVw
b3J0ZWQsIGV2ZW4gYWZ0ZXIgc29tZSB3YWl0LgorYXN5bmMgZnVuY3Rpb24gYXNzZXJ0Tm9GaXJz
dENvbnRlbnRmdWxQYWludCh0KSB7CisgIGlmICh0KQorICAgIGF3YWl0IHdhaXRUaW1lKHQpOwor
CisgIGF3YWl0IHdhaXRGb3JBbmltYXRpb25GcmFtZXMobnVtRnJhbWVzV2FpdGluZyk7CisgIGFz
c2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1
bC1wYWludCcpLmxlbmd0aCwgMCwgJ0ZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgbWFya2VkIHRvbyBl
YXJseS4gJyk7Cit9CisKKy8vIEFzc2VydHMgdGhhdCBGQ1AgaXMgcmVwb3J0ZWQsIHBvc3NpYmx5
IGFmdGVyIHNvbWUgd2FpdC4gVGhlIHdhaXQgaXMgbmVlZGVkCisvLyBiZWNhdXNlIHNvbWV0aW1l
cyB0aGUgRkNQIHJlbGllcyBvbiBzb21lIENTUyByZXNvdXJjZXMgdG8gZmluaXNoIGxvYWRpbmcu
Cithc3luYyBmdW5jdGlvbiBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KSB7CisgIGlmICh0
KQorICAgIGF3YWl0IHdhaXRUaW1lKHQpOworICBhd2FpdCB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVz
KG51bUZyYW1lc1dhaXRpbmcpOworICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeU5hbWUoJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5ndGgsIDEsICdFeHBlY3RlZCBm
aXJzdCBjb250ZW50ZnVsIHBhaW50IG5vdCBmb3VuZC4gJyk7Cit9CisKK2Z1bmN0aW9uIHRlc3Rf
ZmNwKGxhYmVsKSB7CisgIGNvbnN0IHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5
bGUnKTsKKyAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7CisgIHJldHVybiBwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVy
Zm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7Cisg
ICAgY29uc3QgbWFpbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluJyk7CisgICAgYXdh
aXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsK
KyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgbWFpbi5jbGFz
c05hbWUgPSAncHJlRkNQJzsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50
KCk7CisgICAgbWFpbi5jbGFzc05hbWUgPSAnY29udGVudGZ1bCc7CisgICAgYXdhaXQgYXNzZXJ0
Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgbGFiZWwpOworfQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2Vz
L3czYy1pbXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyMSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0
ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRp
cmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAor
CitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQor
UHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50
LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2ZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9w
YWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRp
bmctcGFpbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVz
b3VyY2VzL3V0aWxzLmpzCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQt
dGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACitCYXNpYyBJbnRlcmZhY2UgdGVz
dCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQZXJmb3JtYW5jZVBhaW50VGltaW5nCitQQVNTIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaXMg
ZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUudG9KU09OIGlz
IGRlZmluZWQuCitQQVNTIG5ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcg
J25ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCknKS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9wYWludC10aW1pbmctZnJhbWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWlu
Zy1mcmFtZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKK1Bh
aW50IEFQSSBzaG91bGQgYmUgYXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5v
dCB0byBjcm9zcy1vcmlnaW4vc2FuZGJveGVkIGZyYW1lcy4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgcmVjZWl2ZWRFdmVudC5zb3VyY2UgaXMgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ25vblNhbmRib3hlZCcpLmNvbnRlbnRXaW5kb3cKK1BBU1MgcmVjZWl2ZWRFbnRy
eS5uYW1lIGlzICdmaXJzdC1jb250ZW50ZnVsLXBhaW50JworUEFTUyBkaWRSZWNlaXZlTWVzc2Fn
ZUZyb21TYW5kYm94ZWRJZnJhbWUgaXMgZmFsc2UKK1BBU1MgQXJyYXkuaXNBcnJheShub25TYW5k
Ym94U3VwcG9ydGVkVHlwZXMpIGlzIHRydWUKK1BBU1MgQXJyYXkuaXNBcnJheShzYW5kYm94U3Vw
cG9ydGVkVHlwZXMpIGlzIHRydWUKK1BBU1MgZGlkUmVjZWl2ZU1lc3NhZ2UgaXMgdHJ1ZQorUEFT
UyBub25TYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgdHJ1ZQorUEFT
UyBzYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgZmFsc2UKK1BBU1Mg
UGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBm
aXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1l
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKworCitU
RVhUCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1l
cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10
aW1pbmctZnJhbWVzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDY3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorICAgIDxpZnJhbWUgd2lkdGg9IjEwMCIgaGVpZ2h0PSIx
MDAiIGlkPSJub25TYW5kYm94ZWQiIHNyYz0iLi9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwi
PjwvaWZyYW1lPgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKzxpZnJhbWUgaWQ9InNhbmRi
b3hlZCIgc3JjPSIuL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbCIgc2FuZGJveD0iYWxsb3ct
c2NyaXB0cyI+PC9pZnJhbWU+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorCisgICAgVEVY
VAorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50IEFQSSBzaG91bGQgYmUgYXZhaWxhYmxl
IGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4vc2FuZGJveGVk
IGZyYW1lcy4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5kaWRSZWNl
aXZlTWVzc2FnZSA9IGZhbHNlOworCit3aW5kb3cub25sb2FkID0gYXN5bmMgKCkgPT4geworICAg
IGNvbnN0IHNhbmRib3hlZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYW5kYm94ZWQnKTsK
KyAgICBjb25zdCBub25TYW5kYm94ZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2Fu
ZGJveGVkJyk7CisgICAgY29uc3QgZmNwTWVzc2FnZVByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHsKKyAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICAgICAg
ICAgIHdpbmRvdy5yZWNlaXZlZEV2ZW50ID0gZXZlbnQ7CisgICAgICAgICAgICBjb25zdCBpc0Zy
b21TYW5kYm94ZWQgPSBldmVudC5zb3VyY2UgPT09IHNhbmRib3hlZC5jb250ZW50V2luZG93Owor
ICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAg
ICAgICAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkgeworICAgICAgICAgICAgICAgIGNhc2UgJ3N1
cHBvcnRlZCc6CisgICAgICAgICAgICAgICAgICAgIGlmIChpc0Zyb21TYW5kYm94ZWQpCisgICAg
ICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2FuZGJveFN1cHBvcnRlZFR5cGVzID0gbWVzc2Fn
ZS5zdXBwb3J0ZWQ7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHdpbmRvdy5ub25TYW5kYm94U3VwcG9ydGVkVHlwZXMgPSBtZXNzYWdlLnN1cHBvcnRl
ZDsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSAncmVj
ZWl2ZWQnOgorICAgICAgICAgICAgICAgICAgICB3aW5kb3cuZGlkUmVjZWl2ZU1lc3NhZ2VGcm9t
U2FuZGJveGVkSWZyYW1lID0gaXNGcm9tU2FuZGJveGVkOworICAgICAgICAgICAgICAgICAgICB3
aW5kb3cucmVjZWl2ZWRFbnRyeSA9IG1lc3NhZ2UuZW50cnk7CisgICAgICAgICAgICAgICAgICAg
IGRpZFJlY2VpdmVNZXNzYWdlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
J3JlY2VpdmVkRXZlbnQuc291cmNlJywgImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5k
Ym94ZWQnKS5jb250ZW50V2luZG93Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCdy
ZWNlaXZlZEVudHJ5Lm5hbWUnLCAiJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnIik7CisgICAgICAg
ICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICB9CisgICAgICAgIH07CisgICAgfSk7CisKKyAgICBzYW5kYm94ZWQuY29udGVudFdp
bmRvdy5wb3N0TWVzc2FnZSgicGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsK
KyAgICBub25TYW5kYm94ZWQuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgicGFpbnQiLCAiKiIp
OworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBhd2FpdCBmY3BNZXNzYWdlUHJvbWlzZTsK
KyAgICBzaG91bGRCZUZhbHNlKCdkaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUn
KTsKKyAgICBzaG91bGRCZVRydWUoJ0FycmF5LmlzQXJyYXkobm9uU2FuZGJveFN1cHBvcnRlZFR5
cGVzKScpOworICAgIHNob3VsZEJlVHJ1ZSgnQXJyYXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVk
VHlwZXMpJyk7CisgICAgc2hvdWxkQmVUcnVlKCdkaWRSZWNlaXZlTWVzc2FnZScpOworICAgIHNo
b3VsZEJlVHJ1ZSgnbm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7
CisgICAgc2hvdWxkQmVGYWxzZSgnc2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWlu
dCIpJyk7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50
ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBmaXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJhbWUgYnV0IG5v
dCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Bh
aW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxMyBAQAorUGFpbnQgQVBJIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlIGluIHdvcmtlciBj
b250ZXh0cy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgUGVyZm9ybWFu
Y2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIHRydWUK
K1BBU1Mgd29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyBmYWxz
ZQorUEFTUyB3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJtYXJrIikgaXMgdHJ1
ZQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBp
bmNsdWRlICdwYWludCcgZm9yIHdvcmtlcnMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3Jr
ZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgSFRNTD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50
IEFQSSBzaG91bGQgbm90IGJlIGF2YWlsYWJsZSBpbiB3b3JrZXIgY29udGV4dHMuIik7Cit3aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7Citjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKCIuL3Jl
c291cmNlcy93b3JrZXIuaHRtbCIpOword29ya2VyLm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAg
ICB3aW5kb3cud29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcyA9IEpTT04ucGFyc2UoZXZlbnQuZGF0
YSk7CisgICAgc2hvdWxkQmVUcnVlKCdQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5
VHlwZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCd3b3JrZXJTdXBw
b3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVUcnVlKCd3
b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJtYXJrIiknKTsKKyAgICB0ZXN0UGFz
c2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNs
dWRlICdwYWludCcgZm9yIHdvcmtlcnMiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK3dv
cmtlci5wb3N0TWVzc2FnZSgic3RhcnQiKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmly
c3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitQQVNTIGRpZFJlY2VpdmVG
aXJzdENvbnRlbnRmdWxQYWludCBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMo
KS5sZW5ndGggaXMgMQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1j
b250ZW50ZnVsLXBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIsICJwYWludCIpLmxlbmd0aCBpcyAxCitQ
QVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3RoIGlzIDEKK1BB
U1MgUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdh
c24ndCBmaXJlZCBhZ2FpbiAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorVEVYVDIKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJm
b3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0
LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiRW5zdXJlIFBl
cmZvcm1hbmNlT2JzZXJ2ZXJzIGFyZSBub3RpZmllZCBvbmNlIGZvciBmaXJzdC1jb250ZW50ZnVs
LXBhaW50LiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworIAorKGFzeW5jICgpID0+
IHsKKyAgICB3aW5kb3cuZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gZmFsc2U7Cisg
ICAgd2luZG93LnN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIGF3YWl0IHdhaXRG
b3JGQ1AoKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgY29u
c3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihlbnRyeUxpc3QgPT4geworICAg
ICAgICAgICAgd2luZG93LmVudHJ5TGlzdCA9IGVudHJ5TGlzdDsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCcsICIxIik7CisgICAgICAgICAgICBz
aG91bGRCZSgnZW50cnlMaXN0LmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFp
bnQiKS5sZW5ndGgnLCAxKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50
cmllc0J5VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgICAgICAgICAgd2luZG93LmZj
cEVudHJ5ID0gZW50cnlMaXN0LmdldEVudHJpZXMoKVswXTsKKyAgICAgICAgICAgIHNob3VsZEJl
RmFsc2UoJ2RpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCcpOworICAgICAgICAgICAgc2hv
dWxkQmUoJ2ZjcEVudHJ5Lm5hbWUnLCAnImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiJyk7CisgICAg
ICAgICAgICBzaG91bGRCZSgnZmNwRW50cnkuZW50cnlUeXBlJywgJyJwYWludCInKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlVHJ1ZSgnZmNwRW50cnkuc3RhcnRUaW1lID4gd2luZG93LnN0YXJ0VGlt
ZScpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdmY3BFbnRyeS5zdGFydFRpbWUgPCBwZXJm
b3JtYW5jZS5ub3coKScpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5LmR1cmF0aW9u
JywgIjAiKTsKKyAgICAgICAgICAgIGRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCA9IHRy
dWU7CisgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0pOworCisgICAgICAgIG9ic2Vy
dmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsncGFpbnQnXX0pOworICAgICAgICBkb2N1bWVudC5i
b2R5LmlubmVyVGV4dCA9ICdURVhUJzsKKyAgICB9KQorICAgIGRvY3VtZW50LmJvZHkuaW5uZXJU
ZXh0ID0gJ1RFWFQyJzsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgc2hvdWxkQmVUcnVl
KCdkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQnKTsKKyAgICBzaG91bGRCZSgncGVyZm9y
bWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1h
bmNlLmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAi
MSIpOworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1j
b250ZW50ZnVsLXBhaW50IiwgInBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgn
cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAg
IHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBj
YWxsYmFjayB3YXNuJ3QgZmlyZWQgYWdhaW4gIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KSgp
OworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1
YmZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIEhU
TUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQ
ZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAgICBsaXN0LmdldEVudHJpZXMoKS5m
b3JFYWNoKGVudHJ5ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uo
SlNPTi5zdHJpbmdpZnkoe3R5cGU6ICdyZWNlaXZlZCcsIGVudHJ5fSksICcqJyk7CisgICAgICAg
IH0pOworICAgIH0pOworCisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJwYWlu
dCJdfSk7CisgICAgd2luZG93Lm9ubWVzc2FnZSA9IGUgPT4geworICAgICAgICB3aW5kb3cucGFy
ZW50LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHtzdXBwb3J0ZWQ6IFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcywgdHlwZTogJ3N1cHBvcnRlZCd9KSwgJyonKTsKKyAg
ICAgICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAiVEVYVCI7CisgICAgfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpz
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMv
cGFpbnQtYXBpLXV0aWxzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNSBAQAorYXN5bmMg
ZnVuY3Rpb24gd2FpdEZvckZDUCgpCit7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9
PiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gcmVzb2x2ZSgpKSk7CisgICAgcmV0dXJuIHdp
bmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVsLXBhaW50
JykubGVuZ3RoID09IDE7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQt
dGltaW5nLWFwaS5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxMyBAQAoraWYgKHNlbGYuaW1wb3J0U2NyaXB0cykKKyAgICBpbXBvcnRTY3JpcHRzKCIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiKTsKKworaWYgKHNlbGYud2luZG93KQorICAgIGRl
c2NyaXB0aW9uKCJCYXNpYyBJbnRlcmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuIik7
CisKK2RlYnVnKCJQZXJmb3JtYW5jZVBhaW50VGltaW5nIik7CitzaG91bGRCZURlZmluZWQoIlBl
cmZvcm1hbmNlUGFpbnRUaW1pbmciKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VQYWlu
dFRpbWluZy5wcm90b3R5cGUudG9KU09OYCk7CitzaG91bGRUaHJvdyhgbmV3IFBlcmZvcm1hbmNl
UGFpbnRUaW1pbmcoKWApOworCitpZiAoc2VsZi5pbXBvcnRTY3JpcHRzKQorICAgIGZpbmlzaEpT
VGVzdCgpOwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3Jr
ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3Vy
Y2VzL3dvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBA
CitzZWxmLm9ubWVzc2FnZSA9ICgpID0+IHsKKyAgICBzZWxmLnBvc3RNZXNzYWdlKEpTT04uc3Ry
aW5naWZ5KFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcykpOworfQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46
bWltZS10eXBlID0gaW1hZ2UvcG5nCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2ly
Y2xlcy5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCitp
bWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29BQUFB
TlNVaEVVZ0FBQUNRQUFBQklDQVlBQUFDZU5sZTVBQUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFB
ZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6
U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVN
dHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFs
VmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhD
bGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRR
SU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3ek82cllxR2NUdllPa0wyZDlINU9z
OTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFU
U2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1Vl
RjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJo
dVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkx
eXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAr
eFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJY
V2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3
eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxT
SjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJ
WHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82
NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3
L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFBCkNYQklXWE1BQUFzVEFBQUxFd0VB
bXB3WUFBQUdaMGxFUVZSb0JlMmFVVzlWUlJESGQ2OHRFVkpMVzJLQ3hDWStpZ1FEb1lrS2ZnSjgK
OU1rbkV2RWR2b0Nta1MrQTcycENRc0tUai9JSkJDU0IxTlNvUEpxVTFDYWtnTmlBYWVOZGYvK1pP
VDIzNTk3U0Z1N2w2VXl5NSt6TwoyWjJablozZG5abDdjNXJQSmUwS1NzcHBocDc3VTBtUHFEL2RI
RlVSeUp1WVJKOEQ5SmtHODR6NlE5NjlYM3M2TnFwampYYWpLU0xkCkVHUWY5UldJTyttU3pzTDFC
SzFaeWlHS2hGamx1VVNIWHhoem5mWlRFeU9udytEWFE3Q085ZVF4RUo0amtGaVBRVkRFbG0xd0ta
L3kKUHBkS09jM2JoYkFQelFkRFRiaDhrL2VWbFBNUDFpT25JN1FmVU4rZ0ROWlk3bDh5MTBwS2t3
d1paeUN6TG1jUjRtdmFwNHh3U2I5Qwo3eWJ0aFZUeUg3ei9EdnpCbE10Um1KNWt6R253eHdOL0Y2
RytZc3gxMm9mNExvR2VVUHExMVJDb1hpS3R1MXFsZk1mamMyb3NYYjZHCkFKZkIzNkVObW1KOXJG
WFhoUk9VTkllQUY2SHhHUzJZNSsraGNUN0d6ZkNXYlcwVnFpRlFaYmdQYlZEcS9zeUFEeWczR1Bj
Rjczc20KUUxKbEZDSE5WTGJSNVMyQmhKT3RTYlBDdWMybDlDN05iMm1mb2R5RzFvZEJweEtxbW9L
TVpCTTAzMG1LcEFhNnYvTTRDcGR2S0JlRAp3Q3pNdFR3cjZnSFVoTlFTQlllcXBtVS9DT3BlS3Ay
UDZYQ1pjc0ZwZDk0REwxN2lxZVZ6V3BwU05NWkJqUnZSZ21heUNhTjFsekJ2CjAyZUtiK3lndEJi
OXR3b0RzZ2YwVFdVdHhrdzVEV2dsYkVtMHhjT1hYTnBVMlNLUXR2YWJJRmRaYzJ5R1pTcW1tVXZn
MzJIZ1g1VEgKTWFpYVBjMGR3VmxxckdpSVZzcVhuRFk4bkJjOGpYZTE3UE81K0FHRzNiQ2JVdm1S
RGpkTXhkS01DTGs5N01oOUZ4MDYwSDRMbXZkVAo3djdFRzV2S24yRG8ybjJ5cDBleVFzMUNoZ2l3
dFkyNUdiQVFXcDcvVkJrU2lKWm9Bc1lEclJoUElTUkRTUjIvRHRnTmR1aWQ4cTF0CnUwa0dYQzJU
Qmd3RHN0SE1uTzVGUERoR0VtZWI4MTVCZXpQU2tPNG13VGw3SnM0WmdlK21zSG4vTXFSbkoyaERM
bmpaNlcvVTk2ZU8KWDVSOHM1TjFFZlFkSk5WMW9hM29vbHJmb1QxRTgwbndFSy9GNEMxdTJKQnVi
VjJVUlVkNnZoVnNSNkdaNW95Y2gzZ2FiMlNRTElFOQpFYjI1bTZ5bUU5alBoU2FaNGJSRmV5TjRM
VGhKOHh6OElnRXg2MGk3S0ZWZDkvWkluK3MrWlhnNnVBeGpyaEYzSlhScmU5c1BxVkhLClU5OS9G
VTk1QVpzYUdpWHJ2ZEhHcUFYeTlHVGwrRE84L2RZMjFNZ2U0aUZlNHVtZ0syUlRRN28wQVhPdVZJ
bVRXOVdSd1Q0M0QzZzYKdUF5K3kvQ0JIVTZhbEg3N3VqWEZoeUcvUkZ2ZWhRRHZVaEF5WU5TS0Ru
UzV5VlhGVjdaZW96ZnE2c0xXZ2V3bW82RGdnQTdHYVZOZApNWWRjUHZBY2JUbGdjcHg4RGxTR0NL
STVHVHpFNnpnSHNvSUJjWnZXd2ZnczJGNXhwdmpBQXZmMFJxRXArVjVoeU1FcktUSXhycEpsCkhn
SHQ3dUxHNzhwNXg0NDZ4NUJZL3JPOHhNY21udlYvNllkOGRxZVo4Yk5MOXpjb0xzQnZqdmRoZUsx
SVE1SXRUbWFGS2tLWlEwNDEKVFZCZVUyVklJRnFpQ1JnUHNSZFBnV1NJQThmRGtTUG11V1ZDRmZQ
a2NNak5zN05yaFlHMFhodzBWdWVPL0tEN2tCTHRNL0JUV0tRTgpwUURTZzR1SU91U2pQR0NBYnZ6
ekREaUdTM0FCM0NwdCtkVnk4dVd3YS9uMklweTBMNXVaNGozQitEK2gvV1hRdm0yOGpLZEZzMDQz
CkJOSU1kUHR1TUJnZ2Jpb0tnOHk5bEpBZUJ2a01GUWJKVnhLNEtYcTk5MWxwOHcxNnlJQ1hmRElS
QnBWRXRBc1BnVWV4dFhjUkF1bVQKaUl2UkRBWDFLVzVTb0tnNHFyQTlYemhRRk0zK1FCRWtFTHg2
SmlZOTlZQ1dUbXVwam9pb1diRE9Gbkd5STNLNXluZnRDSjFUeTlTVgpPSkRHL29taW0xdTRaUXE3
MWtMcHEweE11MGtSQmpZVG12RW9RN3kyaXNDMmIrYUhmTjExZUcyZmJGaUUrQzIrUHkvWjhCSGYz
NGVoCmx1VXV4c3R1Mm51eXdjYkhRM2FnKzBZQnBHWU00VWpIMkJYenZIU005ZVlxNGdTMlF5L1NN
YjZiOXB5T01XcnhjRzE1cUNRUFFNc0EKSDRyODhJemJXZXhZY0FmUElsOFpNQmVsSjZ5OHJ5Y25k
cGV3R3JCa0lVdmZxOHFNdkk0UWlocDBEQXdHRjNpQ1BwTjArSmQrc2hWaApkNGF0RnJWei81SDM2
Tm4yZzNpOTdKS3RtVjVlV1k1eDBKSVpqa2ViWTlRQ1N4dHV3TDdjVmIweTN6YkgyTnpLdFUxVnRU
Ykg2TGF6Ci9kT3RUSDVVbTJQY1hrdTlYOW9jWTY4MnRxdTNPY2J0Tk5QRXU2UFI1aGliZXFuYmJZ
Nngxc1ZlYW0yT3NkWldtMk9zZFRHNDFqVjAKbTJQczEwNmJZK3pYU1kxcGM0eTFMcnhXaGVKdGpq
SE9GRXZQS1kvVSsyZVVOc2RJaW5mZ0g1cmFIR1AvbitMOGQ2OGxRdjVYbW1QVQpYek5HOTdmQi93
RlpiZzA1RUVOdU53QUFBQUJKUlU1RXJrSmdnZz09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396651</attachid>
            <date>2020-04-16 08:15:33 -0700</date>
            <delta_ts>2020-04-21 04:21:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200416181530.patch</filename>
            <type>text/plain</type>
            <size>146294</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEwOSBAQAorMjAyMC0wNC0xMyAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWlu
dC10aW1pbmcvI2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuCisgCisgICAgICAgIFdoZW4gdGhlIHBh
Z2UgdXBkYXRlcyB0aGUgcmVuZGVyaW5nLCBhbmQgdGhlIGRvY3VtZW50IGhhcyBjb250ZW50ZnVs
IHBhaW50YWJsZSBlbGVtZW50cywgY3JlYXRlIGEgZmlyc3QtY29udGVudGZ1bC1wYWludCBwZXJm
b3JtYW5jZSBlbnRyeS4KKworICAgICAgICBBZGRlZCB0aGUgbmVjZXNzYXJ5IElETHMsIHJ1bnRp
bWUgZmxhZywgYW5kIGNvbnRlbnRmdWxuZXNzIGNoZWNrcy4KKworICAgICAgICBVc2luZyB0aGUg
ZXhpc3RpbmcgUGFpbnRlZENvbnRlbnRSZXF1ZXN0IG1lY2hhbmlzbSBmb3Igd2Fsa2luZyB0aGUg
dHJlZSBvZiBub24tbGF5ZXIgZWxlbWVudHMuCisgICAgICAgIFRoZXJlIG1pZ2h0IGJlIHJhcmUg
ZWRnZSBjYXNlcyB3aGVyZSBjb21wdXRpbmcgY29udGVudGZ1bG5lc3Mgd291bGQgYmUgdG9vIGNv
c3RseSwgYW5kIEZDUCB3b3VsZCBiZSByZXBvcnRlZCBsYXRlLgorCisgICAgICAgIFRlc3RzOiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
YmFja2dyb3VuZC1zaXplLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Y2FudmFzLWNvbnRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKKyAgICAg
ICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUu
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1k
aXNwbGF5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCisg
ICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtdmlzaWJpbGl0eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC10ZXh0LWlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8u
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12
aWRlby1wb3N0ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9m
aXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3Jt
YW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sCisgICAgICAg
ICAgICAgICBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAorICAgICAgICAg
ICAgICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFp
bnRUaW1pbmcuaDogCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDoK
KyAgICAgICAgICAgICAgICBBZGQgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNl
LgorCisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChX
ZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFi
bGVkIGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgUGFpbnRUaW1pbmdFbmFibGVkIHJ1bnRp
bWUgZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVT
dHJpbmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNQYWludCBjb25zdCk6CisgICAgICAgICAgICAgICAg
QWRkIGxvZ2ljIGZvciByZXBvcnRpbmcvb2JzZXJ2aW5nIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQg
ZW50cmllcy4KKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKToK
KyAgICAgICAgICAgICAgICBBZGQgInBhaW50IiB0byBzdXBwb3J0ZWRFbnRyeVR5cGVzIHdoZW4g
aW4gZWxpZ2libGUgYnJvd3NpbmcgY29udGV4dC4KKworICAgICAgICAqIHJlbmRlcmluZy9Db250
ZW50ZnVsUGFpbnRDaGVja2VyLmg6IAorICAgICAgICAqIHJlbmRlcmluZy9Db250ZW50ZnVsUGFp
bnRDaGVja2VyLmNwcDoKKyAgICAgICAgICAgICAgICBBZGQgbG9naWMgZm9yIGNvbXB1dGluZyB3
aGV0aGVyIGVsZW1lbnRzIGFyZSBjb250ZW50ZnVsICYgcGFpbnRhYmxlLCBhcyBwZXIgc3BlYy4K
KworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOiAKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoUGFpbnRlZENvbnRlbnRSZXF1ZXN0KToKKyAg
ICAgICAgICAgICAgICBFeHRlbmRlZCBQYWludGVkQ29udGVudFJlcXVlc3QgdG8gcXVlcnkgZm9y
IGNvbnRlbnRmdWwtcGFpbnQgZWxpZ2liaWxpdHkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvRmlsbExheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGxMYXllcjo6aGFzTG9hZGVk
Q2FjaGVkSW1hZ2UgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGU6Omhhc1BhaW50YWJsZUNhY2hlZEJhY2tncm91bmRJbWFnZSBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAg
ICAgICAgICAgQWRkIGhlbHBlciBmb3IgZmluZGluZyBvdXQgaWYgYmFja2dyb3VuZCBjb250YWlu
cyBsb2FkZWQgY2FjaGVkIGltYWdlcy4KKworICAgICAgICAqIHBhZ2UvRG9jdW1lbnQuaDoKKyAg
ICAgICAgKiBwYWdlL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpy
ZXBvcnRQYWludFRpbWluZ0lmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpz
dXBwb3J0c1BhaW50VGltaW5nKToKKyAgICAgICAgICAgICAgICBNYXJrIEZDUCBvbmNlIGZvciBl
bGlnaWJsZSBkb2N1bWVudHMuCisKK2AgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICAgICAgICAg
TWFyayBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGFmdGVyIHJlbmRlcmluZywgYXMgaW4KKyAgICAg
ICAgICAgICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBh
cGlzLmh0bWwjdXBkYXRlLXRoZS1yZW5kZXJpbmcuIAorCiAyMDIwLTA0LTEzICBOb2FtIFJvc2Vu
dGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBCYWNrZ3JvdW5kIGltYWdlcyBzaG91
bGQgZmlndXJlIGludG8gdmlzdWFsbHkgbm9uIGVtcHR5IGhldXJpc3RpYwpJbmRleDogU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC05MzYsNiArOTM2LDcgQEAgc2V0KFdlYkNvcmVfTk9O
X1NWR19JRExfRklMRVMKICAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwK
ICAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsCiAgICAgcGFnZS9QZXJm
b3JtYW5jZU5hdmlnYXRpb24uaWRsCisgICAgcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlk
bAogICAgIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZv
cm1hbmNlU2VydmVyVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTkyNiw2
ICs5MjYsNyBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZv
cm1hbmNlT2JzZXJ2ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNl
cnZlckNhbGxiYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRp
bWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTIxMjEsNiArMjEyMSw3IEBAIHJlbmRlcmluZy9CcmVha0xpbmVz
LmNwcAogcmVuZGVyaW5nL0NTU0ZpbHRlci5jcHAKIHJlbmRlcmluZy9DbGlwUmVjdC5jcHAKIHJl
bmRlcmluZy9Db21wbGV4TGluZUxheW91dC5jcHAKK3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRD
aGVja2VyLmNwcAogcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmNwcAogcmVuZGVyaW5nL0VsbGlwc2lz
Qm94LmNwcAogcmVuZGVyaW5nL0V2ZW50UmVnaW9uLmNwcApAQCAtMzE5OSw2ICszMjAwLDcgQEAg
SlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCiBK
U1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVu
dHJ5TGlzdC5jcHAKK0pTUGVyZm9ybWFuY2VQYWludFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuY3BwCiBKU1BlcmZv
cm1hbmNlVGltaW5nLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00
MDUzLDYgKzQwNTMsNyBAQAogCQlDOUY4N0NGRTFCMjhGNDBFMDA5NzlCODMgLyogTWVkaWFTZXNz
aW9uRXZlbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDOUY4N0NGRDFCMjhFNUY2MDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0EzQkY2N0UxMEQ5
OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xs
QW5pbWF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlDQTZDMTUzMDIyMEI5OENDMDA1NUNCRkMgLyogSlNWYWx1ZUluV3JhcHBlZE9iamVjdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMxQUUzQjgx
RkI4MEVBRTAwRjVFRkIyIC8qIEpTVmFsdWVJbldyYXBwZWRPYmplY3QuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDQTdFOUI0OTI0MzYxREM1MDA0
RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0E3RTlCNDcyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRl
bnRmdWxQYWludENoZWNrZXIuaCAqLzsgfTsKIAkJQ0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8q
IENTU0FzcGVjdFJhdGlvVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENBRTlGOTBFMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1Zh
bHVlLmggKi87IH07CiAJCUNCMzhGRDUyMUNDRjkzOTQwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNl
RW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENC
MzhGRDRFMUNDRjkzN0UwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCAqLzsgfTsKIAkJ
Q0IzOEZENUIxQ0QyMzI1QjAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0IzOEZENTkx
Q0QyMzE0NTAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovOyB9OwpA
QCAtMTM4MTYsNiArMTM4MTcsOCBAQAogCQlDQTA5MUQ4NjIzQ0Y5MDc4MDBBRDQzNDYgLyogU3R5
bGVJbWFnZVNldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUltYWdlU2V0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EwOTFEODkyM0NGOTA4ODAwQUQ0MzQ2IC8qIFN0
eWxlSW1hZ2VTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVJbWFnZVNldC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDQTE2MzVEQzIwNzJFNzY5MDBFN0QyQ0UgLyogUmVmZXJyZXJQ
b2xpY3kuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmZXJyZXJQ
b2xpY3kuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNENTI0MDdENjQw
MDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJm
b3JtYW5jZVBhaW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkz
M0Q4MjQwN0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1h
dG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1h
dG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAw
RTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNjcm9sbEFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNTJC
QUU1MjNEMEFGMTYwMERFMEI4NCAvKiBTdHlsZUN1cnNvckltYWdlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFN0eWxlQ3Vyc29ySW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTM4MjUsNiArMTM4MjgsOCBAQAogCQlDQTZDMTUyRjIyMEI0QTU1MDA1NUNCRkMgLyogSlNJ
REJSZXF1ZXN0Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTSURCUmVxdWVzdEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNB
NkMxNTM3MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvckN1c3RvbS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0lEQkN1cnNvckN1c3RvbS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNkMxNTM4MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lE
QkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0lEQkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUNBN0U5QjQ3MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRD
aGVja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRmdWxQYWlu
dENoZWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0E3RTlCNDgyNDM2MURD
NTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBRTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3Bl
Y3RSYXRpb1ZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENT
U0FzcGVjdFJhdGlvVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQUU5
RjkwRTE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5j
ZUVudHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1h
bmNlRW50cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA5NTksNiArMjA5
NjQsOCBAQAogCQkJCUE1QTk5MzNBMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2Vy
dmVyRW50cnlMaXN0LmNwcCAqLywKIAkJCQlBNUE5OTMzQjFFMzdGQUZEMDA1QjVFNEQgLyogUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oICovLAogCQkJCUE1QTk5MzNDMUUzN0ZBRkQwMDVC
NUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCAqLywKKwkJCQlDQTE5MzNE
NTI0MDdENjQwMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovLAorCQkJCUNB
MTkzM0Q4MjQwN0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLywK
IAkJCQk4NjUxMkVEQjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5jcHAgKi8sCiAJCQkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaCAqLywKIAkJCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgKi8sCkBAIC0yODA0Miw2ICsyODA0OSw4IEBACiAJCQkJ
QkNERDQ1NEQxMjM2Qzk1QzAwOUE3OTg1IC8qIENvbHVtbkluZm8uaCAqLywKIAkJCQlCQ0VBNDgx
MzA5N0Q5MzAyMDA5NEM5RTQgLyogQ29tcGxleExpbmVMYXlvdXQuY3BwICovLAogCQkJCUU0QTFB
Qzc4MjJGQUZENTAwMDE3Qjc1QiAvKiBDb21wbGV4TGluZUxheW91dC5oICovLAorCQkJCUNBN0U5
QjQ4MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcCAqLywKKwkJ
CQlDQTdFOUI0NzI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oICov
LAogCQkJCTkzOTJGMTRGMEFEMTg2MjMwMDY5MUJENCAvKiBDb3VudGVyTm9kZS5jcHAgKi8sCiAJ
CQkJOTM5MkYxNEIwQUQxODYxQjAwNjkxQkQ0IC8qIENvdW50ZXJOb2RlLmggKi8sCiAJCQkJMEY1
M0ZCODEyMTNCMUJCODAwQzQwRDM0IC8qIENTU0ZpbHRlci5jcHAgKi8sCkBAIC0yOTc0Niw2ICsy
OTc1NSw3IEBACiAJCQkJQTE0OTc4NkYxQUJBRjMzODAwQ0VGN0U0IC8qIENvbnRlbnRGaWx0ZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTVDRENEREM2MjNEODBBMUMwMEJBMzRBMSAvKiBDb250ZW50
RmlsdGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQwOTBGRDFBQTUxRTQ4MDA5MTE5
MUEgLyogQ29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlD
QTdFOUI0OTI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNUM5QzJEQjUyMjQxQTY3QjAwOTk2QjBCIC8qIENvbnRlbnRSdWxlTGlz
dFJlc3VsdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QzQ3MURDMTJGOTI1QkQwMDg2MzU0QiAv
KiBDb250ZW50U2VjdXJpdHlQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFNUZBMjU1MjA5
RTQ4QzUwMDUxRDcwMCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJz
ICovLApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5
Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1Bl
cmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNSw5ICszNSwxMSBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1
ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUu
aCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1Bl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIK
ICNpbmNsdWRlICJQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBh
aW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAK
QEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3
bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1h
bmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVy
Zm9ybWFuY2VQYWludFRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAg
ICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1
cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3Qs
IFdURk1vdmUoZW50cnkpKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUJ1aWx0aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xNzksNiArMTc5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1h
bmNlTWVhc3VyZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNy
byhQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQ
YWludFRpbWluZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAg
ICBtYWNybyhQZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVu
dCkgXApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0
OCw3IEBACiAjaW5jbHVkZSAiQ29tcG9zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkNvbnN0YW50
UHJvcGVydHlNYXAuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIKKyNpbmNs
dWRlICJDb250ZW50ZnVsUGFpbnRDaGVja2VyLmgiCiAjaW5jbHVkZSAiQ29va2llSmFyLmgiCiAj
aW5jbHVkZSAiQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaCIKICNpbmNsdWRlICJDdXN0b21F
bGVtZW50UmVnaXN0cnkuaCIKQEAgLTE0OCw2ICsxNDksNyBAQAogI2luY2x1ZGUgIlBhZ2VHcm91
cC5oIgogI2luY2x1ZGUgIlBhZ2VUcmFuc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQYWludFdv
cmtsZXRHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1Mb2NhbGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIu
aCIKICNpbmNsdWRlICJQbGF0Zm9ybVNjcmVlbi5oIgpAQCAtMzE0MSw2ICszMTQzLDM0IEBAIGJv
b2wgRG9jdW1lbnQ6OmlzTGF5b3V0VGltZXJBY3RpdmUoKSBjb24KICAgICByZXR1cm4gdmlldygp
ICYmIHZpZXcoKS0+bGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0UGVuZGluZygpOwogfQogCitib29s
IERvY3VtZW50OjpzdXBwb3J0c1BhaW50VGltaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQo
KSAmJiBzZWN1cml0eU9yaWdpbigpLmNhbkFjY2Vzcyh0b3BPcmlnaW4oKSk7Cit9CisKKy8vIGh0
dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI3JlZi1mb3ItbWFyay1wYWludC10aW1p
bmcKK3ZvaWQgRG9jdW1lbnQ6OnJlcG9ydFBhaW50VGltaW5nSWZOZWVkZWQoKQoreworICAgIGlm
IChtX2RpZFJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KQorICAgICAgICByZXR1cm47CisKKyAg
ICBpZiAoIXN1cHBvcnRzUGFpbnRUaW1pbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYg
KCFkb21XaW5kb3coKSB8fCAhdmlldygpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBUbyBt
YWtlIHN1cmUgd2UgZG9uJ3QgcmVwb3J0IHBhaW50IHdoaWxlIHRoZSBsYXllciB0cmVlIGlzIHN0
aWxsIGZyb3plbi4KKyAgICBpZiAoIXZpZXcoKS0+aXNWaXN1YWxseU5vbkVtcHR5KCkgfHwgdmll
dygpLT5uZWVkc0xheW91dCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIUNvbnRlbnRm
dWxQYWludENoZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRmdWxQYWludCgqdmlldygpKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCkucmVwb3J0Rmly
c3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICBtX2RpZFJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50
ID0gdHJ1ZTsKK30KKwogRXhjZXB0aW9uT3I8dm9pZD4gRG9jdW1lbnQ6OndyaXRlKERvY3VtZW50
KiByZXNwb25zaWJsZURvY3VtZW50LCBTZWdtZW50ZWRTdHJpbmcmJiB0ZXh0KQogewogICAgIGlm
IChtX2FjdGl2ZVBhcnNlcldhc0Fib3J0ZWQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2
aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEwMzUsNiArMTAzNSw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2hvdWxkRGVm
ZXJBc3luY2hyb25vdXNTY3JpcHRzVW50aWxQYXJzaW5nRmluaXNoZXMoKSBjb25zdDsKIAorICAg
IGJvb2wgc3VwcG9ydHNQYWludFRpbWluZygpIGNvbnN0OworCiAjaWYgRU5BQkxFKFhTTFQpCiAg
ICAgdm9pZCBzY2hlZHVsZVRvQXBwbHlYU0xUcmFuc2Zvcm1zKCk7CiAgICAgdm9pZCBhcHBseVBl
bmRpbmdYU0xUcmFuc2Zvcm1zTm93SWZTY2hlZHVsZWQoKTsKQEAgLTE1NzUsNiArMTU3Nyw3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgc2V0SGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQo
KSB7IG1faGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQgPSB0cnVlOyB9CiAgICAgYm9v
bCBoYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFz
VmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQ7IH0KKyAgICB2b2lkIHJlcG9ydFBhaW50VGlt
aW5nSWZOZWVkZWQoKTsKIAogcHJvdGVjdGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9uRmxhZ3Mg
eyBTeW50aGVzaXplZCA9IDEsIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEgfTsKQEAg
LTIwNDEsNiArMjA0NCw5IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fYXJlRGV2aWNlTW90aW9u
QW5kT3JpZW50YXRpb25VcGRhdGVzU3VzcGVuZGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fdXNl
ckRpZEludGVyYWN0V2l0aFBhZ2UgeyBmYWxzZSB9OworCisgICAgYm9vbCBtX2RpZFJlcG9ydEZp
cnN0Q29udGVudGZ1bFBhaW50IHsgZmFsc2UgfTsKKwogI2lmIEFTU0VSVF9FTkFCTEVECiAgICAg
Ym9vbCBtX2luSGl0VGVzdGluZyB7IGZhbHNlIH07CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTM3Niw2ICsxMzc2LDEwIEBAIHZvaWQgUGFnZTo6ZG9BZnRlclVw
ZGF0ZVJlbmRlcmluZygpCiAgICAgLy8gbGF5b3V0IHRvIGJlIHVwLXRvLWRhdGUuIEl0IHNob3Vs
ZCBub3QgcnVuIHNjcmlwdCwgdHJpZ2dlciBsYXlvdXQsIG9yIGRpcnR5IGxheW91dC4KIAogICAg
IGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CisgICAgICAgIGRvY3Vt
ZW50LnJlcG9ydFBhaW50VGltaW5nSWZOZWVkZWQoKTsKKyAgICB9KTsKKworICAgIGZvckVhY2hE
b2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CiAgICAgICAgIGRvY3VtZW50LnVwZGF0
ZUhpZ2hsaWdodFBvc2l0aW9ucygpOwogICAgIH0pOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZUVudHJ5LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgi
CiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNlcnZlci5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNl
UGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCiAj
aW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVVzZXJU
aW1pbmcuaCIKQEAgLTEyNCw2ICsxMjUsOSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50
cnk+PiBQZXJmb3JtCiAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+
Z2V0TWVhc3VyZXMoKSk7CiAgICAgfQogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQp
CisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworCiAgICAg
c3RkOjpzb3J0KGVudHJpZXMuYmVnaW4oKSwgZW50cmllcy5lbmQoKSwgUGVyZm9ybWFuY2VFbnRy
eTo6c3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKTsKICAgICByZXR1cm4gZW50cmllczsKIH0KQEAg
LTEzNSw2ICsxMzksOSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3Jt
CiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInJlc291
cmNlIikpCiAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVzb3VyY2VUaW1pbmdCdWZm
ZXIpOwogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYgZXF1YWxMZXR0ZXJzSWdu
b3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkKKyAgICAgICAgZW50cmllcy5hcHBl
bmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAg
ICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJr
IikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1h
cmtzKCkpOwpAQCAtMTU3LDYgKzE2NCw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRy
eT4+IFBlcmZvcm0KICAgICAgICAgfQogICAgIH0KIAorICAgIGlmIChtX2ZpcnN0Q29udGVudGZ1
bFBhaW50ICYmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkgJiYgbmFtZSA9PSAiZmlyc3QtY29udGVudGZ1bC1w
YWludCIpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOwor
CiAgICAgaWYgKG1fdXNlclRpbWluZykgewogICAgICAgICBpZiAoZW50cnlUeXBlLmlzTnVsbCgp
IHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkKICAg
ICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MobmFt
ZSkpOwpAQCAtMTgwLDYgKzE5MCwxMyBAQCB2b2lkIFBlcmZvcm1hbmNlOjpzZXRSZXNvdXJjZVRp
bWluZ0J1ZmZlCiAgICAgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlckZ1bGxGbGFnID0gZmFsc2U7CiB9
CiAKK3ZvaWQgUGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCkKK3sKKyAg
ICBBU1NFUlQoIW1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworICAgIG1fZmlyc3RDb250ZW50ZnVs
UGFpbnQgPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nOjpjcmVhdGVGaXJzdENvbnRlbnRmdWxQYWlu
dChub3coKSk7CisgICAgcXVldWVFbnRyeSgqbV9maXJzdENvbnRlbnRmdWxQYWludCk7Cit9CisK
IHZvaWQgUGVyZm9ybWFuY2U6OmFkZFJlc291cmNlVGltaW5nKFJlc291cmNlVGltaW5nJiYgcmVz
b3VyY2VUaW1pbmcpCiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1
LDcgQEAgY2xhc3MgTG9hZFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNlRW50cnk7CiBjbGFzcyBQ
ZXJmb3JtYW5jZU5hdmlnYXRpb247CiBjbGFzcyBQZXJmb3JtYW5jZU9ic2VydmVyOworY2xhc3Mg
UGVyZm9ybWFuY2VQYWludFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNlVGltaW5nOwogY2xhc3Mg
UmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291cmNlVGltaW5nOwpAQCAtNzcsNiArNzgsOCBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZFJlc291cmNlVGltaW5nKFJlc291cmNlVGltaW5nJiYp
OwogCisgICAgdm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworCiAgICAgdm9pZCBy
ZW1vdmVBbGxPYnNlcnZlcnMoKTsKICAgICB2b2lkIHJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZl
cihQZXJmb3JtYW5jZU9ic2VydmVyJik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyUGVyZm9ybWFuY2VP
YnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CkBAIC0xMjEsNiArMTI0LDcgQEAgcHJpdmF0
ZToKIAogICAgIE1vbm90b25pY1RpbWUgbV90aW1lT3JpZ2luOwogCisgICAgUmVmUHRyPFBlcmZv
cm1hbmNlUGFpbnRUaW1pbmc+IG1fZmlyc3RDb250ZW50ZnVsUGFpbnQ7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPFVzZXJUaW1pbmc+IG1fdXNlclRpbWluZzsKIAogICAgIEdlbmVyaWNUYXNrUXVldWU8
U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCShyZXZpc2lvbiAy
NjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NCw2ICs2NCwxMSBAQCBPcHRpb25hbDxQZXJmb3JtYW5jZUVudHJ5OjpU
eXBlPiBQZXJmb3JtCiAgICAgICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlwZTo6UmVz
b3VyY2UpOwogICAgIH0KIAorICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnBhaW50VGltaW5nRW5hYmxlZCgpKSB7CisgICAgICAgIGlmIChlbnRyeVR5cGUg
PT0gInBhaW50IikKKyAgICAgICAgICAgIHJldHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpQYWlu
dCk7CisgICAgfQorCiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KIApJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCwx
MCArNDgsMTEgQEAgcHVibGljOgogICAgIGRvdWJsZSBkdXJhdGlvbigpIGNvbnN0IHsgcmV0dXJu
IG1fZHVyYXRpb247IH0KIAogICAgIGVudW0gY2xhc3MgVHlwZSB7Ci0gICAgICAgIE5hdmlnYXRp
b24gPSAxIDw8IDAsCi0gICAgICAgIE1hcmsgPSAxIDw8IDEsCi0gICAgICAgIE1lYXN1cmUgPSAx
IDw8IDIsCi0gICAgICAgIFJlc291cmNlID0gMSA8PCAzLAorICAgICAgICBOYXZpZ2F0aW9uICA9
IDEgPDwgMCwKKyAgICAgICAgTWFyayAgICAgICAgPSAxIDw8IDEsCisgICAgICAgIE1lYXN1cmUg
ICAgID0gMSA8PCAyLAorICAgICAgICBSZXNvdXJjZSAgICA9IDEgPDwgMywKKyAgICAgICAgUGFp
bnQgICAgICAgPSAxIDw8IDQKICAgICB9OwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25z
dCA9IDA7CkBAIC02Miw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzUmVzb3VyY2UoKSBj
b25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UmVzb3VyY2U7IH0KICAgICBib29sIGlzTWFy
aygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYXJrOyB9CiAgICAgYm9vbCBpc01l
YXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWVhc3VyZTsgfQorICAgIGJv
b2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpQYWludDsgfQogCiAg
ICAgc3RhdGljIGJvb2wgc3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKGNvbnN0IFJlZlB0cjxQZXJm
b3JtYW5jZUVudHJ5PiYgYSwgY29uc3QgUmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+JiBiKQogICAg
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAko
cmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2Vy
dmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDE1ICsxMTMsMjEgQEAgdm9pZCBQZXJmb3Jt
YW5jZU9ic2VydmVyOjpkZWxpdmVyKCkKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZEZpcmVPYnNlcnZlckNhbGxiYWNrKCpjb250ZXh0KTsKIH0KIAotVmVjdG9yPFN0cmluZz4gUGVy
Zm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcygpCitWZWN0b3I8U3RyaW5nPiBQ
ZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIHsKKyAgICBWZWN0b3I8U3RyaW5nPiBlbnRy
eVR5cGVzID0gewogICAgICAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NDM2
Mz4gQWRkIHN1cHBvcnQgZm9yIE5hdmlnYXRpb24gVGltaW5nIExldmVsIDIKICAgICAgICAgLy8g
Im5hdmlnYXRpb24iX3MsCiAgICAgICAgICJtYXJrIl9zLAotICAgICAgICAibWVhc3VyZSJfcywK
LSAgICAgICAgInJlc291cmNlIl9zCisgICAgICAgICJtZWFzdXJlIl9zCiAgICAgfTsKKworICAg
IGlmIChpczxEb2N1bWVudD4oY29udGV4dCkgJiYgZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQp
LnN1cHBvcnRzUGFpbnRUaW1pbmcoKSkKKyAgICAgICAgZW50cnlUeXBlcy5hcHBlbmQoInBhaW50
Il9zKTsKKworICAgIGVudHJ5VHlwZXMuYXBwZW5kKCJyZXNvdXJjZSJfcyk7CisKKyAgICByZXR1
cm4gZW50cnlUeXBlczsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgJKHJldmlzaW9uIDI2MDA0NSkKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCSh3b3JraW5nIGNvcHkp
CkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcihjb250ZXh0LCBXVEZNb3ZlKGNhbGxiYWNrKSkpOwogICAgIH0K
IAotICAgIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzKCk7CisgICAg
c3RhdGljIFZlY3RvcjxTdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYpOwogCiAgICAgdm9pZCBkaXNhc3NvY2lhdGUoKTsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCShyZXZpc2lvbiAyNjAwNDUpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zNiw3ICszNiw3IEBACiBdIGludGVyZmFjZSBQZXJmb3JtYW5jZU9ic2VydmVyIHsK
ICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgb2JzZXJ2ZShQZXJmb3JtYW5jZU9ic2VydmVy
SW5pdCBvcHRpb25zKTsKICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKLSAgICBzdGF0aWMgcmVhZG9u
bHkgYXR0cmlidXRlIEZyb3plbkFycmF5PERPTVN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlczsK
KyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gc3RhdGljIHJlYWRvbmx5IGF0
dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXM7CiB9Owog
CiBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IHsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEZv
dW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUVu
dHJ5LmgiCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZyBmaW5hbCA6IHB1YmxpYyBQZXJm
b3JtYW5jZUVudHJ5IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlUGFpbnRU
aW1pbmc+IGNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KERPTUhpZ2hSZXNUaW1lU3RhbXAgdGlt
ZVN0YW1wKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VQ
YWludFRpbWluZygiZmlyc3QtY29udGVudGZ1bC1wYWludCJfcywgdGltZVN0YW1wKSk7CisgICAg
fQorCitwcml2YXRlOgorICAgIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoY29uc3QgU3RyaW5nJiBu
YW1lLCBET01IaWdoUmVzVGltZVN0YW1wIHRpbWVTdGFtcCkKKyAgICAgICAgOiBQZXJmb3JtYW5j
ZUVudHJ5KG5hbWUsIHRpbWVTdGFtcCwgdGltZVN0YW1wKQorICAgIHsKKyAgICB9CisKKyAgICBB
U0NJSUxpdGVyYWwgZW50cnlUeXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gInBhaW50Il9zOyB9
CisgICAgVHlwZSB0eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gVHlwZTo6UGFpbnQ7IH0KKwor
ICAgIH5QZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgPSBkZWZhdWx0OworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlBl
cmZvcm1hbmNlUGFpbnRUaW1pbmcpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNv
cmU6OlBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KSB7IHJldHVybiBlbnRyeS5pc1BhaW50KCk7IH0K
K1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEZvdW5k
YXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGFpbnQtdGlt
aW5nLworCit0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOworCitbCisgICAgRW5h
YmxlZEF0UnVudGltZT1QYWludFRpbWluZywKKyAgICBFeHBvc2VkPShXaW5kb3cpLAorXSBpbnRl
cmZhY2UgUGVyZm9ybWFuY2VQYWludFRpbWluZyA6IFBlcmZvcm1hbmNlRW50cnkgeworfTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCShyZXZp
c2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXRVc2VyVGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzVXNlclRpbWluZ0VuYWJs
ZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHVzZXJUaW1pbmdFbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc1VzZXJUaW1pbmdFbmFibGVkOyB9CiAKKyAgICB2b2lkIHNldFBhaW50VGltaW5n
RW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzUGFpbnRUaW1pbmdFbmFibGVkID0gaXNFbmFi
bGVkOyB9CisgICAgYm9vbCBwYWludFRpbWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lz
UGFpbnRUaW1pbmdFbmFibGVkOyB9CisKICAgICBib29sIHBlcmZvcm1hbmNlVGltZWxpbmVFbmFi
bGVkKCkgY29uc3QgeyByZXR1cm4gcmVzb3VyY2VUaW1pbmdFbmFibGVkKCkgfHwgdXNlclRpbWlu
Z0VuYWJsZWQoKTsgfQogCiAgICAgdm9pZCBzZXRTaGFkb3dET01FbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1faXNTaGFkb3dET01FbmFibGVkID0gaXNFbmFibGVkOyB9CkBAIC00MjQsNiArNDI3
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNMaW5rUHJlbG9hZEVuYWJsZWQgeyB0cnVlIH07
CiAgICAgYm9vbCBtX2lzTGlua1ByZWZldGNoRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X2lzTWVkaWFQcmVsb2FkaW5nRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzUGFpbnRU
aW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNSZXNvdXJjZVRpbWluZ0VuYWJs
ZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1VzZXJUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsK
ICAgICBib29sIG1faXNJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCB7IGZhbHNlIH07
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWlu
dENoZWNrZXIuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9D
b250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyNyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBXaWtpTWVkaWEgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
KyAqCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ29udGVudGZ1bFBhaW50
Q2hlY2tlci5oIgorCisjaW5jbHVkZSAiSFRNTENhbnZhc0VsZW1lbnQuaCIKKyNpbmNsdWRlICJM
aW5lTGF5b3V0VHJhdmVyc2FsLmgiCisjaW5jbHVkZSAiUmVuZGVyQW5jZXN0b3JJdGVyYXRvci5o
IgorI2luY2x1ZGUgIlJlbmRlckNoaWxkSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJSZW5kZXJEZXNj
ZW5kYW50SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCisjaW5jbHVkZSAi
UmVuZGVySFRNTENhbnZhcy5oIgorI2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCisjaW5jbHVkZSAi
UmVuZGVyU1ZHUm9vdC5oIgorI2luY2x1ZGUgIlJlbmRlclRleHQuaCIKKyNpbmNsdWRlICJSZW5k
ZXJWaWRlby5oIgorI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitzdGF0aWMgYm9vbCBjaGVja0NvbnRlbnRmdWxQYWludEZvckxheWVyT3JEZXNjZW5kYW50
cyhSZW5kZXJMYXllciYgbGF5ZXIsIFJlbmRlckxheWVyKiByb290TGF5ZXIsIGNvbnN0IEludFJl
Y3QmIGRvY3VtZW50UmVjdCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHBhcmVudFRyYW5z
Zm9ybSA9IFRyYW5zZm9ybWF0aW9uTWF0cml4KCkpCit7CisgICAgaWYgKCFsYXllci5yZW5kZXJl
cigpLnN0eWxlKCkub3BhY2l0eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBUcmFu
c2Zvcm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm0gPSBwYXJlbnRUcmFuc2Zvcm0gKiBsYXllci5jdXJy
ZW50VHJhbnNmb3JtKCk7CisgICAgCisgICAgYXV0byBpc0xheWVyQ29udGVudGZ1bCA9IFsmXSgp
IHsKKyAgICAgICAgbGF5ZXIudXBkYXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKCk7CisgICAg
ICAgIFJlbmRlckxheWVyOjpQYWludGVkQ29udGVudFJlcXVlc3QgcmVxdWVzdDsKKyAgICAgICAg
cmVxdWVzdC5xdWFsaWZpZXNBc0NvbnRlbnRmdWwgPSBSZXF1ZXN0U3RhdGU6OlVua25vd247Cisg
ICAgICAgIC8vIElmIHdlIGhhdmUgdG9vIG1hbnkgZWxlbWVudHMgYW5kIHdlIHN0aWxsIGRpZG4n
dCBmaWd1cmUgb3V0IGNvbnRlbnRmdWxuZXNzLCBhc3N1bWUgY29udGVudGZ1bG5lc3MuCisgICAg
ICAgIHJldHVybiBsYXllci5pc1Zpc3VhbGx5Tm9uRW1wdHkoJnJlcXVlc3QpICYmIHJlcXVlc3Qu
cHJvYmFibHlRdWFsaWZpZXNBc0NvbnRlbnRmdWwoKTsKKyAgICB9OworCisgICAgYXV0byBvdmVy
bGFwc1dpdGhEb2N1bWVudFJlY3QgPSBbJl0geworICAgICAgICAvLyBUcnkgdG8ga2VlcCB0aGUg
Ym91bmRzIGNoZWNrIGFzIHNpbXBsZSBhcyBwb3NzaWJsZSwgdG8gYXZvaWQgb3ZlcmhlYWQuCisg
ICAgICAgIGNvbnN0IGF1dG8gbGF5ZXJCb3VuZHNGbGFncyA9IE9wdGlvblNldDxSZW5kZXJMYXll
cjo6Q2FsY3VsYXRlTGF5ZXJCb3VuZHNGbGFnPiB7CisgICAgICAgICAgICBSZW5kZXJMYXllcjo6
Q2FsY3VsYXRlTGF5ZXJCb3VuZHNGbGFnOjpFeGNsdWRlSGlkZGVuRGVzY2VuZGFudHMsCisgICAg
ICAgICAgICBSZW5kZXJMYXllcjo6Q2FsY3VsYXRlTGF5ZXJCb3VuZHNGbGFnOjpEb250Q29uc3Ry
YWluRm9yTWFzaywKKyAgICAgICAgICAgIFJlbmRlckxheWVyOjpDYWxjdWxhdGVMYXllckJvdW5k
c0ZsYWc6OlVzZUZyYWdtZW50Qm94ZXNFeGNsdWRpbmdDb21wb3NpdGluZworICAgICAgICB9Owor
CisgICAgICAgIGNvbnN0IGZsb2F0IHNpemVQYWludGFiaWxpdHlUaHJlc2hvbGQgPSAwLjA1Owor
CisgICAgICAgIExheW91dFJlY3QgYm91bmRzID0gdHJhbnNmb3JtLm1hcFJlY3QobGF5ZXIuYm91
bmRpbmdCb3gocm9vdExheWVyLCBsYXllci5vZmZzZXRGcm9tQW5jZXN0b3Iocm9vdExheWVyKSwg
bGF5ZXJCb3VuZHNGbGFncykpOworICAgICAgICBpZiAoYm91bmRzLndpZHRoKCkgPCBzaXplUGFp
bnRhYmlsaXR5VGhyZXNob2xkIHx8IGJvdW5kcy5oZWlnaHQoKSA8IHNpemVQYWludGFiaWxpdHlU
aHJlc2hvbGQpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBib3Vu
ZHMuaW50ZXJzZWN0cyhkb2N1bWVudFJlY3QpOworICAgIH07CisKKyAgICBpZiAoaXNMYXllckNv
bnRlbnRmdWwoKSAmJiBvdmVybGFwc1dpdGhEb2N1bWVudFJlY3QoKSkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICBmb3IgKFJlbmRlckxheWVyKiBjaGlsZCA9IGxheWVyLmZpcnN0Q2hpbGQo
KTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKKyAgICAgICAgaWYgKGNo
ZWNrQ29udGVudGZ1bFBhaW50Rm9yTGF5ZXJPckRlc2NlbmRhbnRzKCpjaGlsZCwgcm9vdExheWVy
LCBkb2N1bWVudFJlY3QsIHRyYW5zZm9ybSkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisgICAgCitib29sIENvbnRlbnRmdWxQYWludENo
ZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRmdWxQYWludChGcmFtZVZpZXcmIGZyYW1lVmlldykK
K3sKKyAgICBBU1NFUlQoIWZyYW1lVmlldy5uZWVkc0xheW91dCgpKTsKKworICAgIFJlbmRlclZp
ZXcqIHZpZXcgPSBmcmFtZVZpZXcucmVuZGVyVmlldygpOworICAgIEFTU0VSVCh2aWV3KTsKKwor
ICAgIGF1dG8gZG9jdW1lbnRSZWN0ID0gdmlldy0+ZG9jdW1lbnRSZWN0KCk7CisgICAgUmVuZGVy
TGF5ZXIqIHJvb3RMYXllciA9IHZpZXctPmxheWVyKCk7CisKKyAgICBBU1NFUlQocm9vdExheWVy
KTsKKworICAgIHJldHVybiBjaGVja0NvbnRlbnRmdWxQYWludEZvckxheWVyT3JEZXNjZW5kYW50
cygqcm9vdExheWVyLCByb290TGF5ZXIsIGRvY3VtZW50UmVjdCk7Cit9CisKKy8vIGh0dHBzOi8v
dzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI2NvbnRlbnRmdWwgCitib29sIENvbnRlbnRmdWxQ
YWludENoZWNrZXI6OnJlcGxhY2VkUmVuZGVyZXJRdWFsaWZpZXNBc0NvbnRlbnRmdWwoY29uc3Qg
UmVuZGVyUmVwbGFjZWQmIHJlcGxhY2VkKQoreworICAgIGlmIChpczxSZW5kZXJIVE1MQ2FudmFz
PihyZXBsYWNlZCkpCisgICAgICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJIVE1MQ2FudmFzPihy
ZXBsYWNlZCkuY2FudmFzRWxlbWVudCgpLnJlbmRlcmluZ0NvbnRleHQoKTsKKworICAgIGlmIChp
czxSZW5kZXJWaWRlbz4ocmVwbGFjZWQpKSB7CisgICAgICAgIGNvbnN0IGF1dG8mIHZpZGVvID0g
ZG93bmNhc3Q8UmVuZGVyVmlkZW8+KHJlcGxhY2VkKTsKKyAgICAgICAgaWYgKCF2aWRlby52aWRl
b0VsZW1lbnQoKS5zaG91bGREaXNwbGF5UG9zdGVySW1hZ2UoKSkKKyAgICAgICAgICAgIHJldHVy
biB2aWRlby52aWRlb0VsZW1lbnQoKS5yZWFkeVN0YXRlKCkgPiBIVE1MTWVkaWFFbGVtZW50RW51
bXM6OkhBVkVfTUVUQURBVEE7CisgICAgfQorCisgICAgaWYgKGlzPFJlbmRlckltYWdlPihyZXBs
YWNlZCkpIHsKKyAgICAgICAgY29uc3QgYXV0byYgaW1hZ2UgPSBkb3duY2FzdDxSZW5kZXJJbWFn
ZT4ocmVwbGFjZWQpOworICAgICAgICBhdXRvKiBjYWNoZWRJbWFnZSA9IGltYWdlLmltYWdlUmVz
b3VyY2UoKS5jYWNoZWRJbWFnZSgpOworICAgICAgICByZXR1cm4gY2FjaGVkSW1hZ2UgJiYgY2Fj
aGVkSW1hZ2UtPmNhblJlbmRlcigmaW1hZ2UsIDEpOworICAgIH0KKworICAgIGlmIChpczxSZW5k
ZXJTVkdSb290PihyZXBsYWNlZCkpIHsKKyAgICAgICAgZm9yIChhdXRvJiBjdXJyZW50IDogY2hp
bGRyZW5PZlR5cGU8UmVuZGVyT2JqZWN0PihyZXBsYWNlZCkpIHsKKyAgICAgICAgICAgIGlmICgh
Y3VycmVudC5pc1NWR0hpZGRlbkNvbnRhaW5lcigpKQorICAgICAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgfQorCisgICAg
cmV0dXJuIGZhbHNlOworfQorCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29u
dGVudGZ1bFBhaW50Q2hlY2tlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRpYSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgorICoKKyovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIEZyYW1lVmlldzsKK2NsYXNzIFJlbmRlclJlcGxhY2VkOworCitjbGFzcyBD
b250ZW50ZnVsUGFpbnRDaGVja2VyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgYm9vbCBxdWFsaWZp
ZXNGb3JDb250ZW50ZnVsUGFpbnQoRnJhbWVWaWV3Jik7CisgICAgc3RhdGljIGJvb2wgcmVwbGFj
ZWRSZW5kZXJlclF1YWxpZmllc0FzQ29udGVudGZ1bChjb25zdCBSZW5kZXJSZXBsYWNlZCYpOwor
fTsKKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCShy
ZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiQ1NTRmlsdGVy
LmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgor
I2luY2x1ZGUgIkNvbnRlbnRmdWxQYWludENoZWNrZXIuaCIKICNpbmNsdWRlICJEZWJ1Z1BhZ2VP
dmVybGF5cy5oIgogI2luY2x1ZGUgIkRlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncy5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCkBAIC02NTU1LDYgKzY1NTYsOCBAQCBzdGF0aWMgdm9pZCBkZXRlcm1p
bmVOb25MYXllckRlc2NlbmRhbnRzCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAor
ICAgICAgICBib29sIG1heVJlcG9ydENvbnRlbnRmdWxuZXNzID0gcmVxdWVzdC5uZWVkVG9EZXRl
cm1pbmVDb250ZW50ZnVsbmVzc1N0YXRlKCkgJiYgY2hpbGQuc3R5bGUoKS52aXNpYmlsaXR5KCkg
PT0gVmlzaWJpbGl0eTo6VmlzaWJsZTsKKwogICAgICAgICBpZiAoaXM8UmVuZGVyVGV4dD4oY2hp
bGQpKSB7CiAgICAgICAgICAgICBjb25zdCBhdXRvJiByZW5kZXJUZXh0ID0gZG93bmNhc3Q8UmVu
ZGVyVGV4dD4oY2hpbGQpOwogICAgICAgICAgICAgaWYgKCFyZW5kZXJUZXh0Lmhhc1JlbmRlcmVk
VGV4dCgpKQpAQCAtNjU2NSw2ICs2NTY4LDggQEAgc3RhdGljIHZvaWQgZGV0ZXJtaW5lTm9uTGF5
ZXJEZXNjZW5kYW50cwogCiAgICAgICAgICAgICBpZiAoIXJlbmRlclRleHQudGV4dCgpLmlzQWxs
U3BlY2lhbENoYXJhY3RlcnM8aXNIVE1MU3BhY2U+KCkpIHsKICAgICAgICAgICAgICAgICByZXF1
ZXN0LnNldEhhc1BhaW50ZWRDb250ZW50KCk7CisgICAgICAgICAgICAgICAgaWYgKG1heVJlcG9y
dENvbnRlbnRmdWxuZXNzKQorICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LnNldFF1YWxpZmll
c0FzQ29udGVudGZ1bCgpOwogCiAgICAgICAgICAgICAgICAgaWYgKHJlcXVlc3QubmVlZFRvRGV0
ZXJtaW5lU3VicGl4ZWxBbnRpYWxpYXNlZFRleHRTdGF0ZSgpICYmIHN0eWxlSGFzU21vb3RoaW5n
VGV4dE1vZGUoY2hpbGQuc3R5bGUoKSkpCiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3Quc2V0
SGFzU3VicGl4ZWxBbnRpYWxpYXNlZFRleHQoKTsKQEAgLTY1ODQsMTIgKzY1ODksMTYgQEAgc3Rh
dGljIHZvaWQgZGV0ZXJtaW5lTm9uTGF5ZXJEZXNjZW5kYW50cwogCiAgICAgICAgIGlmIChoYXNW
aXNpYmxlQm94RGVjb3JhdGlvbnNPckJhY2tncm91bmQocmVuZGVyRWxlbWVudENoaWxkKSkgewog
ICAgICAgICAgICAgcmVxdWVzdC5zZXRIYXNQYWludGVkQ29udGVudCgpOworICAgICAgICAgICAg
aWYgKG1heVJlcG9ydENvbnRlbnRmdWxuZXNzICYmIHJlbmRlckVsZW1lbnRDaGlsZC5zdHlsZSgp
Lmhhc1BhaW50YWJsZUNhY2hlZEJhY2tncm91bmRJbWFnZSgpKQorICAgICAgICAgICAgICAgIHJl
cXVlc3Quc2V0UXVhbGlmaWVzQXNDb250ZW50ZnVsKCk7CiAgICAgICAgICAgICBpZiAocmVxdWVz
dC5pc1NhdGlzZmllZCgpKQogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAg
ICAgICAKICAgICAgICAgaWYgKGlzPFJlbmRlclJlcGxhY2VkPihyZW5kZXJFbGVtZW50Q2hpbGQp
KSB7CiAgICAgICAgICAgICByZXF1ZXN0LnNldEhhc1BhaW50ZWRDb250ZW50KCk7CisgICAgICAg
ICAgICBpZiAobWF5UmVwb3J0Q29udGVudGZ1bG5lc3MgJiYgQ29udGVudGZ1bFBhaW50Q2hlY2tl
cjo6cmVwbGFjZWRSZW5kZXJlclF1YWxpZmllc0FzQ29udGVudGZ1bChkb3duY2FzdDxSZW5kZXJS
ZXBsYWNlZD4ocmVuZGVyRWxlbWVudENoaWxkKSkpCisgICAgICAgICAgICAgICAgcmVxdWVzdC5z
ZXRRdWFsaWZpZXNBc0NvbnRlbnRmdWwoKTsgICAgICAgICAgICAgICAgCiAKICAgICAgICAgICAg
IGlmIChpczxSZW5kZXJJbWFnZT4ocmVuZGVyRWxlbWVudENoaWxkKSAmJiByZXF1ZXN0Lm5lZWRU
b0RldGVybWluZVN1YnBpeGVsQW50aWFsaWFzZWRUZXh0U3RhdGUoKSkgewogICAgICAgICAgICAg
ICAgIGF1dG8mIGltYWdlUmVuZGVyZXIgPSBkb3duY2FzdDxSZW5kZXJJbWFnZT4ocmVuZGVyRWxl
bWVudENoaWxkKTsKQEAgLTY2NDAsNiArNjY0OSwxMiBAQCBib29sIFJlbmRlckxheWVyOjppc1Zp
c3VhbGx5Tm9uRW1wdHkoUGFpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgICAgICBy
ZXF1ZXN0LT5zZXRIYXNQYWludGVkQ29udGVudCgpOworCisgICAgICAgIGlmIChyZXF1ZXN0LT5u
ZWVkVG9EZXRlcm1pbmVDb250ZW50ZnVsbmVzc1N0YXRlKCkgCisgICAgICAgICAgICAmJiByZW5k
ZXJlcigpLmlzUmVuZGVyUmVwbGFjZWQoKSAKKyAgICAgICAgICAgICYmIENvbnRlbnRmdWxQYWlu
dENoZWNrZXI6OnJlcGxhY2VkUmVuZGVyZXJRdWFsaWZpZXNBc0NvbnRlbnRmdWwoZG93bmNhc3Q8
Y29uc3QgUmVuZGVyUmVwbGFjZWQ+KHJlbmRlcmVyKCkpKSkKKyAgICAgICAgICAgIHJlcXVlc3Qt
PnNldFF1YWxpZmllc0FzQ29udGVudGZ1bCgpOworCiAgICAgICAgIGlmIChyZXF1ZXN0LT5pc1Nh
dGlzZmllZCgpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpAQCAtNjY0OSw2ICs2
NjY0LDEwIEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmlzVmlzdWFsbHlOb25FbXB0eShQYWkKICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgICAgIHJlcXVlc3QtPnNldEhhc1BhaW50ZWRDb250
ZW50KCk7CisKKyAgICAgICAgaWYgKHJlcXVlc3QtPm5lZWRUb0RldGVybWluZUNvbnRlbnRmdWxu
ZXNzU3RhdGUoKSAmJiByZW5kZXJlcigpLnN0eWxlKCkuaGFzUGFpbnRhYmxlQ2FjaGVkQmFja2dy
b3VuZEltYWdlKCkpCisgICAgICAgICAgICByZXF1ZXN0LT5zZXRRdWFsaWZpZXNBc0NvbnRlbnRm
dWwoKTsKKwogICAgICAgICBpZiAocmVxdWVzdC0+aXNTYXRpc2ZpZWQoKSkKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNjAzLDIwICs2MDMsMjcgQEAgcHVibGljOgog
CiAgICAgICAgICAgICBpZiAoaGFzU3VicGl4ZWxBbnRpYWxpYXNlZFRleHQgPT0gUmVxdWVzdFN0
YXRlOjpVbmtub3duKQogICAgICAgICAgICAgICAgIGhhc1N1YnBpeGVsQW50aWFsaWFzZWRUZXh0
ID0gUmVxdWVzdFN0YXRlOjpVbmRldGVybWluZWQ7CisKKyAgICAgICAgICAgIGlmIChxdWFsaWZp
ZXNBc0NvbnRlbnRmdWwgPT0gUmVxdWVzdFN0YXRlOjpVbmtub3duKQorICAgICAgICAgICAgICAg
IHF1YWxpZmllc0FzQ29udGVudGZ1bCA9IFJlcXVlc3RTdGF0ZTo6VW5kZXRlcm1pbmVkOwogICAg
ICAgICB9CiAKICAgICAgICAgdm9pZCBzZXRIYXNQYWludGVkQ29udGVudCgpIHsgaGFzUGFpbnRl
ZENvbnRlbnQgPSBSZXF1ZXN0U3RhdGU6OlRydWU7IH0KICAgICAgICAgdm9pZCBzZXRIYXNTdWJw
aXhlbEFudGlhbGlhc2VkVGV4dCgpIHsgaGFzU3VicGl4ZWxBbnRpYWxpYXNlZFRleHQgPSBSZXF1
ZXN0U3RhdGU6OlRydWU7IH0KKyAgICAgICAgdm9pZCBzZXRRdWFsaWZpZXNBc0NvbnRlbnRmdWwo
KSB7IHF1YWxpZmllc0FzQ29udGVudGZ1bCA9IFJlcXVlc3RTdGF0ZTo6VHJ1ZTsgfQogCiAgICAg
ICAgIGJvb2wgbmVlZFRvRGV0ZXJtaW5lUGFpbnRlZENvbnRlbnRTdGF0ZSgpIGNvbnN0IHsgcmV0
dXJuIGhhc1BhaW50ZWRDb250ZW50ID09IFJlcXVlc3RTdGF0ZTo6VW5rbm93bjsgfQogICAgICAg
ICBib29sIG5lZWRUb0RldGVybWluZVN1YnBpeGVsQW50aWFsaWFzZWRUZXh0U3RhdGUoKSBjb25z
dCB7IHJldHVybiBoYXNTdWJwaXhlbEFudGlhbGlhc2VkVGV4dCA9PSBSZXF1ZXN0U3RhdGU6OlVu
a25vd247IH0KKyAgICAgICAgYm9vbCBuZWVkVG9EZXRlcm1pbmVDb250ZW50ZnVsbmVzc1N0YXRl
KCkgY29uc3QgeyByZXR1cm4gcXVhbGlmaWVzQXNDb250ZW50ZnVsID09IFJlcXVlc3RTdGF0ZTo6
VW5rbm93bjsgfQogCiAgICAgICAgIGJvb2wgcHJvYmFibHlIYXNQYWludGVkQ29udGVudCgpIGNv
bnN0IHsgcmV0dXJuIGhhc1BhaW50ZWRDb250ZW50ID09IFJlcXVlc3RTdGF0ZTo6VHJ1ZSB8fCBo
YXNQYWludGVkQ29udGVudCA9PSBSZXF1ZXN0U3RhdGU6OlVuZGV0ZXJtaW5lZDsgfQogICAgICAg
ICBib29sIHByb2JhYmx5SGFzU3VicGl4ZWxBbnRpYWxpYXNlZFRleHQoKSBjb25zdCB7IHJldHVy
biBoYXNTdWJwaXhlbEFudGlhbGlhc2VkVGV4dCA9PSBSZXF1ZXN0U3RhdGU6OlRydWUgfHwgaGFz
U3VicGl4ZWxBbnRpYWxpYXNlZFRleHQgPT0gUmVxdWVzdFN0YXRlOjpVbmRldGVybWluZWQ7IH0K
KyAgICAgICAgYm9vbCBwcm9iYWJseVF1YWxpZmllc0FzQ29udGVudGZ1bCgpIGNvbnN0IHsgcmV0
dXJuIHF1YWxpZmllc0FzQ29udGVudGZ1bCA9PSBSZXF1ZXN0U3RhdGU6OlRydWUgfHwgcXVhbGlm
aWVzQXNDb250ZW50ZnVsID09IFJlcXVlc3RTdGF0ZTo6VW5kZXRlcm1pbmVkOyB9CiAgICAgICAg
IAotICAgICAgICBib29sIGlzU2F0aXNmaWVkKCkgY29uc3QgeyByZXR1cm4gaGFzUGFpbnRlZENv
bnRlbnQgIT0gUmVxdWVzdFN0YXRlOjpVbmtub3duICYmIGhhc1N1YnBpeGVsQW50aWFsaWFzZWRU
ZXh0ICE9IFJlcXVlc3RTdGF0ZTo6VW5rbm93bjsgfQorICAgICAgICBib29sIGlzU2F0aXNmaWVk
KCkgY29uc3QgeyByZXR1cm4gaGFzUGFpbnRlZENvbnRlbnQgIT0gUmVxdWVzdFN0YXRlOjpVbmtu
b3duICYmIGhhc1N1YnBpeGVsQW50aWFsaWFzZWRUZXh0ICE9IFJlcXVlc3RTdGF0ZTo6VW5rbm93
biAmJiBxdWFsaWZpZXNBc0NvbnRlbnRmdWwgIT0gUmVxdWVzdFN0YXRlOjpVbmtub3duOyB9CiAK
ICAgICAgICAgUmVxdWVzdFN0YXRlIGhhc1BhaW50ZWRDb250ZW50IHsgUmVxdWVzdFN0YXRlOjpV
bmtub3duIH07CisgICAgICAgIFJlcXVlc3RTdGF0ZSBxdWFsaWZpZXNBc0NvbnRlbnRmdWwgeyBS
ZXF1ZXN0U3RhdGU6OkRvbnRDYXJlIH07CiAgICAgICAgIFJlcXVlc3RTdGF0ZSBoYXNTdWJwaXhl
bEFudGlhbGlhc2VkVGV4dCB7IFJlcXVlc3RTdGF0ZTo6RG9udENhcmUgfTsKICAgICB9OwogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJKHJldmlzaW9uIDI2MDA0NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTE4MCw3ICsxODAsNyBAQCBwdWJsaWM6CiAgICAgTGF5b3V0VW5pdCB0b3BPZkZpcnN0VGV4
dCgpIGNvbnN0OwogICAgIAogICAgIGJvb2wgY29udGFpbnNPbmx5SFRNTFdoaXRlc3BhY2UodW5z
aWduZWQgZnJvbSwgdW5zaWduZWQgbGVuZ3RoKSBjb25zdDsKLSAgICAKKwogICAgIGJvb2wgY2Fu
VXNlU2ltcGxpZmllZFRleHRNZWFzdXJpbmcoKSBjb25zdCB7IHJldHVybiBtX2NhblVzZVNpbXBs
aWZpZWRUZXh0TWVhc3VyaW5nOyB9CiAKICAgICBWZWN0b3I8c3RkOjpwYWlyPHVuc2lnbmVkLCB1
bnNpZ25lZD4+IGRyYWdnZWRDb250ZW50UmFuZ2VzQmV0d2Vlbk9mZnNldHModW5zaWduZWQgc3Rh
cnRPZmZzZXQsIHVuc2lnbmVkIGVuZE9mZnNldCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM0MCw2ICszNDAsMTUgQEAgYm9vbCBGaWxsTGF5ZXI6OmNvbnRhaW5zSW1hZ2UoU3R5
bGVJbWFnZQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBGaWxsTGF5ZXI6Omhhc0xvYWRl
ZENhY2hlZEltYWdlKCkgY29uc3QKK3sKKyAgICBmb3IgKGF1dG8qIGxheWVyID0gdGhpczsgbGF5
ZXI7IGxheWVyID0gbGF5ZXItPm1fbmV4dC5nZXQoKSkgeworICAgICAgICBpZiAobGF5ZXItPm1f
aW1hZ2UgJiYgbGF5ZXItPm1faW1hZ2UtPmlzTG9hZGVkKCkgJiYgbGF5ZXItPm1faW1hZ2UtPmhh
c0NhY2hlZEltYWdlKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0
dXJuIGZhbHNlOworfQorCiBib29sIEZpbGxMYXllcjo6aW1hZ2VzQXJlTG9hZGVkKCkgY29uc3QK
IHsKICAgICBmb3IgKGF1dG8qIGxheWVyID0gdGhpczsgbGF5ZXI7IGxheWVyID0gbGF5ZXItPm1f
bmV4dC5nZXQoKSkgewpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxM
YXllci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxs
TGF5ZXIuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0ZpbGxMYXllci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDUsNiArMTQ1LDcgQEAgcHVibGlj
OgogCiAgICAgYm9vbCBjb250YWluc0ltYWdlKFN0eWxlSW1hZ2UmKSBjb25zdDsKICAgICBib29s
IGltYWdlc0FyZUxvYWRlZCgpIGNvbnN0OworICAgIGJvb2wgaGFzTG9hZGVkQ2FjaGVkSW1hZ2Uo
KSBjb25zdDsKICAgICBib29sIGhhc0ltYWdlKCkgY29uc3QgeyByZXR1cm4gbV9uZXh0ID8gaGFz
SW1hZ2VJbkFueUxheWVyKCkgOiBtX2ltYWdlOyB9CiAgICAgYm9vbCBoYXNGaXhlZEltYWdlKCkg
Y29uc3Q7CiAgICAgYm9vbCBoYXNPcGFxdWVJbWFnZShjb25zdCBSZW5kZXJFbGVtZW50JikgY29u
c3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5jcHAJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0NCw2ICs0NDQsMjEgQEAgYm9v
bCBSZW5kZXJTdHlsZTo6ZGVzY2VuZGFudEFmZmVjdGluZ05vbgogICAgICAgICAmJiBtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLT5qdXN0aWZ5SXRlbXMgPT0gb3RoZXIubV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+anVzdGlmeUl0ZW1zOwogfQogCitib29sIFJlbmRlclN0eWxlOjpoYXNQYWludGFibGVD
YWNoZWRCYWNrZ3JvdW5kSW1hZ2UoKSBjb25zdAoreworICAgIGlmICghaGFzQmFja2dyb3VuZElt
YWdlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNvbnN0IEZpbGxMYXllciYgYmFj
a2dyb3VuZCA9IGJhY2tncm91bmRMYXllcnMoKTsKKyAgICBpZiAoIWJhY2tncm91bmQuaGFzTG9h
ZGVkQ2FjaGVkSW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGJhY2tn
cm91bmRTaXplTGVuZ3RoKCkuaXNFbXB0eSgpICYmIGJhY2tncm91bmRTaXplVHlwZSgpID09IEZp
bGxTaXplVHlwZTo6U2l6ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRy
dWU7Cit9CisKICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogCiBzdGF0aWMgaW5saW5lIHVu
c2lnbmVkIGNvbXB1dGVGb250SGFzaChjb25zdCBGb250Q2FzY2FkZSYgZm9udCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCShyZXZpc2lvbiAy
NjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAko
d29ya2luZyBjb3B5KQpAQCAtNDE2LDYgKzQxNiw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBMZW5n
dGhTaXplJiBiYWNrZ3JvdW5kU2l6ZUxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2dyb3Vu
ZERhdGEtPmJhY2tncm91bmQuc2l6ZUxlbmd0aCgpOyB9CiAgICAgRmlsbExheWVyJiBlbnN1cmVC
YWNrZ3JvdW5kTGF5ZXJzKCkgeyByZXR1cm4gbV9iYWNrZ3JvdW5kRGF0YS5hY2Nlc3MoKS5iYWNr
Z3JvdW5kOyB9CiAgICAgY29uc3QgRmlsbExheWVyJiBiYWNrZ3JvdW5kTGF5ZXJzKCkgY29uc3Qg
eyByZXR1cm4gbV9iYWNrZ3JvdW5kRGF0YS0+YmFja2dyb3VuZDsgfQorICAgIGJvb2wgaGFzUGFp
bnRhYmxlQ2FjaGVkQmFja2dyb3VuZEltYWdlKCkgY29uc3Q7CiAKICAgICBTdHlsZUltYWdlKiBt
YXNrSW1hZ2UoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5tYXNrLmlt
YWdlKCk7IH0KICAgICBGaWxsUmVwZWF0IG1hc2tSZXBlYXRYKCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8RmlsbFJlcGVhdD4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bWFzay5yZXBlYXRY
KCkpOyB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wNC0xMyAgTm9h
bSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAo
Zmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBhIHJ1bnRpbWUgZmxhZyBmb3IgcGFpbnQtdGltaW5nIChwYWlu
dFRpbWluZ0VuYWJsZWQpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAo
V0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVu
Y2VzR2V0UGFpbnRUaW1pbmdFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlc1JlZlByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0Nv
bnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6dXBkYXRlUHJlZmVyZW5jZXNTdG9yZSk6CisKIDIwMjAt
MDQtMTMgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtp
T1NdIFVwZGF0ZSBtZXNzYWdlIGZpbHRlcnMgaW4gdGhlIFdlYkNvbnRlbnQgc2FuZGJveApJbmRl
eDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCShyZXZpc2lvbiAyNjAw
NDUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCSh3b3JraW5n
IGNvcHkpCkBAIC04MzksNiArODM5LDEzIEBAIFVzZXJUaW1pbmdFbmFibGVkOgogICBodW1hblJl
YWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgVXNlclRpbWluZyBBUEkiCiAgIHdlYmNvcmVCaW5k
aW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKK1BhaW50VGltaW5nRW5hYmxlZDoKKyAgdHlw
ZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IHRydWUKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJQYWlu
dCBUaW1pbmciCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQYWludCBUaW1p
bmcgQVBJIgorICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcworCiBCZWFj
b25BUElFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQpJbmRleDog
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAJKHJl
dmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODIwLDYgKzE4MjAsMTYgQEAgYm9vbCBXS1By
ZWZlcmVuY2VzR2V0VXNlclRpbWluZ0VuYWJsZWQoVwogICAgIHJldHVybiB0b0ltcGwocHJlZmVy
ZW5jZXNSZWYpLT51c2VyVGltaW5nRW5hYmxlZCgpOwogfQogCit2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9v
bCBmbGFnKQoreworICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFBhaW50VGltaW5nRW5h
YmxlZChmbGFnKTsKK30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0UGFpbnRUaW1pbmdFbmFibGVk
KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChw
cmVmZXJlbmNlc1JlZiktPnBhaW50VGltaW5nRW5hYmxlZCgpOworfQorCiB2b2lkIFdLUHJlZmVy
ZW5jZXNTZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZiwgYm9vbCBmbGFnKQogewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFJlc291
cmNlVGltaW5nRW5hYmxlZChmbGFnKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAkocmV2aXNpb24gMjYw
MDQ1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlBy
aXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNTAwLDYgKzUwMCwxMCBAQCBXS19FWFBPUlQgdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWluCiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2Vz
R2V0VXNlclRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CiAKIC8vIERlZmF1bHRzIHRv
IGZhbHNlCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVk
KFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVu
Y2VzR2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOworCisvLyBEZWZhdWx0
cyB0byBmYWxzZQogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5n
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQ
cmVmZXJlbmNlc0dldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIApJ
bmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAkocmV2aXNpb24gMjYwMDQ1
KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjIsNiArMTIyLDcgQEAgdm9pZCBX
ZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6dXBkYQogICAgIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q2FjaGVBUElFbmFibGVkKHN0b3JlLmdldEJvb2xW
YWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Y2FjaGVBUElFbmFibGVkS2V5KCkpKTsKICAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJRW5h
YmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZldGNoQVBJ
RW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OnVzZXJUaW1pbmdFbmFibGVkS2V5KCkpKTsKKyAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFBhaW50VGltaW5nRW5hYmxlZChzdG9yZS5n
ZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnBhaW50VGltaW5nRW5hYmxlZEtl
eSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRS
ZXNvdXJjZVRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5OjpyZXNvdXJjZVRpbWluZ0VuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6ZmV0Y2hBUElLZWVwQWxp
dmVFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldFJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3Moc3RvcmUuZ2V0Qm9vbFZhbHVl
Rm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzS2V5
KCkpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDA0NSkK
KysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDIwIEBACisyMDIwLTA0LTEzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9y
Zz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgcHJlZmVy
ZW5jZSBrZXkgZm9yIHBhaW50IHRpbWluZy4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToK
KyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAoLVtXZWJQ
cmVmZXJlbmNlcyBwYWludFRpbWluZ0VuYWJsZWRdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5j
ZXMgc2V0UGFpbnRUaW1pbmdFbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorCiAyMDIwLTA0
LTEzICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFJF
R1JFU1NJT04gKHIyNTk4NDMpOiAiTWlzc2luZyBQbHVnLUluIiB3aGVuIGRyYWdnaW5nIGFuIGlt
YWdlIGludG8gTWFpbCBDb21wb3NlCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9u
IDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2MCw2ICsyNjAsNyBAQAogI2RlZmlu
ZSBXZWJLaXRBdHRhY2htZW50RWxlbWVudEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QXR0
YWNobWVudEVsZW1lbnRFbmFibGVkIgogI2RlZmluZSBXZWJLaXRJbnRlcnNlY3Rpb25PYnNlcnZl
ckVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVk
IgogI2RlZmluZSBXZWJLaXRNZW51SXRlbUVsZW1lbnRFbmFibGVkUHJlZmVyZW5jZUtleSBAIldl
YktpdE1lbnVJdGVtRWxlbWVudEVuYWJsZWQiCisjZGVmaW5lIFdlYktpdFBhaW50VGltaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRQYWludFRpbWluZ0VuYWJsZWQiCiAjZGVmaW5lIFdl
YktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFVzZXJUaW1pbmdFbmFi
bGVkIgogI2RlZmluZSBXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkIgogI2RlZmluZSBXZWJLaXRNZWRpYUNvbnRlbnRU
eXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydFByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZWRpYUNv
bnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydCIKSW5kZXg6IFNvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkocmV2aXNpb24gMjYw
MDQ1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5t
bQkod29ya2luZyBjb3B5KQpAQCAtNjgyLDYgKzY4Miw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQog
I2lmIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCiAgICAgICAgIEBOTywgV2ViS2l0SW50
ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleSwKICNlbmRpZgorICAgICAgICBA
Tk8sIFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywg
V2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktp
dFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0
TWVkaWFVc2VyR2VzdHVyZUluaGVyaXRzRnJvbURvY3VtZW50LApAQCAtMzMwNiw2ICszMzA3LDE2
IEBAIC0gKHZvaWQpc2V0VXNlclRpbWluZ0VuYWJsZWQ6KEJPT0wpZmxhZwogICAgIFtzZWxmIF9z
ZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNl
S2V5XTsKIH0KIAorLSAoQk9PTClwYWludFRpbWluZ0VuYWJsZWQKK3sKKyAgICByZXR1cm4gW3Nl
bGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5
XTsKK30KKworLSAodm9pZClzZXRQYWludFRpbWluZ0VuYWJsZWQ6KEJPT0wpZmxhZworeworICAg
IFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVk
UHJlZmVyZW5jZUtleV07Cit9CisKIC0gKEJPT0wpcmVzb3VyY2VUaW1pbmdFbmFibGVkCiB7CiAg
ICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFi
bGVkUHJlZmVyZW5jZUtleV07CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHJldmlzaW9uIDI2MDA0NSkK
KysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTY2MSw2ICs2NjEsNyBAQCBAaW50ZXJmYWNlIFdlYlByZWZl
cmVuY2VzIChXZWJQcml2YXRlKQogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wga2V5Z2VuRWxl
bWVudEVuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCB1c2VyVGltaW5nRW5hYmxl
ZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHJlc291cmNlVGltaW5nRW5hYmxlZDsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHBhaW50VGltaW5nRW5hYmxlZDsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljKSBCT09MIGxpbmtQcmVsb2FkRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
KSBCT09MIG1lZGlhVXNlckdlc3R1cmVJbmhlcml0c0Zyb21Eb2N1bWVudDsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljKSBCT09MIGlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQ7CkluZGV4OiBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAyNjAw
NDUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtp
bmcgY29weSkKQEAgLTMyMDEsNiArMzIwMSw3IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdl
ZDooV2ViUHJlZmVyZW4KIAogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMudXNlclRpbWluZ0VuYWJsZWQp
OwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVzb3Vy
Y2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnJlc291cmNlVGltaW5nRW5hYmxlZCk7CisgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0Vu
YWJsZWQocHJlZmVyZW5jZXMucGFpbnRUaW1pbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChwcmVmZXJl
bmNlcy5saW5rUHJlbG9hZEVuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5tZWRp
YVByZWxvYWRpbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnNldElzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQocHJlZmVyZW5jZXMu
aXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4v
Q2hhbmdlTG9nCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0wNC0xMyAgTm9h
bSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAo
Zmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBwcmVmZXJlbmNlIGtleSBmb3IgcGFpbnQtdGltaW5nLgorCisg
ICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAg
KiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5o
OgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoK
KyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisKKyAgICAgICAg
KiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGw6CisgICAgICAgICogSW50ZXJmYWNlcy9X
ZWJLaXQuaWRsOgorICAgICAgICAgICAgICAgIFRvdWNoZWQgdG8gdHJpZ2dlciBidWlsZC4KKwog
MjAyMC0wNC0wOCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAg
U2hvdWxkIGZpbmQgdG91Y2gtYWN0aW9uIGVsZW1lbnRzIGluc2lkZSBub24tY29tcG9zaXRlZCBp
ZnJhbWVzCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE5Nyw2
ICsxOTcsOCBAQAogCiAjZGVmaW5lIFdlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtl
eSAiV2ViS2l0VXNlclRpbWluZ0VuYWJsZWQiCiAKKyNkZWZpbmUgV2ViS2l0UGFpbnRUaW1pbmdF
bmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkIgorCiAjZGVmaW5l
IFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFJlc291cmNl
VGltaW5nRW5hYmxlZCIKIAogI2RlZmluZSBXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJl
bmNlS2V5ICJXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWQiCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMy
Niw2ICszMjYsOCBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNlCiAK
ICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0UmVzb3VyY2VU
aW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKKyAgICBDRkRp
Y3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVk
UHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CisKICAgICBDRkRpY3Rpb25hcnlBZGRW
YWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtl
eSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0
cywgQ0ZTVFIoV2ViS2l0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZC
b29sZWFuRmFsc2UpOwpAQCAtMjQxNCw2ICsyNDE2LDIwIEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5j
ZXM6OnJlc291cmNlVGltaW5nRW4KICAgICByZXR1cm4gU19PSzsKIH0KIAorSFJFU1VMVCBXZWJQ
cmVmZXJlbmNlczo6c2V0UGFpbnRUaW1pbmdFbmFibGVkKEJPT0wgZW5hYmxlZCkKK3sKKyAgICBz
ZXRCb29sVmFsdWUoV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwgZW5hYmxl
ZCk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnBhaW50
VGltaW5nRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQoreworICAgIGlmICghZW5hYmxlZCkK
KyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKyAgICAqZW5hYmxlZCA9IGJvb2xWYWx1ZUZvcktl
eShXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KTsKKyAgICByZXR1cm4gU19P
SzsKK30KKwogSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2VydmVyVGltaW5nRW5hYmxlZChfT3V0
XyBCT09MKiBlbmFibGVkKQogewogICAgIGlmICghZW5hYmxlZCkKSW5kZXg6IFNvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzA3
LDYgKzMwNyw4IEBAIHB1YmxpYzoKICAgICAvLyBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOAogICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBhbGxvd1RvcE5hdmlnYXRpb25Ub0Rh
dGFVUkxzKF9PdXRfIEJPT0wqKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgc2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhCT09MKTsKKyAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcGFpbnRUaW1pbmdFbmFibGVkKF9PdXRfIEJPT0wqKTsK
KyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0UGFpbnRUaW1pbmdFbmFi
bGVkKEJPT0wpOwogCiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIApJbmRleDogU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViVmlldy5jcHAJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Mjg1LDYgKzUyODUsMTEgQEAg
SFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQogICAgICAgICByZXR1cm4g
aHI7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2Vy
VGltaW5nRW5hYmxlZCghIWVuYWJsZWQpOwogCisgICAgaHIgPSBwcmVmc1ByaXZhdGUtPnBhaW50
VGltaW5nRW5hYmxlZCgmZW5hYmxlZCk7CisgICAgaWYgKEZBSUxFRChocikpCisgICAgICAgIHJl
dHVybiBocjsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dFBhaW50VGltaW5nRW5hYmxlZCghIWVuYWJsZWQpOworCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUt
PnJlc291cmNlVGltaW5nRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAg
ICAgICAgIHJldHVybiBocjsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFj
ZXMvSVdlYlByZWZlcmVuY2VzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGwJKHJldmlzaW9uIDI2MDA0NSkKKysr
IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYt
MjAyMCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFj
ZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAkocmV2aXNp
b24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjY1LDQgKzI2NSw2IEBAIGlu
dGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOCA6IElXZWIKIHsKICAgICBIUkVTVUxUIGFs
bG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoW291dCwgcmV0dmFsXSBCT09MKiBlbmFibGVkKTsK
ICAgICBIUkVTVUxUIHNldEFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoW2luXSBCT09MIGVu
YWJsZWQpOworICAgIEhSRVNVTFQgcGFpbnRUaW1pbmdFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9P
TCopOworICAgIEhSRVNVTFQgc2V0UGFpbnRUaW1pbmdFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVk
KTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvV2ViS2l0Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL1dlYktp
dC5pZGwJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVy
ZmFjZXMvV2ViS2l0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogICovCiAK
IGNwcF9xdW90ZSgiLyoiKQotY3BwX3F1b3RlKCIgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcs
IDIwMDgsIDIwMDksIDIwMTAsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiIp
CitjcHBfcXVvdGUoIiAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAx
MCwgMjAxNSwgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIikKIGNwcF9xdW90
ZSgiICoiKQogY3BwX3F1b3RlKCIgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQiKQogY3BwX3F1b3RlKCIgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMiKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMjYwMDQ1KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMjAtMDQtMTMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQu
b3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgcHJlZmVy
ZW5jZSBrZXkgZm9yIHBhaW50LXRpbWluZy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21h
Yy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNp
c3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJl
ZS5jcHA6CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdUUjo6VGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMp
OgorCiAyMDIwLTA0LTEzICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29t
PgogCiAgICAgICAgIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQt
ZG9tYWluLmh0bWwgaXMgYSBjb25zdGFudCBmYWlsdXJlIG9uIGlPUwpJbmRleDogVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMjYwMDQ1KQorKysg
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDA0LDYgKzEwMDQsNyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVuY2VzVG9D
b25zaXN0CiAgICAgW3ByZWZlcmVuY2VzIHNldE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkOllF
U107CiAgICAgW3ByZWZlcmVuY2VzIHNldFJlc291cmNlVGltaW5nRW5hYmxlZDpZRVNdOwogICAg
IFtwcmVmZXJlbmNlcyBzZXRVc2VyVGltaW5nRW5hYmxlZDpZRVNdOworICAgIFtwcmVmZXJlbmNl
cyBzZXRQYWludFRpbWluZ0VuYWJsZWQ6WUVTXTsKIAogICAgIFtwcmVmZXJlbmNlcyBzZXRDYWNo
ZUFQSUVuYWJsZWQ6Tk9dOwogICAgIHByZWZlcmVuY2VzLm1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxl
ZCA9IFlFUzsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVl
LmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBS
ZW5kZXJUcmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTIxLDYgKzkyMSw3IEBAIHN0YXRpYyB2
b2lkIHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGkKICAgICBwcmVmc1ByaXZhdGUtPnNldEFs
bG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMob3B0aW9ucy5hbGxvd1RvcE5hdmlnYXRpb25Ub0Rh
dGFVUkxzKTsKICAgICBwcmVmZXJlbmNlcy0+c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChvcHRp
b25zLnVzZUVwaGVtZXJhbFNlc3Npb24pOwogICAgIHByZWZlcmVuY2VzLT5zZXRVc2VzUGFnZUNh
Y2hlKG9wdGlvbnMuZW5hYmxlQmFja0ZvcndhcmRDYWNoZSk7CisgICAgcHJlZnNQcml2YXRlLT5z
ZXRQYWludFRpbWluZ0VuYWJsZWQoVFJVRSk7CiB9CiAKIHN0YXRpYyBTdHJpbmcgYXBwbGljYXRp
b25JZCgpCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAko
cmV2aXNpb24gMjYwMDQ1KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzMSw2ICs5MzEsNyBAQCB2b2lkIFRlc3RDb250cm9s
bGVyOjpyZXNldFByZWZlcmVuY2VzVG9DCiAgICAgV0tQcmVmZXJlbmNlc1NldEZldGNoQVBJS2Vl
cEFsaXZlRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFJl
c291cmNlVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNl
c1NldFVzZXJUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKKyAgICBXS1ByZWZlcmVu
Y2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZl
cmVuY2VzU2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAg
V0tQcmVmZXJlbmNlc1NldE1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmUocHJlZmVyZW5jZXMsIHRy
dWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5
c0lubGluZUF0dHJpYnV0ZShwcmVmZXJlbmNlcywgZmFsc2UpOwpJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
MjYwMDQ1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsNDMgQEAKKzIwMjAtMDQtMTMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgor
CisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0cyBmb3Ig
c29tZSBmaXJzdC1jb250ZW50ZnVsLXBhaW50IChGQ1ApIHVzZS1jYXNlcy4KKyAgICAgICAgRW5z
dXJlIHRoYXQgRkNQIHdvcmtzIHdlbGwgd2l0aCBWTkUgKGZpcnN0IHBhaW50IGRlbGF5IHVudGls
IGNvbnRlbnRzIGFyZSB2aXN1YWxseSBub24tZW1wdHkpLgorCisgICAgICAgICogcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qczogQWRkZWQuCisg
ICAgICAgICAgICAgICAgVGVzdCBleGlzdGVuY2Ugb2YgcGFpbnQgdGltaW5nIEFQSSBvbiB0aGUg
d2luZG93IG9iamVjdC4KKworICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50
ZnVsLXBhaW50LWZyYW1lcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1h
bmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250
ZW50ZnVsLXBhaW50LXdpdGgtd29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1h
bmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBl
cmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAgICAg
ICAgIFRlc3QgdGhhdCBGQ1AgaXMgbm90IGF2YWlsYWJsZSBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1l
cyBhbmQgd29ya2Vycy4KKworICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1v
YnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNl
cy9wYWludC1hcGktdXRpbHMuanM6IEFkZGVkLgorICAgICAgICAoYXN5bmMgd2FpdEZvckZDUCk6
CisgICAgICAgICAgICAgICAgVGVzdCB0aGF0IHBlcmZvcm1hbmNlIG9ic2VydmVycyBhcmUgY2Fs
bGVkIGZvciBGQ1AuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1h
bmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNl
LXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS1leHBl
Y3RlZC50eHQ6IEFkZGVkCisgICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJj
ZXMvc2xvd3N0eWxlLnBocDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5j
ZS9yZXNvdXJjZXMvc3R5bGUuY3NzOiAgQWRkZWQuCisgICAgICAgICAgICAgICAgSWYgYSBwZW5k
aW5nIHN0eWxlc2hlZXQgYmxvY2tzIHBhaW50aW5nLCBtYWtlIHN1cmUgRkNQIGlzIHJlcG9ydGVk
IG9ubHkgYWZ0ZXIgc3R5bGVzaGVldCBoYXMgbG9hZGVkLgorCisgICAgICAgICogaHR0cC90ZXN0
cy9wZXJmb3JtYW5jZS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1h
bmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hh
cnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNl
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGlt
aW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c2NyaXB0
LnBocDogQWRkZWQuCisgICAgICAgICAgICAgICAgSWYgVk5FIGR1ZSB0byBudW1iZXIgb2YgY2hh
cmFjdGVycyBibG9ja3MgcGFpbnRpbmcsIG1ha2Ugc3VyZSBGQ1AgaXMgcmVwb3J0ZWQgb25seSBh
ZnRlciBwYWludGluZyBpcyB1bmJsb2NrZWQuCisKIDIwMjAtMDQtMTMgIEthdGUgQ2hlbmV5ICA8
a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cC90ZXN0cy9pbi1hcHAt
YnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1kb21haW4uaHRtbCBpcyBhIGNvbnN0YW50IGZhaWx1
cmUgb24gaU9TCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZv
cm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0t
Y2hhcnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
cGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1u
b24tZW1wdHktZm9yLW51bS1jaGFycy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmct
ZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKK1BBU1MgcGFpbnRFbnRyeS5zdGFydFRpbWUg
PiB0aW1lc3RhbXBzW2V4cGVjdGVkSXRlcmF0aW9uc10gaXMgdHJ1ZQorUEFTUyBwYWludEVudHJ5
LnN0YXJ0VGltZSA8IHRpbWVzdGFtcHNbZXhwZWN0ZWRJdGVyYXRpb25zICsgMl0gaXMgdHJ1ZQor
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBh
aW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZv
cm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0t
Y2hhcnMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZv
cm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVt
cHR5LWZvci1udW0tY2hhcnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDczIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKQorICAgICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
ICAgIHZhciBzdHlsZUVudHJ5ID0gbnVsbAorICAgIHZhciBwYWludEVudHJ5ID0gbnVsbAorICAg
IHZhciB0aW1lc3RhbXBzID0gW10KKyAgICB2YXIgY2hhcnNQZXJJdGVyYXRpb24gPSA4MAorICAg
IHZhciBjaGFyVGhyZXNob2xkID0gMjAwCisgICAgdmFyIGV4cGVjdGVkSXRlcmF0aW9ucyA9IE1h
dGguY2VpbChjaGFyVGhyZXNob2xkIC8gY2hhcnNQZXJJdGVyYXRpb24pCisKKyAgICBmdW5jdGlv
biBzbG93U3RyaW5nKHN0ciwgZGVsYXkpIHsKKyAgICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JykKKyAgICAgICAgY29uc3Qgc291cmNlID0gYGRvY3Vt
ZW50LndyaXRlKCcke3N0cn0nKTsgdGltZXN0YW1wcy5wdXNoKCR7cGVyZm9ybWFuY2Uubm93KCl9
KTsgY2hlY2soKTtgCisgICAgICAgIHNjcmlwdC5zcmMgPSBgLi9yZXNvdXJjZXMvc2xvd3Njcmlw
dC5waHA/Y2FjaGVCdXN0ZXI9JHtwZXJmb3JtYW5jZS5ub3coKX0mZGVsYXk9JHtkZWxheX0mc2Ny
aXB0PSR7c291cmNlfWAKKyAgICAgICAgZG9jdW1lbnQud3JpdGUoc2NyaXB0Lm91dGVySFRNTCkK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBjaGVjaygpIHsKKyAgICAgICAgaWYgKHRpbWVzdGFtcHMu
bGVuZ3RoIDwgZXhwZWN0ZWRJdGVyYXRpb25zICsgMyB8fCAhcGFpbnRFbnRyeSkKKyAgICAgICAg
ICAgIHJldHVybjsKKworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICcnCisKKyAg
ICAgICAgc2hvdWxkQmVUcnVlKCJwYWludEVudHJ5LnN0YXJ0VGltZSA+IHRpbWVzdGFtcHNbZXhw
ZWN0ZWRJdGVyYXRpb25zXSIpCisgICAgICAgIHNob3VsZEJlVHJ1ZSgicGFpbnRFbnRyeS5zdGFy
dFRpbWUgPCB0aW1lc3RhbXBzW2V4cGVjdGVkSXRlcmF0aW9ucyArIDJdIikKKyAgICAgICAgCisg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpCisgICAgfQorCisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VP
YnNlcnZlcihsaXN0ID0+IHsKKyAgICAgICAgcGFpbnRFbnRyeSA9IHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeVR5cGUoJ3BhaW50JylbMF0KKyAgICAgICAgaWYgKHBhaW50RW50cnkpCisgICAgICAg
ICAgICBjaGVjaygpCisgICAgfSk7CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczog
WyJwYWludCJdfSkKKworICAgIGZ1bmN0aW9uIG5leHQoKSB7CisgICAgICAgIHNsb3dTdHJpbmco
J1x0ICcgKyBBcnJheShjaGFyc1Blckl0ZXJhdGlvbiAvIDIpLmZpbGwoJyAwIFx0IEEnKS5qb2lu
KCcnKSArICIgICBcblx0IiwgMC4zLCBjaGFyc1Blckl0ZXJhdGlvbikKKyAgICB9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNj
cmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxz
Y3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8
c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAg
PHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAg
IDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAg
ICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4K
KyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1h
bmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5
LWZvci1zdHlsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3Vh
bGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5n
LWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDIgQEAKK1BBU1MgcGFpbnRFbnRyeS5zdGFydFRpbWUgPj0g
c3R5bGVFbnRyeS5zdGFydFRpbWUgKyBzdHlsZUVudHJ5LmR1cmF0aW9uIGlzIHRydWUKK1RFWFQK
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFp
bnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5j
ZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Bl
cmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1z
dHlsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpCisgICAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworICAgIH0KKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgdmFyIHN0eWxl
RW50cnkgPSBudWxsOworICAgIHZhciBwYWludEVudHJ5ID0gbnVsbDsKKyAgICBjb25zdCBvYnNl
cnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAgICBjb25zdCBw
YWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdwYWludCcpOworICAg
ICAgICBpZiAocGFpbnRFbnRyaWVzLmxlbmd0aCkKKyAgICAgICAgICAgIHBhaW50RW50cnkgPSBw
YWludEVudHJpZXNbMF07CisKKyAgICAgICAgY29uc3QgcmVzb3VyY2VFbnRyaWVzID0gcGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKS5maWx0ZXIociA9PiByLm5hbWUuaW5j
bHVkZXMoJ3Nsb3dzdHlsZS5waHAnKSk7CisgICAgICAgIGlmIChyZXNvdXJjZUVudHJpZXMubGVu
Z3RoKQorICAgICAgICAgICAgc3R5bGVFbnRyeSA9IHJlc291cmNlRW50cmllc1swXTsKKworICAg
ICAgICBpZiAoIXN0eWxlRW50cnkgfHwgIXBhaW50RW50cnkpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJwYWludEVudHJ5LnN0YXJ0VGltZSA+PSBzdHlsZUVu
dHJ5LnN0YXJ0VGltZSArIHN0eWxlRW50cnkuZHVyYXRpb24iKTsKKyAgICAgICAgICAgICAgICAK
KyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CisgICAgfSk7CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczog
WyJwYWludCIsICJyZXNvdXJjZSJdfSk7Cis8L3NjcmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi9yZXNvdXJjZXMvc2xvd3N0eWxlLnBocD9kZWxheT0wLjUiIC8+Cis8L2hlYWQ+
Cis8Ym9keT4KK1RFWFQKKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dzY3JpcHQucGhwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dzY3JpcHQu
cGhwCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2Uv
cmVzb3VyY2VzL3Nsb3dzY3JpcHQucGhwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOSBAQAor
PD9waHAKK2lmIChpc3NldCgkX0dFVFsiZGVsYXkiXSkpCisgICAgc2xlZXAoJF9HRVRbImRlbGF5
Il0pOworaGVhZGVyKCdDYWNoZS1Db250cm9sOiBuby1jYWNoZSwgbXVzdC1yZXZhbGlkYXRlJyk7
CitoZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0Jyk7CisKK2VjaG8oJF9HRVRb
InNjcmlwdCJdKQorPz4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5j
ZS9yZXNvdXJjZXMvc2xvd3N0eWxlLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c3R5bGUucGhwCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dzdHls
ZS5waHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2IEBACis8P3BocAoraWYgKGlzc2V0KCRf
R0VUWyJkZWxheSJdKSkKKyAgICBzbGVlcCgkX0dFVFsiZGVsYXkiXSk7CitoZWFkZXIoJ0NhY2hl
LUNvbnRyb2w6IG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUnKTsKK2hlYWRlcignTG9jYXRpb246
IHN0eWxlLmNzcycpOworPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFu
Y2UvcmVzb3VyY2VzL3N0eWxlLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zdHlsZS5jc3MJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc3R5bGUuY3NzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorYm9keSB7CisgICAgYmFja2dyb3VuZC1jb2xvcjog
Z3JlZW4KK307ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dy
b3VuZCBzaXplLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemU8L3RpdGxl
PgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAg
ICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGJhY2tn
cm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgICAgICBiYWNr
Z3JvdW5kLXNpemU6IDAgMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRl
ZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAg
ICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYg
aWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBzaXplLiIpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldC4gCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmctaW1hZ2Utc2V0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWlt
YWdlLXNldC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBk
dWUgdG8gYmFja2dyb3VuZCBpbWFnZSBpbiBpbWFnZS1zZXQ8L3RpdGxlPgorPHN0eWxlPgorICAg
ICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBz
Y3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIGJhY2tncm91bmQtaW1h
Z2U6IC13ZWJraXQtaW1hZ2Utc2V0KHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpIDF4KTsK
KyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2Utc2V0KHVybCguLi9yZXNvdXJjZXMvY2ly
Y2xlcy5wbmcpIDF4KTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2Pgor
PHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gYmFja2dyb3VuZCBpbWFnZSBpbiBpbWFnZS1zZXQuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZm9yIGJhY2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZp
c2libGUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBl
cmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIGZpcmUgZm9yIGJhY2tncm91
bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGU8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsK
KyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKwor
ICAgIC8qIGNvbnRlbnRmdWwgYW5kIHByZUZDUCBjbGFzc2VzIGFyZSBkZWZpbmVkIGluIHRlc3Rf
ZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5wcmVGQ1AgeworICAgICAgICB2aXNpYmlsaXR5OiBo
aWRkZW47CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCwgICNtYWluLnByZUZDUCB7Cisg
ICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOwor
ICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNp
YmxlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0Pgor
ICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGZvciBiYWNrZ3JvdW5k
IGltYWdlIG9ubHkgd2hlbiB2aXNpYmxlLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENhbnZhcyBzaG91bGQgY291bnQgYXMg
Y29udGVudGZ1bCB3aGVuIGNvbnRleHQgaXMgY3JlYXRlZCAKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWNhbnZhcy1jb250ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1j
b250ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHdoZW4gY2Fu
dmFzIGNvbnRleHQgaXMgY3JlYXRlZDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0
aD0iNTAiIGhlaWdodD0iNTAiPjwvY2FudmFzPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgIGF3YWl0IG5l
dyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAg
YXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIGNvbnN0IGNhbnZhcyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYW52YXMnKTsKKyAgICBjb25zdCBjb250ZXh0ID0g
Y2FudmFzLmdldENvbnRleHQoJzJkJyk7CisgICAgY29udGV4dC5maWxsUmVjdCgwLCAwLCAxMDAs
IDEwMCk7CisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgJ0Nh
bnZhcyBzaG91bGQgY291bnQgYXMgY29udGVudGZ1bCB3aGVuIGNvbnRleHQgaXMgY3JlYXRlZCcp
OworPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFk
aWVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEdyYWRpZW50cyBz
aG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFk
aWVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFu
Y2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgbm90IGZpcmUgd2l0aCBncmFkaWVudC1v
bmx5IGJhY2tncm91bmRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1p
bWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgb3JhbmdlLCBibHVlKTsKKyAgICB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFu
Y2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBj
b25zdCBtYWluID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW4nKTsKKyAgICAgIGF3YWl0
IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7Cisg
ICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICAnR3JhZGll
bnRzIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+
CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2Nl
bmRhbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHJvdGF0aW5nIGludG8gdmll
dy4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNj
ZW5kYW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1y
b3RhdGUtZGVzY2VuZGFudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRl
c3Q6IEZDUCBkdWUgdG8gM2QgcmV2ZWFsaW5nIG9mIGRlc2NlbmRhbnRzPC90aXRsZT4KKzxzdHls
ZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cisg
ICAgICAgIHRvcDogMDsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDQ1ZGVnKTsKKyAgICAg
ICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKKyAgICB9CisKKyAgICAvKgorICAgICAg
IFRoaXMgdGVzdHMgdGhhdCBnaXZlbiBtdWx0aXBsaWNhdGlvbiBlZmZlY3Qgb2YgM2QgdHJhbnNm
b3JtcyBvbiBib3VuZGluZyByZWN0LAorICAgICAgIEFuIGVsZW1lbnQgY291bnRzIGFzIGNvbnRl
bnRmdWwvcGFpbnRhYmxlIG9ubHkgd2hlbiBpdHMgYm91bmRpbmcgcmVjdCBpcyB0cnVseSBub24t
ZW1wdHkgKi8KKyAgICAjY2hpbGQgeworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVkZWcp
OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2Zj
cCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTog
bm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXYgaWQ9ImNo
aWxkIj5UZXh0PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHJvdGF0aW5n
IGludG8gdmlldy4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBw
YWludCBmaXJlcyBkdWUgdG8gM2Qgcm90YXRpb24gaW50byB2aWV3LiAKKwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXc8L3RpdGxlPgorPHN0eWxl
PgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSg5MGRl
Zyk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0K
KworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQu
ICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAg
ICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxz
LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRleHQ8L2Rpdj4KKzxzY3JpcHQ+CisgICAg
dGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIDNkIHJvdGF0aW9u
IGludG8gdmlldy4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBz
Y2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
c2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNTIEZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcgdHJhbnNpdGlvbi4gCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBpbiB0cmFuc2l0aW9uPC90
aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06
IHNjYWxlKDApOworICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTBzOworICAgICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICB9CisKKyAgICAvKiBjb250
ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWlu
LmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOworICAgIH0KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2Ny
aXB0PgorPGRpdiBpZD0ibWFpbiI+VEVYVDwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgi
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIHJldmVhbGVkIGR1cmluZyB0cmFuc2l0
aW9uLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLXNjYWxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS1zY2FsZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2Nh
bGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRv
IHNjYWxlIGNoYW5nZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0
aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAg
ICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwor
ICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJj
ZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVm
aW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAg
ICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwv
ZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBkdWUgdG8gc2NhbGUgYmVjb21pbmcgcG9zaXRpdmUuIikKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitJTlZJU0lCTEUKKworUEFTUyBGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNp
YmxlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWlu
dCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBzdGlsbCBmaXJlIGZvciBpbnZpc2libGUgdGV4dDwv
dGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
dmlzaWJpbGl0eTogaGlkZGVuOworICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKKyAg
ICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2Ny
aXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNp
YmxlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgSU5WSVNJQkxFCis8
L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIikKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFu
dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVz
Y2VuZGFudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0
CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9y
IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5
LWRlc2NlbmRhbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNj
ZW5kYW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2Vu
ZGFudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUg
dG8gYW5jZXN0b3Igb3BhY2l0eTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAg
ICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBw
eDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQor
CisgICAgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250
ZW50ZnVsIGFuZCBpbnRlcm1lZGlhdGUgY2xhc3NlcyBhcmUgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBz
Y3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCAjY2hpbGQgeworICAgICAgICBvcGFjaXR5
OiAxOworICAgIH0KKworICAgICNtYWluLmludGVybWVkaWF0ZSAjY2hpbGQgeworICAgICAgICBv
cGFjaXR5OiAxOworICAgIH0KKworICAgICNtYWluLmludGVybWVkaWF0ZSB7CisgICAgICAgIG9w
YWNpdHk6IDA7CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIG9wYWNp
dHk6IDAuNTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXYgaWQ9
ImNoaWxkIj5UZXh0PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHBvc2l0
aXZlIG9wYWNpdHkuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3BhY2l0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNp
dHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZp
cnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIG9wYWNpdHktcmV2ZWFsZWQgZWxlbWVu
dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW9wYWNpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUg
dG8gb3BhY2l0eTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDog
MTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAg
ICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91
bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgICAgICBvcGFjaXR5
OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0
X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIG9wYWNpdHk6
IDAuMTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4K
KyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gb3BhY2l0
eS1yZXZlYWxlZCBlbGVtZW50LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0
byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQt
b2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQg
ZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4g
CisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gdHJhbnNmb3Jt
LWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50PC90aXRsZT4KKzxzdHlsZT4KKyAgICAj
bWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwMHB4KTsK
KyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJh
Y2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKwor
ICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICov
CisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2Zj
cCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGlu
dGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3V0LW9mLWJvdW5kcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRl
c3Q6IEZDUCBkdWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQ8L3RpdGxlPgorPHN0eWxl
PgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICBsZWZ0OiAtMTAwMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291
cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBk
ZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAg
ICAgICAgbGVmdDogMHB4OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC1kaXNwbGF5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0
ZXh0LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8t
ZWxlbWVudCB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQi
OworICAgICAgICBkaXNwbGF5OiBub25lOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xh
c3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1
bDphZnRlciB7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIikKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWlt
YWdlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtaW1hZ2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVs
ZW1lbnQgaW1hZ2UuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2Uu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVk
by1lbGVtZW50IGltYWdlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBv
c2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0
ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAg
IGNvbnRlbnQ6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0
PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGltYWdlLiIpCis8
L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBk
dWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiAKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5n
IHBvc2l0aXZlIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAg
cG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAi
VEVYVCI7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBj
bGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50
ZnVsOmFmdGVyIHsKKyAgICAgICAgb3BhY2l0eTogMC41OworICAgIH0KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUg
b3BhY2l0eS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LXRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtdGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC10ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7
CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMg
ZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRl
ciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIgorICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0i
bWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIikKKzwvc2NyaXB0PgorPC9i
b2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJp
bGl0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0
byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5j
ZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2
aXNpYmxlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiBy
ZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiOworICAg
ICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFz
cyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVs
OmFmdGVyIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKKyAgICB9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNp
YmxlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1z
dmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQg
ZmlyZXMgd2hlbiBTVkcgYmVjb21lcyBjb250ZW50ZnVsLiAKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXN2Zy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBU
aW1pbmcgVGVzdDogRkNQIHdpdGggU1ZHPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7Cisg
ICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVm
dDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgfQorCisgICAgI2NpcmNs
ZSB7CisgICAgICBkaXNwbGF5OiBub25lOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xh
c3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1
bCAjY2lyY2xlIHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
ZGl2IGlkPSJtYWluIj4KKyAgPHN2ZyB2aWV3Qm94PSIwIDAgMTAgMTAiIHhtbG5zPSJodHRwOi8v
d3d3LnczLm9yZy8yMDAwL3N2ZyIKKyAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGxpbmsiPgorICAgIDxkZWZzPgorICAgICAgPGNpcmNsZSBpZD0ibXlDaXJjbGUiIGN4
PSI1IiBjeT0iNSIgcj0iNCIgc3Ryb2tlPSJibHVlIi8+CisgICAgPC9kZWZzPgorICAgIDx1c2Ug
aWQ9ImNpcmNsZSIgaHJlZj0iI215Q2lyY2xlIiBmaWxsPSJncmVlbiIgLz4KKyAgPC9zdmc+Cis8
L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgd2hlbiBTVkcgYmVjb21lcyBjb250ZW50ZnVsLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKwor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBUZXh0IGlucHV0IHNob3VsZCBiZWNvbWUgY29u
dGVudGZ1bCB3aGVuIGl0cyB2YWx1ZSBpcyBub24tZW1wdHkgCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10ZXh0LWlucHV0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0
bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgZm9yIG5vbi1lbXB0eSB0
ZXh0IGlucHV0PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8aW5wdXQgaWQ9ImlucHV0IiB0eXBlPSJ0ZXh0IiAvPgorPHNj
cmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRp
dGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBz
dXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRm
dWxQYWludCgpOworICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
aW5wdXQnKTsKKyAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgndmFsdWUnLCAnICAnKTsKKyAgICAg
IGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgICAgIGlucHV0LnNldEF0
dHJpYnV0ZSgndmFsdWUnLCAndmFsdWUnKTsKKyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVu
dGZ1bFBhaW50KCk7CisgIH0sICdUZXh0IGlucHV0IHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3
aGVuIGl0cyB2YWx1ZSBpcyBub24tZW1wdHknKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitBCisKK1BBU1MgRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyBvbmx5IHdoZW4gc29tZSBvZiB0aGUgdGV4dCBpcyB2aXNpYmxl
LCBjb25zaWRlcmluZyA6OmZpcnN0LWxldHRlci4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBv
Z3JhcGhpYy1wc2V1ZG8uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBo
aWMtcHNldWRvLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGlj
LXBzZXVkby5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBz
aG91bGQgbm90IGZpcmUgd2hlbiBhbGwgdGV4dCBpcyBoaWRkZW4gZHVlIHRvIHR5cG9ncmFwaGlj
IHBzZXVkby1lbGVtZW50czwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbiAqOjpmaXJzdC1sZXR0ZXIgeworICAgICAgICBv
cGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBp
biB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCAqOjpmaXJzdC1sZXR0
ZXIgeworICAgICAgICBvcGFjaXR5OiAxOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFp
biI+CisgICAgPGRpdj5BPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZp
cnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgb25seSB3aGVuIHNvbWUgb2YgdGhlIHRleHQgaXMg
dmlzaWJsZSwgY29uc2lkZXJpbmcgOjpmaXJzdC1sZXR0ZXIuIikKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBWaWRlbyBzaG91bGQgYmVjb21lIGNv
bnRlbnRmdWwgd2hlbiBmaXJzdCBmcmFtZSBpcyBsb2FkZWQgCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC12aWRlby1mcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFt
ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gbG9hZGVkIHZp
ZGVvIGZyYW1lPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8dmlkZW8gaWQ9InZpZGVvIiBhdXRvcGxheT48L3ZpZGVvPgor
PHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNv
bmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24n
dCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRl
bnRmdWxQYWludCgpOworICAgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndmlkZW8nKTsKKyAgICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgnc3JjJywgJy9tZWRpYS90ZXN0
Lm1wNCcpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIHZp
ZGVvLm9uY2FucGxheSA9IHJlc29sdmU7CisgICAgICB9KTsKKyAgICAgIGF3YWl0IGFzc2VydEZp
cnN0Q29udGVudGZ1bFBhaW50KCk7CisgIH0sICdWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRm
dWwgd2hlbiBmaXJzdCBmcmFtZSBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRl
bnRmdWwgd2hlbiBwb3N0ZXIgaXMgbG9hZGVkIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8t
cG9zdGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRlZCB2aWRlbyBw
b3N0ZXI8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+
PC92aWRlbz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3Nl
cnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGlt
aW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RD
b250ZW50ZnVsUGFpbnQoKTsKKyAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd2aWRlbycpOworICAgIGNvbnN0IHNyYyA9ICcuLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcn
OworICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7CisgICAgaW1hZ2Uuc3JjID0gc3JjOwor
ICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgncG9zdGVyJywgc3JjKTsKKyAgICBhd2FpdCBuZXcgUHJv
bWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgaW1hZ2Uub25sb2FkID0gYXN5bmMgKCkgPT4gcmVz
b2x2ZSgpOworICAgIH0pCisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsK
KyAgfSwgJ1ZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIHBvc3RlciBpcyBsb2Fk
ZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdo
aXRlc3BhY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNw
YWNlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFj
ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BB
U1MgV2hpdGVzcGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwuIAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13
aGl0ZXNwYWNlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2Uu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
ZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBXaGl0ZXNwYWNlIHNo
b3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jl
c291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCAwOworICAg
IH0KKworICAgICN0ZXh0IHsKKyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAv
KiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAg
ICNtYWluLmNvbnRlbnRmdWwgI3RleHR7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0id2hpdGVzcGFjZSI+ICAg
PC9kaXY+CisgICAgPGRpdiBpZD0idGV4dCI+VEVYVDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0Pgor
ICAgIHRlc3RfZmNwKCJXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bC4i
KQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1y
dGwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RFWFQKKworUEFTUyBGQ1Agc2hv
dWxkIGZpcmUgd2hlbiBjb29yZGluYXRlcyBhcmUgbmVnYXRpdmUsIGlmIHdpdGhpbiBkb2N1bWVu
dCBzY3JvbGxhYmxlIGFyZWEgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGlt
aW5nIFRlc3Q6IEZDUCBkdWUgdG8gZGlyZWN0aW9uIGNoYW5nZTwvdGl0bGU+Cis8c3R5bGU+Cisg
ICN0ZXh0IHsKKyAgICByaWdodDogLTEwMHB4OworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAg
fQorCisgIGJvZHkgeworICAgIGRpcmVjdGlvbjogcnRsOworICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHkgZGlyZWN0aW9uPSJSVEwiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJm
b3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAg
ICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQn
LCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAg
ICBkb2N1bWVudC5ib2R5LnN0eWxlLmRpcmVjdGlvbiA9ICdsdHInCisgICAgICBhd2FpdCBhc3Nl
cnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICB9LCAnRkNQIHNob3VsZCBmaXJlIHdoZW4gY29v
cmRpbmF0ZXMgYXJlIG5lZ2F0aXZlLCBpZiB3aXRoaW4gZG9jdW1lbnQgc2Nyb2xsYWJsZSBhcmVh
Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1pbXBv
cnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NDMgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6
CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4g
dGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQK
KworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZh
bHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitM
aXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3Rl
cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5k
YW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLXNjYWxlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3ZlcmZsb3cuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LWRpc3BsYXkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1v
cGFjaXR5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1z
dmcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXRleHQtaW5wdXQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBv
c3Rlci5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atd2hpdGVzcGFjZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5z
dmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL2NpcmNsZS5zdmcJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACis8c3Zn
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIj4KKyAgIDxj
aXJjbGUgY3g9IjEwMCIgY3k9IjUwIiByPSI0MCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRo
PSIyIiBmaWxsPSJub25lIiAvPgorPC9zdmc+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFp
bnRpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPGRp
diBpZD0iaW1hZ2UiPjwvZGl2PgorPHNjcmlwdD4KKyAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnSU1HJyk7CisgIGltZy5zcmMgPSAnY2lyY2xlcy5wbmcnOworICBpbWcub25s
b2FkID0gZnVuY3Rpb24oKSB7CisgICAgZnVuY3Rpb24gc2VuZFBhaW50RW50cmllcygpIHsKKyAg
ICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Bh
aW50Jyk7CisgICAgICBpZiAocGFpbnRFbnRyaWVzLmxlbmd0aCA8IDIpIHsKKyAgICAgICAgc2V0
VGltZW91dChzZW5kUGFpbnRFbnRyaWVzLCAyMCk7CisgICAgICAgIHJldHVybjsKKyAgICAgIH0K
KyAgICAgIGxldCBlbnRyeUNvbnRlbnRzID0gcGFpbnRFbnRyaWVzLmxlbmd0aCArICcnOworICAg
ICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsKKyAgICAg
ICAgY29uc3QgZW50cnkgPSBwYWludEVudHJpZXNbaV07CisgICAgICAgIGVudHJ5Q29udGVudHMg
Kz0gJyAnICsgZW50cnkuZW50cnlUeXBlICsgJyAnICArIGVudHJ5Lm5hbWU7CisgICAgICB9Cisg
ICAgICBwYXJlbnQucG9zdE1lc3NhZ2UoZW50cnlDb250ZW50cywgJyonKTsKKyAgICB9OworICAg
IHNlbmRQYWludEVudHJpZXMoKTsKKyAgfTsKKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lt
YWdlJykuYXBwZW5kQ2hpbGQoaW1nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9y
ZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0PgorICBzZWxmLmFkZEV2ZW50TGlz
dGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbihlKSB7CisgICAgLy8gU2VuZCBwYWludC10aW1pbmcg
ZW50cmllcyB1cG9uIHJlY2VpdmluZyBhIG1lc3NhZ2UuCisgICAgY29uc3QgcGFpbnRFbnRyaWVz
ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncGFpbnQnKTsKKyAgICBsZXQgZW50cnlD
b250ZW50cyA9IHBhaW50RW50cmllcy5sZW5ndGggKyAnJzsKKyAgICBmb3IgKGxldCBpID0gMDsg
aSA8IHBhaW50RW50cmllcy5sZW5ndGg7IGkrKykgeworICAgICAgY29uc3QgZW50cnkgPSBwYWlu
dEVudHJpZXNbaV07CisgICAgICBlbnRyeUNvbnRlbnRzICs9ICcgJyArIGVudHJ5LmVudHJ5VHlw
ZSArICcgJyAgKyBlbnRyeS5uYW1lOworICAgIH0KKyAgICBwYXJlbnQucG9zdE1lc3NhZ2UoZW50
cnlDb250ZW50cywgJyonKTsKKyAgfSk7Cis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGls
cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3V0aWxzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8vIE51
bWJlciBtaWxsaXNlY29uZHMgdG8gd2FpdCBmb3IgQ1NTIHJlc291cmNlcyB0byBsb2FkLgorY29u
c3QgbnVtTWlsbGlzZWNvbmRzV2FpdCA9IDUwOworCisvLyBXZSB1c2UgcmVxdWVzdEFuaW1hdGlv
bkZyYW1lKCkgY2FsbHMgdG8gZm9yY2UgdGhlIHVzZXIgYWdlbnQgdG8gcGFpbnQgYW5kIGdpdmUg
ZW5vdWdoCisvLyB0aW1lIGZvciBGQ1AgdG8gc2hvdyB1cCBpbiB0aGUgcGVyZm9ybWFuY2UgdGlt
ZWxpbmUuIEhlbmNlLCBzZXQgfG51bUZyYW1lc1dhaXRpbmd8IHRvCisvLyAzIGFuZCB1c2UgdGhh
dCBjb25zdGFudCB3aGVuZXZlciB0aGUgdGVzdCBuZWVkcyB0byB3YWl0IGZvciB0aGUgbmV4dCBw
YWludCB0byBvY2N1ci4KK2NvbnN0IG51bUZyYW1lc1dhaXRpbmcgPSAzOworCitmdW5jdGlvbiB3
YWl0VGltZSh0KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHQuc3RlcF90aW1l
b3V0KHJlc29sdmUsIG51bU1pbGxpc2Vjb25kc1dhaXQpKTsKK30KKworZnVuY3Rpb24gd2FpdEZv
ckFuaW1hdGlvbkZyYW1lcyhjb3VudCkgeworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB7CisgICAgaWYgKGNvdW50LS0gPD0gMCkgeworICAgICAgcmVzb2x2ZSgpOworICAgIH0gZWxz
ZSB7CisgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICB3YWl0Rm9y
QW5pbWF0aW9uRnJhbWVzKGNvdW50KS50aGVuKHJlc29sdmUpOworICAgICAgfSk7CisgICAgfQor
ICB9KTsKK30KKworLy8gQXNzZXJ0cyB0aGF0IHRoZXJlIGlzIGN1cnJlbnRseSBubyBGQ1AgcmVw
b3J0ZWQsIGV2ZW4gYWZ0ZXIgc29tZSB3YWl0LgorYXN5bmMgZnVuY3Rpb24gYXNzZXJ0Tm9GaXJz
dENvbnRlbnRmdWxQYWludCh0KSB7CisgIGlmICh0KQorICAgIGF3YWl0IHdhaXRUaW1lKHQpOwor
CisgIGF3YWl0IHdhaXRGb3JBbmltYXRpb25GcmFtZXMobnVtRnJhbWVzV2FpdGluZyk7CisgIGFz
c2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1
bC1wYWludCcpLmxlbmd0aCwgMCwgJ0ZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgbWFya2VkIHRvbyBl
YXJseS4gJyk7Cit9CisKKy8vIEFzc2VydHMgdGhhdCBGQ1AgaXMgcmVwb3J0ZWQsIHBvc3NpYmx5
IGFmdGVyIHNvbWUgd2FpdC4gVGhlIHdhaXQgaXMgbmVlZGVkCisvLyBiZWNhdXNlIHNvbWV0aW1l
cyB0aGUgRkNQIHJlbGllcyBvbiBzb21lIENTUyByZXNvdXJjZXMgdG8gZmluaXNoIGxvYWRpbmcu
Cithc3luYyBmdW5jdGlvbiBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KSB7CisgIGlmICh0
KQorICAgIGF3YWl0IHdhaXRUaW1lKHQpOworICBhd2FpdCB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVz
KG51bUZyYW1lc1dhaXRpbmcpOworICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeU5hbWUoJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5ndGgsIDEsICdFeHBlY3RlZCBm
aXJzdCBjb250ZW50ZnVsIHBhaW50IG5vdCBmb3VuZC4gJyk7Cit9CisKK2Z1bmN0aW9uIHRlc3Rf
ZmNwKGxhYmVsKSB7CisgIGNvbnN0IHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5
bGUnKTsKKyAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7CisgIHJldHVybiBwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVy
Zm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7Cisg
ICAgY29uc3QgbWFpbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluJyk7CisgICAgYXdh
aXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsK
KyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisgICAgbWFpbi5jbGFz
c05hbWUgPSAncHJlRkNQJzsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50
KCk7CisgICAgbWFpbi5jbGFzc05hbWUgPSAnY29udGVudGZ1bCc7CisgICAgYXdhaXQgYXNzZXJ0
Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAgfSwgbGFiZWwpOworfQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2Vz
L3czYy1pbXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyMSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0
ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRp
cmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAor
CitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQor
UHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3BhaW50
LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2ZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9w
YWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRp
bmctcGFpbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9wYWludC10aW1pbmcvcmVz
b3VyY2VzL3V0aWxzLmpzCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQt
dGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACitCYXNpYyBJbnRlcmZhY2UgdGVz
dCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQZXJmb3JtYW5jZVBhaW50VGltaW5nCitQQVNTIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaXMg
ZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUudG9KU09OIGlz
IGRlZmluZWQuCitQQVNTIG5ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcg
J25ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCknKS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9wYWludC10aW1pbmctZnJhbWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWlu
Zy1mcmFtZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKK1Bh
aW50IEFQSSBzaG91bGQgYmUgYXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5v
dCB0byBjcm9zcy1vcmlnaW4vc2FuZGJveGVkIGZyYW1lcy4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgcmVjZWl2ZWRFdmVudC5zb3VyY2UgaXMgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ25vblNhbmRib3hlZCcpLmNvbnRlbnRXaW5kb3cKK1BBU1MgcmVjZWl2ZWRFbnRy
eS5uYW1lIGlzICdmaXJzdC1jb250ZW50ZnVsLXBhaW50JworUEFTUyBkaWRSZWNlaXZlTWVzc2Fn
ZUZyb21TYW5kYm94ZWRJZnJhbWUgaXMgZmFsc2UKK1BBU1MgQXJyYXkuaXNBcnJheShub25TYW5k
Ym94U3VwcG9ydGVkVHlwZXMpIGlzIHRydWUKK1BBU1MgQXJyYXkuaXNBcnJheShzYW5kYm94U3Vw
cG9ydGVkVHlwZXMpIGlzIHRydWUKK1BBU1MgZGlkUmVjZWl2ZU1lc3NhZ2UgaXMgdHJ1ZQorUEFT
UyBub25TYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgdHJ1ZQorUEFT
UyBzYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgZmFsc2UKK1BBU1Mg
UGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBm
aXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1l
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKworCitU
RVhUCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1l
cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10
aW1pbmctZnJhbWVzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDY3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorICAgIDxpZnJhbWUgd2lkdGg9IjEwMCIgaGVpZ2h0PSIx
MDAiIGlkPSJub25TYW5kYm94ZWQiIHNyYz0iLi9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwi
PjwvaWZyYW1lPgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKzxpZnJhbWUgaWQ9InNhbmRi
b3hlZCIgc3JjPSIuL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbCIgc2FuZGJveD0iYWxsb3ct
c2NyaXB0cyI+PC9pZnJhbWU+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorCisgICAgVEVY
VAorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50IEFQSSBzaG91bGQgYmUgYXZhaWxhYmxl
IGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4vc2FuZGJveGVk
IGZyYW1lcy4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5kaWRSZWNl
aXZlTWVzc2FnZSA9IGZhbHNlOworCit3aW5kb3cub25sb2FkID0gYXN5bmMgKCkgPT4geworICAg
IGNvbnN0IHNhbmRib3hlZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYW5kYm94ZWQnKTsK
KyAgICBjb25zdCBub25TYW5kYm94ZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2Fu
ZGJveGVkJyk7CisgICAgY29uc3QgZmNwTWVzc2FnZVByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHsKKyAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICAgICAg
ICAgIHdpbmRvdy5yZWNlaXZlZEV2ZW50ID0gZXZlbnQ7CisgICAgICAgICAgICBjb25zdCBpc0Zy
b21TYW5kYm94ZWQgPSBldmVudC5zb3VyY2UgPT09IHNhbmRib3hlZC5jb250ZW50V2luZG93Owor
ICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAg
ICAgICAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkgeworICAgICAgICAgICAgICAgIGNhc2UgJ3N1
cHBvcnRlZCc6CisgICAgICAgICAgICAgICAgICAgIGlmIChpc0Zyb21TYW5kYm94ZWQpCisgICAg
ICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2FuZGJveFN1cHBvcnRlZFR5cGVzID0gbWVzc2Fn
ZS5zdXBwb3J0ZWQ7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHdpbmRvdy5ub25TYW5kYm94U3VwcG9ydGVkVHlwZXMgPSBtZXNzYWdlLnN1cHBvcnRl
ZDsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSAncmVj
ZWl2ZWQnOgorICAgICAgICAgICAgICAgICAgICB3aW5kb3cuZGlkUmVjZWl2ZU1lc3NhZ2VGcm9t
U2FuZGJveGVkSWZyYW1lID0gaXNGcm9tU2FuZGJveGVkOworICAgICAgICAgICAgICAgICAgICB3
aW5kb3cucmVjZWl2ZWRFbnRyeSA9IG1lc3NhZ2UuZW50cnk7CisgICAgICAgICAgICAgICAgICAg
IGRpZFJlY2VpdmVNZXNzYWdlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
J3JlY2VpdmVkRXZlbnQuc291cmNlJywgImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5k
Ym94ZWQnKS5jb250ZW50V2luZG93Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCdy
ZWNlaXZlZEVudHJ5Lm5hbWUnLCAiJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnIik7CisgICAgICAg
ICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICB9CisgICAgICAgIH07CisgICAgfSk7CisKKyAgICBzYW5kYm94ZWQuY29udGVudFdp
bmRvdy5wb3N0TWVzc2FnZSgicGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsK
KyAgICBub25TYW5kYm94ZWQuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgicGFpbnQiLCAiKiIp
OworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBhd2FpdCBmY3BNZXNzYWdlUHJvbWlzZTsK
KyAgICBzaG91bGRCZUZhbHNlKCdkaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUn
KTsKKyAgICBzaG91bGRCZVRydWUoJ0FycmF5LmlzQXJyYXkobm9uU2FuZGJveFN1cHBvcnRlZFR5
cGVzKScpOworICAgIHNob3VsZEJlVHJ1ZSgnQXJyYXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVk
VHlwZXMpJyk7CisgICAgc2hvdWxkQmVUcnVlKCdkaWRSZWNlaXZlTWVzc2FnZScpOworICAgIHNo
b3VsZEJlVHJ1ZSgnbm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7
CisgICAgc2hvdWxkQmVGYWxzZSgnc2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWlu
dCIpJyk7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50
ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBmaXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJhbWUgYnV0IG5v
dCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Bh
aW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxMyBAQAorUGFpbnQgQVBJIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlIGluIHdvcmtlciBj
b250ZXh0cy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgUGVyZm9ybWFu
Y2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIHRydWUK
K1BBU1Mgd29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyBmYWxz
ZQorUEFTUyB3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJtYXJrIikgaXMgdHJ1
ZQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBp
bmNsdWRlICdwYWludCcgZm9yIHdvcmtlcnMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3Jr
ZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgSFRNTD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50
IEFQSSBzaG91bGQgbm90IGJlIGF2YWlsYWJsZSBpbiB3b3JrZXIgY29udGV4dHMuIik7Cit3aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7Citjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKCIuL3Jl
c291cmNlcy93b3JrZXIuaHRtbCIpOword29ya2VyLm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAg
ICB3aW5kb3cud29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcyA9IEpTT04ucGFyc2UoZXZlbnQuZGF0
YSk7CisgICAgc2hvdWxkQmVUcnVlKCdQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5
VHlwZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCd3b3JrZXJTdXBw
b3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVUcnVlKCd3
b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJtYXJrIiknKTsKKyAgICB0ZXN0UGFz
c2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNs
dWRlICdwYWludCcgZm9yIHdvcmtlcnMiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK3dv
cmtlci5wb3N0TWVzc2FnZSgic3RhcnQiKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmly
c3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitQQVNTIGRpZFJlY2VpdmVG
aXJzdENvbnRlbnRmdWxQYWludCBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMo
KS5sZW5ndGggaXMgMQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1j
b250ZW50ZnVsLXBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIsICJwYWludCIpLmxlbmd0aCBpcyAxCitQ
QVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3RoIGlzIDEKK1BB
U1MgUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdh
c24ndCBmaXJlZCBhZ2FpbiAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorVEVYVDIKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJm
b3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0
LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiRW5zdXJlIFBl
cmZvcm1hbmNlT2JzZXJ2ZXJzIGFyZSBub3RpZmllZCBvbmNlIGZvciBmaXJzdC1jb250ZW50ZnVs
LXBhaW50LiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworIAorKGFzeW5jICgpID0+
IHsKKyAgICB3aW5kb3cuZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gZmFsc2U7Cisg
ICAgd2luZG93LnN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIGF3YWl0IHdhaXRG
b3JGQ1AoKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgY29u
c3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihlbnRyeUxpc3QgPT4geworICAg
ICAgICAgICAgd2luZG93LmVudHJ5TGlzdCA9IGVudHJ5TGlzdDsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCcsICIxIik7CisgICAgICAgICAgICBz
aG91bGRCZSgnZW50cnlMaXN0LmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFp
bnQiKS5sZW5ndGgnLCAxKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50
cmllc0J5VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgICAgICAgICAgd2luZG93LmZj
cEVudHJ5ID0gZW50cnlMaXN0LmdldEVudHJpZXMoKVswXTsKKyAgICAgICAgICAgIHNob3VsZEJl
RmFsc2UoJ2RpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCcpOworICAgICAgICAgICAgc2hv
dWxkQmUoJ2ZjcEVudHJ5Lm5hbWUnLCAnImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiJyk7CisgICAg
ICAgICAgICBzaG91bGRCZSgnZmNwRW50cnkuZW50cnlUeXBlJywgJyJwYWludCInKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlVHJ1ZSgnZmNwRW50cnkuc3RhcnRUaW1lID4gd2luZG93LnN0YXJ0VGlt
ZScpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdmY3BFbnRyeS5zdGFydFRpbWUgPCBwZXJm
b3JtYW5jZS5ub3coKScpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5LmR1cmF0aW9u
JywgIjAiKTsKKyAgICAgICAgICAgIGRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCA9IHRy
dWU7CisgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0pOworCisgICAgICAgIG9ic2Vy
dmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsncGFpbnQnXX0pOworICAgICAgICBkb2N1bWVudC5i
b2R5LmlubmVyVGV4dCA9ICdURVhUJzsKKyAgICB9KQorICAgIGRvY3VtZW50LmJvZHkuaW5uZXJU
ZXh0ID0gJ1RFWFQyJzsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgc2hvdWxkQmVUcnVl
KCdkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQnKTsKKyAgICBzaG91bGRCZSgncGVyZm9y
bWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1h
bmNlLmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAi
MSIpOworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1j
b250ZW50ZnVsLXBhaW50IiwgInBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgn
cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAg
IHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBj
YWxsYmFjayB3YXNuJ3QgZmlyZWQgYWdhaW4gIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KSgp
OworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1
YmZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIEhU
TUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQ
ZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAgICBsaXN0LmdldEVudHJpZXMoKS5m
b3JFYWNoKGVudHJ5ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uo
SlNPTi5zdHJpbmdpZnkoe3R5cGU6ICdyZWNlaXZlZCcsIGVudHJ5fSksICcqJyk7CisgICAgICAg
IH0pOworICAgIH0pOworCisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJwYWlu
dCJdfSk7CisgICAgd2luZG93Lm9ubWVzc2FnZSA9IGUgPT4geworICAgICAgICB3aW5kb3cucGFy
ZW50LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHtzdXBwb3J0ZWQ6IFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcywgdHlwZTogJ3N1cHBvcnRlZCd9KSwgJyonKTsKKyAg
ICAgICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAiVEVYVCI7CisgICAgfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpz
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMv
cGFpbnQtYXBpLXV0aWxzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNSBAQAorYXN5bmMg
ZnVuY3Rpb24gd2FpdEZvckZDUCgpCit7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9
PiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gcmVzb2x2ZSgpKSk7CisgICAgcmV0dXJuIHdp
bmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVsLXBhaW50
JykubGVuZ3RoID09IDE7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQt
dGltaW5nLWFwaS5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxMyBAQAoraWYgKHNlbGYuaW1wb3J0U2NyaXB0cykKKyAgICBpbXBvcnRTY3JpcHRzKCIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiKTsKKworaWYgKHNlbGYud2luZG93KQorICAgIGRl
c2NyaXB0aW9uKCJCYXNpYyBJbnRlcmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuIik7
CisKK2RlYnVnKCJQZXJmb3JtYW5jZVBhaW50VGltaW5nIik7CitzaG91bGRCZURlZmluZWQoIlBl
cmZvcm1hbmNlUGFpbnRUaW1pbmciKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VQYWlu
dFRpbWluZy5wcm90b3R5cGUudG9KU09OYCk7CitzaG91bGRUaHJvdyhgbmV3IFBlcmZvcm1hbmNl
UGFpbnRUaW1pbmcoKWApOworCitpZiAoc2VsZi5pbXBvcnRTY3JpcHRzKQorICAgIGZpbmlzaEpT
VGVzdCgpOwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3Jr
ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3Vy
Y2VzL3dvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBA
CitzZWxmLm9ubWVzc2FnZSA9ICgpID0+IHsKKyAgICBzZWxmLnBvc3RNZXNzYWdlKEpTT04uc3Ry
aW5naWZ5KFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcykpOworfQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46
bWltZS10eXBlID0gaW1hZ2UvcG5nCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2ly
Y2xlcy5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCitp
bWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29BQUFB
TlNVaEVVZ0FBQUNRQUFBQklDQVlBQUFDZU5sZTVBQUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFB
ZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6
U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVN
dHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFs
VmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhD
bGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRR
SU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3ek82cllxR2NUdllPa0wyZDlINU9z
OTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFU
U2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1Vl
RjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJo
dVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkx
eXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAr
eFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJY
V2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3
eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxT
SjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJ
WHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82
NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3
L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFBCkNYQklXWE1BQUFzVEFBQUxFd0VB
bXB3WUFBQUdaMGxFUVZSb0JlMmFVVzlWUlJESGQ2OHRFVkpMVzJLQ3hDWStpZ1FEb1lrS2ZnSjgK
OU1rbkV2RWR2b0Nta1MrQTcycENRc0tUai9JSkJDU0IxTlNvUEpxVTFDYWtnTmlBYWVOZGYvK1pP
VDIzNTk3U0Z1N2w2VXl5NSt6TwoyWjJablozZG5abDdjNXJQSmUwS1NzcHBocDc3VTBtUHFEL2RI
RlVSeUp1WVJKOEQ5SmtHODR6NlE5NjlYM3M2TnFwampYYWpLU0xkCkVHUWY5UldJTyttU3pzTDFC
SzFaeWlHS2hGamx1VVNIWHhoem5mWlRFeU9udytEWFE3Q085ZVF4RUo0amtGaVBRVkRFbG0xd0ta
L3kKUHBkS09jM2JoYkFQelFkRFRiaDhrL2VWbFBNUDFpT25JN1FmVU4rZ0ROWlk3bDh5MTBwS2t3
d1paeUN6TG1jUjRtdmFwNHh3U2I5Qwo3eWJ0aFZUeUg3ei9EdnpCbE10Um1KNWt6R253eHdOL0Y2
RytZc3gxMm9mNExvR2VVUHExMVJDb1hpS3R1MXFsZk1mamMyb3NYYjZHCkFKZkIzNkVObW1KOXJG
WFhoUk9VTkllQUY2SHhHUzJZNSsraGNUN0d6ZkNXYlcwVnFpRlFaYmdQYlZEcS9zeUFEeWczR1Bj
Rjczc20KUUxKbEZDSE5WTGJSNVMyQmhKT3RTYlBDdWMybDlDN05iMm1mb2R5RzFvZEJweEtxbW9L
TVpCTTAzMG1LcEFhNnYvTTRDcGR2S0JlRAp3Q3pNdFR3cjZnSFVoTlFTQlllcXBtVS9DT3BlS3Ay
UDZYQ1pjc0ZwZDk0REwxN2lxZVZ6V3BwU05NWkJqUnZSZ21heUNhTjFsekJ2CjAyZUtiK3lndEJi
OXR3b0RzZ2YwVFdVdHhrdzVEV2dsYkVtMHhjT1hYTnBVMlNLUXR2YWJJRmRaYzJ5R1pTcW1tVXZn
MzJIZ1g1VEgKTWFpYVBjMGR3VmxxckdpSVZzcVhuRFk4bkJjOGpYZTE3UE81K0FHRzNiQ2JVdm1S
RGpkTXhkS01DTGs5N01oOUZ4MDYwSDRMbXZkVAo3djdFRzV2S24yRG8ybjJ5cDBleVFzMUNoZ2l3
dFkyNUdiQVFXcDcvVkJrU2lKWm9Bc1lEclJoUElTUkRTUjIvRHRnTmR1aWQ4cTF0CnUwa0dYQzJU
Qmd3RHN0SE1uTzVGUERoR0VtZWI4MTVCZXpQU2tPNG13VGw3SnM0WmdlK21zSG4vTXFSbkoyaERM
bmpaNlcvVTk2ZU8KWDVSOHM1TjFFZlFkSk5WMW9hM29vbHJmb1QxRTgwbndFSy9GNEMxdTJKQnVi
VjJVUlVkNnZoVnNSNkdaNW95Y2gzZ2FiMlNRTElFOQpFYjI1bTZ5bUU5alBoU2FaNGJSRmV5TjRM
VGhKOHh6OElnRXg2MGk3S0ZWZDkvWkluK3MrWlhnNnVBeGpyaEYzSlhScmU5c1BxVkhLClU5OS9G
VTk1QVpzYUdpWHJ2ZEhHcUFYeTlHVGwrRE84L2RZMjFNZ2U0aUZlNHVtZ0syUlRRN28wQVhPdVZJ
bVRXOVdSd1Q0M0QzZzYKdUF5K3kvQ0JIVTZhbEg3N3VqWEZoeUcvUkZ2ZWhRRHZVaEF5WU5TS0Ru
UzV5VlhGVjdaZW96ZnE2c0xXZ2V3bW82RGdnQTdHYVZOZApNWWRjUHZBY2JUbGdjcHg4RGxTR0NL
STVHVHpFNnpnSHNvSUJjWnZXd2ZnczJGNXhwdmpBQXZmMFJxRXArVjVoeU1FcktUSXhycEpsCkhn
SHQ3dUxHNzhwNXg0NDZ4NUJZL3JPOHhNY21udlYvNllkOGRxZVo4Yk5MOXpjb0xzQnZqdmRoZUsx
SVE1SXRUbWFGS2tLWlEwNDEKVFZCZVUyVklJRnFpQ1JnUHNSZFBnV1NJQThmRGtTUG11V1ZDRmZQ
a2NNak5zN05yaFlHMFhodzBWdWVPL0tEN2tCTHRNL0JUV0tRTgpwUURTZzR1SU91U2pQR0NBYnZ6
ekREaUdTM0FCM0NwdCtkVnk4dVd3YS9uMklweTBMNXVaNGozQitEK2gvV1hRdm0yOGpLZEZzMDQz
CkJOSU1kUHR1TUJnZ2Jpb0tnOHk5bEpBZUJ2a01GUWJKVnhLNEtYcTk5MWxwOHcxNnlJQ1hmRElS
QnBWRXRBc1BnVWV4dFhjUkF1bVQKaUl2UkRBWDFLVzVTb0tnNHFyQTlYemhRRk0zK1FCRWtFTHg2
SmlZOTlZQ1dUbXVwam9pb1diRE9Gbkd5STNLNXluZnRDSjFUeTlTVgpPSkRHL29taW0xdTRaUXE3
MWtMcHEweE11MGtSQmpZVG12RW9RN3kyaXNDMmIrYUhmTjExZUcyZmJGaUUrQzIrUHkvWjhCSGYz
NGVoCmx1VXV4c3R1Mm51eXdjYkhRM2FnKzBZQnBHWU00VWpIMkJYenZIU005ZVlxNGdTMlF5L1NN
YjZiOXB5T01XcnhjRzE1cUNRUFFNc0EKSDRyODhJemJXZXhZY0FmUElsOFpNQmVsSjZ5OHJ5Y25k
cGV3R3JCa0lVdmZxOHFNdkk0UWlocDBEQXdHRjNpQ1BwTjArSmQrc2hWaApkNGF0RnJWei81SDM2
Tm4yZzNpOTdKS3RtVjVlV1k1eDBKSVpqa2ViWTlRQ1N4dHV3TDdjVmIweTN6YkgyTnpLdFUxVnRU
Ykg2TGF6Ci9kT3RUSDVVbTJQY1hrdTlYOW9jWTY4MnRxdTNPY2J0Tk5QRXU2UFI1aGliZXFuYmJZ
Nngxc1ZlYW0yT3NkWldtMk9zZFRHNDFqVjAKbTJQczEwNmJZK3pYU1kxcGM0eTFMcnhXaGVKdGpq
SE9GRXZQS1kvVSsyZVVOc2RJaW5mZ0g1cmFIR1AvbitMOGQ2OGxRdjVYbW1QVQpYek5HOTdmQi93
RlpiZzA1RUVOdU53QUFBQUJKUlU1RXJrSmdnZz09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397073</attachid>
            <date>2020-04-21 04:21:43 -0700</date>
            <delta_ts>2020-04-21 06:52:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200421142140.patch</filename>
            <type>text/plain</type>
            <size>176594</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDQyNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyNCBAQAorMjAyMC0wNC0yMSAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIHRoZSBuZWNlc3NhcnkgaW50ZXJmYWNlLCBleHRlbnNpb25zIHRv
IHRoZSBwZXJmb3JtYW5jZSBpbnRlcmZhY2UgYW5kIG9ic2VydmVyLCBuZXcgcnVudGltZSBmbGFn
LgorICAgICAgICBEZXRlY3RpbmcgY29udGVudGZ1bG5lc3MgYWZ0ZXIgbGF5b3V0IGFuZCBiZWZv
cmUgYWN0dWFsIHBhaW50LCBieSBydW5uaW5nIGEgImR1bW15IiBwYWludCwgc2ltaWxhciB0byAK
KyAgICAgICAgaW52YWxpZGF0ZUNvbnRyb2xUaW50cygpIC8gaW52YWxpZGF0ZUltYWdlc1dpdGhB
c3luY0RlY29kZXMoKS4gU2F2ZSB0aGUgcmVzdWx0IHRvIHRoZSBHcmFwaGljc0NvbnRleHQgYW5k
IHRoZW4gdG8gdGhlIGRvY3VtZW50LgorICAgICAgICBUaGlzIHdvdWxkIHJ1biBmb3IgZXZlcnkg
cGFpbnQgdW50aWwgd2UgZGV0ZWN0IGEgY29udGVudGZ1bCBvbmUuCisKKyAgICAgICAgTm90ZSB0
aGF0IGl0IHBhaW50cyB0aGUgZW50aXJlIGZyYW1lIGNvbnRlbnRzLCBhcyBGQ1AgaXMgbm90IHZp
ZXdwb3J0LWRlcGVuZGVudC4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1s
CisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1p
bWFnZS10d28tc3RlcHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qt
cm90YXRlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQt
b2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LW9wYWNpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRl
eHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1s
CisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC12aWRlby1mcmFtZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5o
dG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWlu
dC1mcmFtZXMuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQtd2l0aC13b3JrZXIuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFw
aS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6Cisg
ICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogcGFnZS9QZXJmb3Jt
YW5jZVBhaW50VGltaW5nLmg6IEFkZGVkLgorICAgICAgICAoaXNUeXBlKToKKyAgICAgICAgKiBw
YWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsOiBBZGRlZC4KKyAgICAgICAgICAgICAgICBB
ZGQgUGVyZm9ybWFuY2VQYWludFRpbWluZyBpbnRlcmZhY2UuIGh0dHBzOi8vdzNjLmdpdGh1Yi5p
by9wYWludC10aW1pbmcvI3NlYy1QZXJmb3JtYW5jZVBhaW50VGltaW5nCisKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnN1cHBvcnRzUGFp
bnRUaW1pbmcgY29uc3QpOgorICAgICAgICAgICAgICAgIFdlIG9ubHkgcmVwb3J0IHBhaW50IHRp
bWluZyBmb3IgZG9jdW1lbnQgdGhhdCBjYW4gYWNjZXNzIHRoZSB0b3AgbGV2ZWwgc2VjdXJpdHkg
b3JpZ2luLCB0byBhdm9pZCBsZWFrYWdlIG9mIGluZm9ybWF0aW9uIHRvIHNhbmRib3hlZCBpZnJh
bWVzLgorCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVwb3J0UGFpbnRUaW1pbmdJZk5l
ZWRlZCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICAgICAgICAgUmVwb3J0
IHBhaW50IHRpbWluZywgYWNjb3JkaW5nIHRvIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10
aW1pbmcvI3NlYy1yZXBvcnRpbmctcGFpbnQtdGltaW5nCisKKyAgICAgICAgKiBwYWdlL1BhZ2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6Cisg
ICAgICAgICAgICAgICAgUmVwb3J0IGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgYWZ0ZXIgbGF5b3V0
LgorICAgICAgICAgICAgICAgIFNlZSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRp
cGFnZS93ZWJhcHBhcGlzLmh0bWwjdXBkYXRlLXRoZS1yZW5kZXJpbmcKKworICAgICAgICAqIHBh
Z2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVu
dHJpZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNC
eVR5cGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNC
eU5hbWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0
Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAgICAg
ICAgICAgICAgU3VwcG9ydCBmaXJzdC1jb250ZW50ZnVsLXBhaW50IHJlcG9ydGluZy4KKworICAg
ICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyk6CisgICAgICAgICogcGFnZS9QZXJm
b3JtYW5jZUVudHJ5Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc1Bh
aW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6
CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmg6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZU9ic2VydmVyLmlkbDoKKyAgICAgICAgICAgICAgICBBZGQgcGFpbnQgcGVyZm9y
bWFuY2UgZW50cnkgdHlwZS4KKworICAgICAgICAqIHBhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0UGFpbnRU
aW1pbmdFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnBhaW50VGltaW5nRW5hYmxlZCBjb25zdCk6CisgICAgICAgICAgICAgICAgTmV3IHJ1bnRpbWUg
ZmxhZyBmb3IgcGFpbnQgdGltaW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRldGVj
dGluZ0NvbnRlbnRmdWxQYWludCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQ6OnNldENvbnRlbnRmdWxQYWludERldGVjdGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDo6Y29udGVuZnVsUGFpbnREZXRlY3RlZCBjb25zdCk6CisgICAgICAgICAg
ICAgICAgQWRkIGEgZmxhZyBpbiBHcmFwaGljc0NvbnRleHQgd2hlcmUgZGlmZmVyZW50IHJlbmRl
ciBvcGVyYXRpb25zIGNhbiByZXBvcnQgaWYgdGhleSdyZSBjb250ZW50ZnVsLgorCisgICAgICAg
ICogcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkNvbnRlbnRmdWxQYWludENoZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRmdWxQ
YWludCk6CisgICAgICAgICAgICAgICAgUnVuIGEgImR1bW15IiBwYWludCBvZiB0aGUgRnJhbWVW
aWV3LCB0byBkZXRlY3QgY29udGVudGZ1bCBlbGVtZW50cy4gCisKKyAgICAgICAgKiByZW5kZXJp
bmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oOiBBZGRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9k
ZWxPYmplY3Q6OnBhaW50RmlsbExheWVyRXh0ZW5kZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJIVE1MQ2FudmFzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckhUTUxDYW52YXM6
OnBhaW50UmVwbGFjZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6cGFpbnRSZXBsYWNlZCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpwYWludExheWVyQ29udGVudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWRlby5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWRlbzo6cGFpbnRSZXBsYWNlZCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1RleHRQYWludGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRQ
YWludGVyOjpwYWludFRleHRPckVtcGhhc2lzTWFya3MpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUm9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSb290Ojpw
YWludFJlcGxhY2VkKToKKyAgICAgICAgICAgICAgICBSZXBvcnQgY29udGVudGZ1bG5lc3Mgd2hl
biB3ZSByZWFjaCBhbnl0aGluZyB0aGF0IHF1YWxpZmllcyBhcyBjb250ZW50ZnVsLAorICAgICAg
ICAgICAgICAgIGJhc2VkIG9uIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI2Nv
bnRlbnRmdWwuCisKIDIwMjAtMDQtMjEgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBFeGl0IGVhcmx5IGluIEZyYW1lTG9hZGVyOjpsb2FkVVJMIHdoZW4gcmVkaXJlY3Rp
bmcgdG8gYW5vdGhlciBmcmFtZQpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDI2
MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC05MzYsNiArOTM2LDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBwYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsCisg
ICAgcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbAog
ICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTkyNiw2ICs5MjYsNyBAQCBKU19CSU5ESU5HX0lE
TFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwgXAogICAgICQoV2ViQ29y
ZSkvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9w
YWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1Bl
cmZvcm1hbmNlVGltaW5nLmlkbCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjYwMDQ1
KQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIxMjEs
NiArMjEyMSw3IEBAIHJlbmRlcmluZy9CcmVha0xpbmVzLmNwcAogcmVuZGVyaW5nL0NTU0ZpbHRl
ci5jcHAKIHJlbmRlcmluZy9DbGlwUmVjdC5jcHAKIHJlbmRlcmluZy9Db21wbGV4TGluZUxheW91
dC5jcHAKK3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAogcmVuZGVyaW5nL0Nv
dW50ZXJOb2RlLmNwcAogcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNwcAogcmVuZGVyaW5nL0V2ZW50
UmVnaW9uLmNwcApAQCAtMzE5OSw2ICszMjAwLDcgQEAgSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24u
Y3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxs
YmFjay5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAKK0pTUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKIEpTUGVy
Zm9ybWFuY2VTZXJ2ZXJUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcApJbmRleDog
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MDUzLDYgKzQwNTMsNyBAQAogCQlDOUY4
N0NGRTFCMjhGNDBFMDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOUY4N0NGRDFCMjhFNUY2MDA5NzlC
ODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0EzQkY2N0UxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFu
aW1hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
QTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDQTZDMTUzMDIyMEI5OENDMDA1
NUNCRkMgLyogSlNWYWx1ZUluV3JhcHBlZE9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMxQUUzQjgxRkI4MEVBRTAwRjVFRkIyIC8qIEpTVmFs
dWVJbldyYXBwZWRPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlDQTdFOUI0OTI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50
Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0E3RTlCNDcyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIuaCAqLzsg
fTsKIAkJQ0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENBRTlGOTBFMTQ2
NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggKi87IH07CiAJCUNCMzhGRDUy
MUNDRjkzOTQwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENCMzhGRDRFMUNDRjkzN0UwMDU5MkEzRiAv
KiBKU1BlcmZvcm1hbmNlRW50cnkuaCAqLzsgfTsKIAkJQ0IzOEZENUIxQ0QyMzI1QjAwNTkyQTNG
IC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0IzOEZENTkxQ0QyMzE0NTAwNTkyQTNGIC8qIEpTUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovOyB9OwpAQCAtMTM4MTYsNiArMTM4MTcsOCBAQAog
CQlDQTA5MUQ4NjIzQ0Y5MDc4MDBBRDQzNDYgLyogU3R5bGVJbWFnZVNldC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTdHlsZUltYWdlU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0EwOTFEODkyM0NGOTA4ODAwQUQ0MzQ2IC8qIFN0eWxlSW1hZ2VTZXQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU3R5bGVJbWFnZVNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTE2
MzVEQzIwNzJFNzY5MDBFN0QyQ0UgLyogUmVmZXJyZXJQb2xpY3kuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmZXJyZXJQb2xpY3kuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDQTE5MzNENTI0MDdENjQwMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQ
YWludFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkzM0Q4MjQwN0VEQ0YwMDcxMjQxQSAvKiBQ
ZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJmb3Jt
YW5jZVBhaW50VGltaW5nLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2
N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9y
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNTJCQUU1MjNEMEFGMTYwMERFMEI4NCAvKiBT
dHlsZUN1cnNvckltYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlQ3Vyc29ySW1hZ2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM4MjUsNiArMTM4MjgsOCBAQAog
CQlDQTZDMTUyRjIyMEI0QTU1MDA1NUNCRkMgLyogSlNJREJSZXF1ZXN0Q3VzdG9tLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCUmVxdWVzdEN1c3RvbS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNkMxNTM3MjIwRDFFQjMwMDU1Q0JGQyAv
KiBKU0lEQkN1cnNvckN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0lEQkN1cnNvckN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUNBNkMxNTM4MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0lEQkN1cnNvcldpdGhW
YWx1ZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBN0U5QjQ3MjQz
NjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRmdWxQYWludENoZWNrZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0E3RTlCNDgyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQ
YWludENoZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29u
dGVudGZ1bFBhaW50Q2hlY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNB
RTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0FzcGVjdFJhdGlvVmFsdWUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQUU5RjkwRTE0NjQ0MUYwMDBDMjQ1QjAgLyog
Q1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
U1NBc3BlY3RSYXRpb1ZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNCMzhG
RDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRW50cnkuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMjA5NTksNiArMjA5NjQsOCBAQAogCQkJCUE1QTk5MzNBMUUz
N0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCAqLywKIAkJ
CQlBNUE5OTMzQjFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlz
dC5oICovLAogCQkJCUE1QTk5MzNDMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2Vy
dmVyRW50cnlMaXN0LmlkbCAqLywKKwkJCQlDQTE5MzNENTI0MDdENjQwMDA3MTI0MUEgLyogUGVy
Zm9ybWFuY2VQYWludFRpbWluZy5oICovLAorCQkJCUNBMTkzM0Q4MjQwN0VEQ0YwMDcxMjQxQSAv
KiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLywKIAkJCQk4NjUxMkVEQjE1NEEyQUVFMDBB
OTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi8sCiAJCQkJODY1MTJFREMx
NTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCAqLywKIAkJCQk4
NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwg
Ki8sCkBAIC0yODA0Miw2ICsyODA0OSw4IEBACiAJCQkJQkNERDQ1NEQxMjM2Qzk1QzAwOUE3OTg1
IC8qIENvbHVtbkluZm8uaCAqLywKIAkJCQlCQ0VBNDgxMzA5N0Q5MzAyMDA5NEM5RTQgLyogQ29t
cGxleExpbmVMYXlvdXQuY3BwICovLAogCQkJCUU0QTFBQzc4MjJGQUZENTAwMDE3Qjc1QiAvKiBD
b21wbGV4TGluZUxheW91dC5oICovLAorCQkJCUNBN0U5QjQ4MjQzNjFEQzUwMDRFODlGNiAvKiBD
b250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcCAqLywKKwkJCQlDQTdFOUI0NzI0MzYxREM1MDA0RTg5
RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oICovLAogCQkJCTkzOTJGMTRGMEFEMTg2MjMw
MDY5MUJENCAvKiBDb3VudGVyTm9kZS5jcHAgKi8sCiAJCQkJOTM5MkYxNEIwQUQxODYxQjAwNjkx
QkQ0IC8qIENvdW50ZXJOb2RlLmggKi8sCiAJCQkJMEY1M0ZCODEyMTNCMUJCODAwQzQwRDM0IC8q
IENTU0ZpbHRlci5jcHAgKi8sCkBAIC0yOTc0Niw2ICsyOTc1NSw3IEBACiAJCQkJQTE0OTc4NkYx
QUJBRjMzODAwQ0VGN0U0IC8qIENvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTVD
RENEREM2MjNEODBBMUMwMEJBMzRBMSAvKiBDb250ZW50RmlsdGVyQ2xpZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBMTQwOTBGRDFBQTUxRTQ4MDA5MTE5MUEgLyogQ29udGVudEZpbHRlclVuYmxv
Y2tIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDQTdFOUI0OTI0MzYxREM1MDA0RTg5RjYg
LyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUM5QzJEQjUy
MjQxQTY3QjAwOTk2QjBCIC8qIENvbnRlbnRSdWxlTGlzdFJlc3VsdHMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTk3QzQ3MURDMTJGOTI1QkQwMDg2MzU0QiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3ku
aCBpbiBIZWFkZXJzICovLAogCQkJCUNFNUZBMjU1MjA5RTQ4QzUwMDUxRDcwMCAvKiBDb250ZW50
U2VjdXJpdHlQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3Bw
CShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZv
cm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSwxMSBAQAog
I2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgi
CiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1h
bmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1l
YXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcg
bmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+
JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkK
KyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNiArMTc5LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3VyZSkgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWluZykgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVNlcnZl
clRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXApJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiQ29tcG9z
aXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkNvbnN0YW50UHJvcGVydHlNYXAuaCIKICNpbmNsdWRl
ICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIKKyNpbmNsdWRlICJDb250ZW50ZnVsUGFpbnRDaGVj
a2VyLmgiCiAjaW5jbHVkZSAiQ29va2llSmFyLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRWxlbWVudFJl
YWN0aW9uUXVldWUuaCIKICNpbmNsdWRlICJDdXN0b21FbGVtZW50UmVnaXN0cnkuaCIKQEAgLTE0
OCw2ICsxNDksNyBAQAogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlBhZ2VUcmFu
c2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQYWludFdvcmtsZXRHbG9iYWxTY29wZS5oIgorI2lu
Y2x1ZGUgIlBlcmZvcm1hbmNlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Mb2NhbGUuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVNj
cmVlbi5oIgpAQCAtMzE0MSw2ICszMTQzLDM0IEBAIGJvb2wgRG9jdW1lbnQ6OmlzTGF5b3V0VGlt
ZXJBY3RpdmUoKSBjb24KICAgICByZXR1cm4gdmlldygpICYmIHZpZXcoKS0+bGF5b3V0Q29udGV4
dCgpLmlzTGF5b3V0UGVuZGluZygpOwogfQogCitib29sIERvY3VtZW50OjpzdXBwb3J0c1BhaW50
VGltaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQoKSAmJiBzZWN1cml0eU9yaWdpbigpLmNh
bkFjY2Vzcyh0b3BPcmlnaW4oKSk7Cit9CisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWlu
dC10aW1pbmcvI3JlZi1mb3ItbWFyay1wYWludC10aW1pbmcKK3ZvaWQgRG9jdW1lbnQ6OnJlcG9y
dFBhaW50VGltaW5nSWZOZWVkZWQoKQoreworICAgIGlmIChtX2RpZFJlcG9ydEZpcnN0Q29udGVu
dGZ1bFBhaW50KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIXN1cHBvcnRzUGFpbnRUaW1p
bmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFkb21XaW5kb3coKSB8fCAhdmlldygp
KQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBUbyBtYWtlIHN1cmUgd2UgZG9uJ3QgcmVwb3J0
IHBhaW50IHdoaWxlIHRoZSBsYXllciB0cmVlIGlzIHN0aWxsIGZyb3plbi4KKyAgICBpZiAoIXZp
ZXcoKS0+aXNWaXN1YWxseU5vbkVtcHR5KCkgfHwgdmlldygpLT5uZWVkc0xheW91dCgpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpZiAoIUNvbnRlbnRmdWxQYWludENoZWNrZXI6OnF1YWxpZmll
c0ZvckNvbnRlbnRmdWxQYWludCgqdmlldygpKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZG9t
V2luZG93KCktPnBlcmZvcm1hbmNlKCkucmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAg
ICBtX2RpZFJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50ID0gdHJ1ZTsKK30KKwogRXhjZXB0aW9u
T3I8dm9pZD4gRG9jdW1lbnQ6OndyaXRlKERvY3VtZW50KiByZXNwb25zaWJsZURvY3VtZW50LCBT
ZWdtZW50ZWRTdHJpbmcmJiB0ZXh0KQogewogICAgIGlmIChtX2FjdGl2ZVBhcnNlcldhc0Fib3J0
ZWQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMzUsNiArMTAzNSw4
IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2hvdWxkRGVmZXJBc3luY2hyb25vdXNTY3JpcHRzVW50
aWxQYXJzaW5nRmluaXNoZXMoKSBjb25zdDsKIAorICAgIGJvb2wgc3VwcG9ydHNQYWludFRpbWlu
ZygpIGNvbnN0OworCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgdm9pZCBzY2hlZHVsZVRvQXBwbHlY
U0xUcmFuc2Zvcm1zKCk7CiAgICAgdm9pZCBhcHBseVBlbmRpbmdYU0xUcmFuc2Zvcm1zTm93SWZT
Y2hlZHVsZWQoKTsKQEAgLTE1NzUsNiArMTU3Nyw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0
SGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQoKSB7IG1faGFzVmlzdWFsbHlOb25FbXB0
eUN1c3RvbUNvbnRlbnQgPSB0cnVlOyB9CiAgICAgYm9vbCBoYXNWaXN1YWxseU5vbkVtcHR5Q3Vz
dG9tQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNv
bnRlbnQ7IH0KKyAgICB2b2lkIHJlcG9ydFBhaW50VGltaW5nSWZOZWVkZWQoKTsKIAogcHJvdGVj
dGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9uRmxhZ3MgeyBTeW50aGVzaXplZCA9IDEsIE5vblJl
bmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEgfTsKQEAgLTIwNDEsNiArMjA0NCw5IEBAIHByaXZh
dGU6CiAKICAgICBib29sIG1fYXJlRGV2aWNlTW90aW9uQW5kT3JpZW50YXRpb25VcGRhdGVzU3Vz
cGVuZGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fdXNlckRpZEludGVyYWN0V2l0aFBhZ2UgeyBm
YWxzZSB9OworCisgICAgYm9vbCBtX2RpZFJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50IHsgZmFs
c2UgfTsKKwogI2lmIEFTU0VSVF9FTkFCTEVECiAgICAgYm9vbCBtX2luSGl0VGVzdGluZyB7IGZh
bHNlIH07CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAkocmV2aXNpb24gMjYwMDQ1KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM3Niw2
ICsxMzc2LDEwIEBAIHZvaWQgUGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZygpCiAgICAgLy8g
bGF5b3V0IHRvIGJlIHVwLXRvLWRhdGUuIEl0IHNob3VsZCBub3QgcnVuIHNjcmlwdCwgdHJpZ2dl
ciBsYXlvdXQsIG9yIGRpcnR5IGxheW91dC4KIAogICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9j
dW1lbnQmIGRvY3VtZW50KSB7CisgICAgICAgIGRvY3VtZW50LnJlcG9ydFBhaW50VGltaW5nSWZO
ZWVkZWQoKTsKKyAgICB9KTsKKworICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRv
Y3VtZW50KSB7CiAgICAgICAgIGRvY3VtZW50LnVwZGF0ZUhpZ2hsaWdodFBvc2l0aW9ucygpOwog
ICAgIH0pOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkocmV2aXNpb24g
MjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCiAj
aW5jbHVkZSAiUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VP
YnNlcnZlci5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1p
bmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVVzZXJUaW1pbmcuaCIKQEAgLTEyNCw2ICsxMjUs
OSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3JtCiAgICAgICAgIGVu
dHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWVhc3VyZXMoKSk7CiAgICAgfQog
CisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpCisgICAgICAgIGVudHJpZXMuYXBwZW5k
KG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworCiAgICAgc3RkOjpzb3J0KGVudHJpZXMuYmVnaW4o
KSwgZW50cmllcy5lbmQoKSwgUGVyZm9ybWFuY2VFbnRyeTo6c3RhcnRUaW1lQ29tcGFyZUxlc3NU
aGFuKTsKICAgICByZXR1cm4gZW50cmllczsKIH0KQEAgLTEzNSw2ICsxMzksOSBAQCBWZWN0b3I8
UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3JtCiAgICAgaWYgKGVxdWFsTGV0dGVyc0ln
bm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInJlc291cmNlIikpCiAgICAgICAgIGVudHJpZXMu
YXBwZW5kVmVjdG9yKG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIpOwogCisgICAgaWYgKG1fZmlyc3RD
b250ZW50ZnVsUGFpbnQgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBl
LCAicGFpbnQiKSkKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWlu
dCk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJrIikpCiAgICAgICAgICAgICBlbnRyaWVz
LmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1hcmtzKCkpOwpAQCAtMTU3LDYgKzE2NCw5
IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICAgICAgfQog
ICAgIH0KIAorICAgIGlmIChtX2ZpcnN0Q29udGVudGZ1bFBhaW50ICYmIChlbnRyeVR5cGUuaXNO
dWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQi
KSkgJiYgbmFtZSA9PSAiZmlyc3QtY29udGVudGZ1bC1wYWludCIpCisgICAgICAgIGVudHJpZXMu
YXBwZW5kKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworCiAgICAgaWYgKG1fdXNlclRpbWluZykg
ewogICAgICAgICBpZiAoZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5n
QVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5k
VmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MobmFtZSkpOwpAQCAtMTgwLDYgKzE5MCwxMyBA
QCB2b2lkIFBlcmZvcm1hbmNlOjpzZXRSZXNvdXJjZVRpbWluZ0J1ZmZlCiAgICAgbV9yZXNvdXJj
ZVRpbWluZ0J1ZmZlckZ1bGxGbGFnID0gZmFsc2U7CiB9CiAKK3ZvaWQgUGVyZm9ybWFuY2U6OnJl
cG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCkKK3sKKyAgICBBU1NFUlQoIW1fZmlyc3RDb250ZW50
ZnVsUGFpbnQpOworICAgIG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgPSBQZXJmb3JtYW5jZVBhaW50
VGltaW5nOjpjcmVhdGVGaXJzdENvbnRlbnRmdWxQYWludChub3coKSk7CisgICAgcXVldWVFbnRy
eSgqbV9maXJzdENvbnRlbnRmdWxQYWludCk7Cit9CisKIHZvaWQgUGVyZm9ybWFuY2U6OmFkZFJl
c291cmNlVGltaW5nKFJlc291cmNlVGltaW5nJiYgcmVzb3VyY2VUaW1pbmcpCiB7CiAgICAgQVNT
RVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZS5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1LDcgQEAgY2xhc3MgTG9hZFRpbWluZzsK
IGNsYXNzIFBlcmZvcm1hbmNlRW50cnk7CiBjbGFzcyBQZXJmb3JtYW5jZU5hdmlnYXRpb247CiBj
bGFzcyBQZXJmb3JtYW5jZU9ic2VydmVyOworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZzsK
IGNsYXNzIFBlcmZvcm1hbmNlVGltaW5nOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNz
IFJlc291cmNlVGltaW5nOwpAQCAtNzcsNiArNzgsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFk
ZFJlc291cmNlVGltaW5nKFJlc291cmNlVGltaW5nJiYpOwogCisgICAgdm9pZCByZXBvcnRGaXJz
dENvbnRlbnRmdWxQYWludCgpOworCiAgICAgdm9pZCByZW1vdmVBbGxPYnNlcnZlcnMoKTsKICAg
ICB2b2lkIHJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7
CiAgICAgdm9pZCB1bnJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2Vy
dmVyJik7CkBAIC0xMjEsNiArMTI0LDcgQEAgcHJpdmF0ZToKIAogICAgIE1vbm90b25pY1RpbWUg
bV90aW1lT3JpZ2luOwogCisgICAgUmVmUHRyPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IG1fZmly
c3RDb250ZW50ZnVsUGFpbnQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFVzZXJUaW1pbmc+IG1fdXNl
clRpbWluZzsKIAogICAgIEdlbmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4g
bV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlRW50cnkuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCwx
MSBAQCBPcHRpb25hbDxQZXJmb3JtYW5jZUVudHJ5OjpUeXBlPiBQZXJmb3JtCiAgICAgICAgICAg
ICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlwZTo6UmVzb3VyY2UpOwogICAgIH0KIAorICAgIGlm
IChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnBhaW50VGltaW5nRW5h
YmxlZCgpKSB7CisgICAgICAgIGlmIChlbnRyeVR5cGUgPT0gInBhaW50IikKKyAgICAgICAgICAg
IHJldHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpQYWludCk7CisgICAgfQorCiAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmgJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VFbnRyeS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxMCArNDgsMTEgQEAgcHVibGljOgogICAg
IGRvdWJsZSBkdXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZHVyYXRpb247IH0KIAogICAgIGVu
dW0gY2xhc3MgVHlwZSB7Ci0gICAgICAgIE5hdmlnYXRpb24gPSAxIDw8IDAsCi0gICAgICAgIE1h
cmsgPSAxIDw8IDEsCi0gICAgICAgIE1lYXN1cmUgPSAxIDw8IDIsCi0gICAgICAgIFJlc291cmNl
ID0gMSA8PCAzLAorICAgICAgICBOYXZpZ2F0aW9uICA9IDEgPDwgMCwKKyAgICAgICAgTWFyayAg
ICAgICAgPSAxIDw8IDEsCisgICAgICAgIE1lYXN1cmUgICAgID0gMSA8PCAyLAorICAgICAgICBS
ZXNvdXJjZSAgICA9IDEgPDwgMywKKyAgICAgICAgUGFpbnQgICAgICAgPSAxIDw8IDQKICAgICB9
OwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC02Miw2ICs2Myw3IEBA
IHB1YmxpYzoKICAgICBib29sIGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0g
VHlwZTo6UmVzb3VyY2U7IH0KICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5cGUo
KSA9PSBUeXBlOjpNYXJrOyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJldHVybiB0
eXBlKCkgPT0gVHlwZTo6TWVhc3VyZTsgfQorICAgIGJvb2wgaXNQYWludCgpIGNvbnN0IHsgcmV0
dXJuIHR5cGUoKSA9PSBUeXBlOjpQYWludDsgfQogCiAgICAgc3RhdGljIGJvb2wgc3RhcnRUaW1l
Q29tcGFyZUxlc3NUaGFuKGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYSwgY29uc3Qg
UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+JiBiKQogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTEzLDE1ICsxMTMsMjEgQEAgdm9pZCBQZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVyKCkK
ICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpcmVPYnNlcnZlckNhbGxiYWNrKCpj
b250ZXh0KTsKIH0KIAotVmVjdG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9y
dGVkRW50cnlUeXBlcygpCitWZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBw
b3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiB7Ci0gICAg
cmV0dXJuIHsKKyAgICBWZWN0b3I8U3RyaW5nPiBlbnRyeVR5cGVzID0gewogICAgICAgICAvLyBG
SVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NDM2Mz4gQWRkIHN1cHBvcnQgZm9yIE5hdmln
YXRpb24gVGltaW5nIExldmVsIDIKICAgICAgICAgLy8gIm5hdmlnYXRpb24iX3MsCiAgICAgICAg
ICJtYXJrIl9zLAotICAgICAgICAibWVhc3VyZSJfcywKLSAgICAgICAgInJlc291cmNlIl9zCisg
ICAgICAgICJtZWFzdXJlIl9zCiAgICAgfTsKKworICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4
dCkgJiYgZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpLnN1cHBvcnRzUGFpbnRUaW1pbmcoKSkK
KyAgICAgICAgZW50cnlUeXBlcy5hcHBlbmQoInBhaW50Il9zKTsKKworICAgIGVudHJ5VHlwZXMu
YXBwZW5kKCJyZXNvdXJjZSJfcyk7CisKKyAgICByZXR1cm4gZW50cnlUeXBlczsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyLmgJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VPYnNlcnZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihjb250
ZXh0LCBXVEZNb3ZlKGNhbGxiYWNrKSkpOwogICAgIH0KIAotICAgIHN0YXRpYyBWZWN0b3I8U3Ry
aW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzKCk7CisgICAgc3RhdGljIFZlY3RvcjxTdHJpbmc+IHN1
cHBvcnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogCiAgICAgdm9pZCBk
aXNhc3NvY2lhdGUoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuaWRsCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiBd
IGludGVyZmFjZSBQZXJmb3JtYW5jZU9ic2VydmVyIHsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgb2JzZXJ2ZShQZXJmb3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKICAgICB2b2lk
IGRpc2Nvbm5lY3QoKTsKLSAgICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5
PERPTVN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlczsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dF0gc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01T
dHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXM7CiB9OwogCiBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNl
T2JzZXJ2ZXJJbml0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWlu
dFRpbWluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQ
YWludFRpbWluZy5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VQYWludFRpbWluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVz
ZXJ2ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVyZm9ybWFu
Y2VQYWludFRpbWluZyBmaW5hbCA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IGNyZWF0ZUZpcnN0Q29udGVu
dGZ1bFBhaW50KERPTUhpZ2hSZXNUaW1lU3RhbXAgdGltZVN0YW1wKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygiZmlyc3QtY29udGVu
dGZ1bC1wYWludCJfcywgdGltZVN0YW1wKSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcoY29uc3QgU3RyaW5nJiBuYW1lLCBET01IaWdoUmVzVGltZVN0YW1w
IHRpbWVTdGFtcCkKKyAgICAgICAgOiBQZXJmb3JtYW5jZUVudHJ5KG5hbWUsIHRpbWVTdGFtcCwg
dGltZVN0YW1wKQorICAgIHsKKyAgICB9CisKKyAgICBBU0NJSUxpdGVyYWwgZW50cnlUeXBlKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gInBhaW50Il9zOyB9CisgICAgVHlwZSB0eXBlKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gVHlwZTo6UGFpbnQ7IH0KKworICAgIH5QZXJmb3JtYW5jZVBhaW50VGlt
aW5nKCkgPSBkZWZhdWx0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFM
SVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcpCisg
ICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnkmIGVu
dHJ5KSB7IHJldHVybiBlbnRyeS5pc1BhaW50KCk7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNf
RU5EKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGlt
aW5nLmlkbAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
UGFpbnRUaW1pbmcuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2
ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisv
LyBodHRwczovL3czYy5naXRodWIuaW8vcGFpbnQtdGltaW5nLworCit0eXBlZGVmIGRvdWJsZSBE
T01IaWdoUmVzVGltZVN0YW1wOworCitbCisgICAgRW5hYmxlZEF0UnVudGltZT1QYWludFRpbWlu
ZywKKyAgICBFeHBvc2VkPShXaW5kb3cpLAorXSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VQYWludFRp
bWluZyA6IFBlcmZvcm1hbmNlRW50cnkgeworfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkod29ya2luZyBjb3B5KQpAQCAt
NjIsNiArNjIsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVc2VyVGltaW5nRW5hYmxlZChib29s
IGlzRW5hYmxlZCkgeyBtX2lzVXNlclRpbWluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBi
b29sIHVzZXJUaW1pbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1VzZXJUaW1pbmdFbmFi
bGVkOyB9CiAKKyAgICB2b2lkIHNldFBhaW50VGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkg
eyBtX2lzUGFpbnRUaW1pbmdFbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCBwYWludFRp
bWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzUGFpbnRUaW1pbmdFbmFibGVkOyB9CisK
ICAgICBib29sIHBlcmZvcm1hbmNlVGltZWxpbmVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gcmVz
b3VyY2VUaW1pbmdFbmFibGVkKCkgfHwgdXNlclRpbWluZ0VuYWJsZWQoKTsgfQogCiAgICAgdm9p
ZCBzZXRTaGFkb3dET01FbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNTaGFkb3dET01FbmFi
bGVkID0gaXNFbmFibGVkOyB9CkBAIC00MjQsNiArNDI3LDcgQEAgcHJpdmF0ZToKICAgICBib29s
IG1faXNMaW5rUHJlbG9hZEVuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2lzTGlua1ByZWZl
dGNoRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzTWVkaWFQcmVsb2FkaW5nRW5hYmxl
ZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzUGFpbnRUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsK
ICAgICBib29sIG1faXNSZXNvdXJjZVRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9pc1VzZXJUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNJbnRlcmFjdGl2
ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCB7IGZhbHNlIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAkocmV2aXNpb24gMjYw
MDQ1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3Myw3ICsyNzMsOCBAQCBwdWJsaWM6CiAgICAgZW51bSBj
bGFzcyBQYWludEludmFsaWRhdGlvblJlYXNvbnMgOiB1aW50OF90IHsKICAgICAgICAgTm9uZSwK
ICAgICAgICAgSW52YWxpZGF0aW5nQ29udHJvbFRpbnRzLAotICAgICAgICBJbnZhbGlkYXRpbmdJ
bWFnZXNXaXRoQXN5bmNEZWNvZGVzCisgICAgICAgIEludmFsaWRhdGluZ0ltYWdlc1dpdGhBc3lu
Y0RlY29kZXMsCisgICAgICAgIERldGVjdGluZ0NvbnRlbnRmdWxQYWludAogICAgIH07CiAgICAg
R3JhcGhpY3NDb250ZXh0KFBhaW50SW52YWxpZGF0aW9uUmVhc29ucyk7CiAKQEAgLTI5Miw2ICsy
OTMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBwZXJmb3JtaW5nUGFpbnRJbnZhbGlkYXRpb24oKSBj
b25zdCB7IHJldHVybiBtX3BhaW50SW52YWxpZGF0aW9uUmVhc29ucyAhPSBQYWludEludmFsaWRh
dGlvblJlYXNvbnM6Ok5vbmU7IH0KICAgICBib29sIGludmFsaWRhdGluZ0NvbnRyb2xUaW50cygp
IGNvbnN0IHsgcmV0dXJuIG1fcGFpbnRJbnZhbGlkYXRpb25SZWFzb25zID09IFBhaW50SW52YWxp
ZGF0aW9uUmVhc29uczo6SW52YWxpZGF0aW5nQ29udHJvbFRpbnRzOyB9CiAgICAgYm9vbCBpbnZh
bGlkYXRpbmdJbWFnZXNXaXRoQXN5bmNEZWNvZGVzKCkgY29uc3QgeyByZXR1cm4gbV9wYWludElu
dmFsaWRhdGlvblJlYXNvbnMgPT0gUGFpbnRJbnZhbGlkYXRpb25SZWFzb25zOjpJbnZhbGlkYXRp
bmdJbWFnZXNXaXRoQXN5bmNEZWNvZGVzOyB9CisgICAgYm9vbCBkZXRlY3RpbmdDb250ZW50ZnVs
UGFpbnQoKSBjb25zdCB7IHJldHVybiBtX3BhaW50SW52YWxpZGF0aW9uUmVhc29ucyA9PSBQYWlu
dEludmFsaWRhdGlvblJlYXNvbnM6OkRldGVjdGluZ0NvbnRlbnRmdWxQYWludDsgfQogCiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTdHJva2VUaGlja25lc3MoZmxvYXQpOwogICAgIGZsb2F0
IHN0cm9rZVRoaWNrbmVzcygpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGUuc3Ryb2tlVGhpY2tuZXNz
OyB9CkBAIC01MTMsNiArNTE1LDkgQEAgcHVibGljOgogICAgIEZsb2F0U2l6ZSBzY2FsZUZhY3Rv
cigpIGNvbnN0OwogICAgIEZsb2F0U2l6ZSBzY2FsZUZhY3RvckZvckRyYXdpbmcoY29uc3QgRmxv
YXRSZWN0JiBkZXN0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0KSBjb25zdDsKIAorICAg
IHZvaWQgc2V0Q29udGVudGZ1bFBhaW50RGV0ZWN0ZWQoKSB7IG1fY29udGVuZnVsUGFpbnREZXRl
Y3RlZCA9IHRydWU7IH0KKyAgICBib29sIGNvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQoKSBjb25zdCB7
IHJldHVybiBtX2NvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQ7IH0KKwogI2lmIE9TKFdJTkRPV1MpCiAg
ICAgSERDIGdldFdpbmRvd3NDb250ZXh0KGNvbnN0IEludFJlY3QmLCBib29sIHN1cHBvcnRBbHBo
YUJsZW5kKTsgLy8gVGhlIHBhc3NlZCBpbiByZWN0IGlzIHVzZWQgdG8gY3JlYXRlIGEgYml0bWFw
IGZvciBjb21wb3NpdGluZyBpbnNpZGUgdHJhbnNwYXJlbmN5IGxheWVycy4KICAgICB2b2lkIHJl
bGVhc2VXaW5kb3dzQ29udGV4dChIREMsIGNvbnN0IEludFJlY3QmLCBib29sIHN1cHBvcnRBbHBo
YUJsZW5kKTsgLy8gVGhlIHBhc3NlZCBpbiBIREMgc2hvdWxkIGJlIHRoZSBvbmUgaGFuZGVkIGJh
Y2sgYnkgZ2V0V2luZG93c0NvbnRleHQuCkBAIC02NjEsNiArNjY2LDcgQEAgcHJpdmF0ZToKIAog
ICAgIGNvbnN0IFBhaW50SW52YWxpZGF0aW9uUmVhc29ucyBtX3BhaW50SW52YWxpZGF0aW9uUmVh
c29ucyB7IFBhaW50SW52YWxpZGF0aW9uUmVhc29uczo6Tm9uZSB9OwogICAgIHVuc2lnbmVkIG1f
dHJhbnNwYXJlbmN5Q291bnQgeyAwIH07CisgICAgYm9vbCBtX2NvbnRlbmZ1bFBhaW50RGV0ZWN0
ZWQgeyBmYWxzZSB9OwogfTsKIAogY2xhc3MgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciB7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENo
ZWNrZXIuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db250
ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRpYSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoK
KyovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDb250ZW50ZnVsUGFpbnRDaGVj
a2VyLmgiCisKKyNpbmNsdWRlICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRl
eHQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sIENvbnRlbnRmdWxQYWludENoZWNr
ZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRmdWxQYWludChGcmFtZVZpZXcmIGZyYW1lVmlldykKK3sK
KyAgICBBU1NFUlQoIWZyYW1lVmlldy5uZWVkc0xheW91dCgpKTsKKyAgICBBU1NFUlQoZnJhbWVW
aWV3LnJlbmRlclZpZXcoKSk7CisKKyAgICBhdXRvIG9sZFBhaW50QmVoYXZpb3IgPSBmcmFtZVZp
ZXcucGFpbnRCZWhhdmlvcigpOworICAgIGF1dG8gb2xkRW50aXJlQ29udGVudHMgPSBmcmFtZVZp
ZXcucGFpbnRzRW50aXJlQ29udGVudHMoKTsKKworICAgIGZyYW1lVmlldy5zZXRQYWludEJlaGF2
aW9yKFBhaW50QmVoYXZpb3I6OkZsYXR0ZW5Db21wb3NpdGluZ0xheWVycyk7CisgICAgZnJhbWVW
aWV3LnNldFBhaW50c0VudGlyZUNvbnRlbnRzKHRydWUpOworCisgICAgR3JhcGhpY3NDb250ZXh0
IGNoZWNrZXJDb250ZXh0KEdyYXBoaWNzQ29udGV4dDo6UGFpbnRJbnZhbGlkYXRpb25SZWFzb25z
OjpEZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQpOworICAgIGZyYW1lVmlldy5wYWludChjaGVja2Vy
Q29udGV4dCwgZnJhbWVWaWV3LnJlbmRlclZpZXcoKS0+ZG9jdW1lbnRSZWN0KCkpOworCisgICAg
ZnJhbWVWaWV3LnNldFBhaW50c0VudGlyZUNvbnRlbnRzKG9sZEVudGlyZUNvbnRlbnRzKTsKKyAg
ICBmcmFtZVZpZXcuc2V0UGFpbnRCZWhhdmlvcihvbGRQYWludEJlaGF2aW9yKTsKKworICAgIHJl
dHVybiBjaGVja2VyQ29udGV4dC5jb250ZW5mdWxQYWludERldGVjdGVkKCk7Cit9CisKK30KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNr
ZXIuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29udGVudGZ1
bFBhaW50Q2hlY2tlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisg
KiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorKi8KKwor
I3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRnJhbWVWaWV3Owor
CitjbGFzcyBDb250ZW50ZnVsUGFpbnRDaGVja2VyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgYm9v
bCBxdWFsaWZpZXNGb3JDb250ZW50ZnVsUGFpbnQoRnJhbWVWaWV3Jik7Cit9OworCit9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5j
cHAJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxNiw3ICs3MTYsOCBAQCB2b2lk
IFJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludEZpbGxMYXllCiAgICAgQmFja2dyb3VuZEJsZWVk
QXZvaWRhbmNlIGJsZWVkQXZvaWRhbmNlLCBJbmxpbmVGbG93Qm94KiBib3gsIGNvbnN0IExheW91
dFNpemUmIGJveFNpemUsIENvbXBvc2l0ZU9wZXJhdG9yIG9wLCBSZW5kZXJFbGVtZW50KiBiYWNr
Z3JvdW5kT2JqZWN0LCBCYXNlQmFja2dyb3VuZENvbG9yVXNhZ2UgYmFzZUJnQ29sb3JVc2FnZSkK
IHsKICAgICBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQgPSBwYWludEluZm8uY29udGV4dCgpOwot
ICAgIGlmIChjb250ZXh0LnBhaW50aW5nRGlzYWJsZWQoKSB8fCByZWN0LmlzRW1wdHkoKSkKKwor
ICAgIGlmICgoY29udGV4dC5wYWludGluZ0Rpc2FibGVkKCkgJiYgIWNvbnRleHQuZGV0ZWN0aW5n
Q29udGVudGZ1bFBhaW50KCkpIHx8IHJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAK
ICAgICBib29sIGluY2x1ZGVMZWZ0RWRnZSA9IGJveCA/IGJveC0+aW5jbHVkZUxvZ2ljYWxMZWZ0
RWRnZSgpIDogdHJ1ZTsKQEAgLTczMSw2ICs3MzIsMTQgQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9i
amVjdDo6cGFpbnRGaWxsTGF5ZQogICAgIFN0eWxlSW1hZ2UqIGJnSW1hZ2UgPSBiZ0xheWVyLmlt
YWdlKCk7CiAgICAgYm9vbCBzaG91bGRQYWludEJhY2tncm91bmRJbWFnZSA9IGJnSW1hZ2UgJiYg
YmdJbWFnZS0+Y2FuUmVuZGVyKHRoaXMsIHN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpKTsKICAgICAK
KyAgICBpZiAoY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgeworICAgICAgICBp
ZiAoIWNvbnRleHQuY29udGVuZnVsUGFpbnREZXRlY3RlZCgpICYmIHNob3VsZFBhaW50QmFja2dy
b3VuZEltYWdlICYmIGJnSW1hZ2UtPmNhY2hlZEltYWdlKCkpIHsKKyAgICAgICAgICAgIGlmIChz
dHlsZSgpLmJhY2tncm91bmRTaXplVHlwZSgpICE9IEZpbGxTaXplVHlwZTo6U2l6ZSB8fCAhc3R5
bGUoKS5iYWNrZ3JvdW5kU2l6ZUxlbmd0aCgpLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICBj
b250ZXh0LnNldENvbnRlbnRmdWxQYWludERldGVjdGVkKCk7CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KKyAgICB9CisKICAgICBpZiAoY29udGV4dC5pbnZhbGlkYXRpbmdJbWFnZXNX
aXRoQXN5bmNEZWNvZGVzKCkpIHsKICAgICAgICAgaWYgKHNob3VsZFBhaW50QmFja2dyb3VuZElt
YWdlICYmIGJnSW1hZ2UtPmNhY2hlZEltYWdlKCktPmlzQ2xpZW50V2FpdGluZ0ZvckFzeW5jRGVj
b2RpbmcoKnRoaXMpKQogICAgICAgICAgICAgYmdJbWFnZS0+Y2FjaGVkSW1hZ2UoKS0+cmVtb3Zl
QWxsQ2xpZW50c1dhaXRpbmdGb3JBc3luY0RlY29kaW5nKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTcxLDYgKzcxLDEzIEBAIHZvaWQgUmVuZGVySFRNTENhbnZhczo6cGFpbnRSZXBs
YWNlZChQYWkKICAgICBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQgPSBwYWludEluZm8uY29udGV4
dCgpOwogCiAgICAgTGF5b3V0UmVjdCBjb250ZW50Qm94UmVjdCA9IHRoaXMtPmNvbnRlbnRCb3hS
ZWN0KCk7CisKKyAgICBpZiAoY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgewor
ICAgICAgICBpZiAoIWNvbnRleHQuY29udGVuZnVsUGFpbnREZXRlY3RlZCgpICYmIGNhbnZhc0Vs
ZW1lbnQoKS5yZW5kZXJpbmdDb250ZXh0KCkpCisgICAgICAgICAgICBjb250ZXh0LnNldENvbnRl
bnRmdWxQYWludERldGVjdGVkKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBjb250
ZW50Qm94UmVjdC5tb3ZlQnkocGFpbnRPZmZzZXQpOwogICAgIExheW91dFJlY3QgcmVwbGFjZWRD
b250ZW50UmVjdCA9IHRoaXMtPnJlcGxhY2VkQ29udGVudFJlY3QoKTsKICAgICByZXBsYWNlZENv
bnRlbnRSZWN0Lm1vdmVCeShwYWludE9mZnNldCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbWFnZS5jcHAJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5Miw2ICs0OTIs
MTMgQEAgdm9pZCBSZW5kZXJJbWFnZTo6cGFpbnRSZXBsYWNlZChQYWludEluZgogICAgIGZsb2F0
IGRldmljZVNjYWxlRmFjdG9yID0gZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpOwogICAg
IExheW91dFVuaXQgbWlzc2luZ0ltYWdlQm9yZGVyV2lkdGgoMSAvIGRldmljZVNjYWxlRmFjdG9y
KTsKIAorICAgIGlmIChjb250ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpKSB7CisgICAg
ICAgIGlmICghY29udGV4dC5jb250ZW5mdWxQYWludERldGVjdGVkKCkgJiYgIWlzRGVmZXJyZWRJ
bWFnZShlbGVtZW50KCkpICYmIGNhY2hlZEltYWdlKCkgJiYgY2FjaGVkSW1hZ2UoKS0+Y2FuUmVu
ZGVyKHRoaXMsIGRldmljZVNjYWxlRmFjdG9yKSAmJiAhY29udGVudFNpemUuaXNFbXB0eSgpKQor
ICAgICAgICAgICAgY29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworCisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAoIWltYWdlUmVzb3VyY2UoKS5jYWNoZWRJbWFn
ZSgpIHx8IGlzRGVmZXJyZWRJbWFnZShlbGVtZW50KCkpIHx8IHNob3VsZERpc3BsYXlCcm9rZW5J
bWFnZUljb24oKSkgewogICAgICAgICBpZiAocGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2U6
OlNlbGVjdGlvbikKICAgICAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDU4OCw2ICs0
NTg4LDkgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKEdyYQogewogICAg
IEFTU0VSVChpc1NlbGZQYWludGluZ0xheWVyKCkgfHwgaGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNj
ZW5kYW50KCkpOwogCisgICAgaWYgKGNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkg
JiYgY29udGV4dC5jb250ZW5mdWxQYWludERldGVjdGVkKCkpCisgICAgICAgIHJldHVybjsKKwog
ICAgIGF1dG8gbG9jYWxQYWludEZsYWdzID0gcGFpbnRGbGFncyAtIFBhaW50TGF5ZXJBcHBsaWVk
VHJhbnNmb3JtOwogICAgIGJvb2wgaGF2ZVRyYW5zcGFyZW5jeSA9IGxvY2FsUGFpbnRGbGFncy5j
b250YWlucyhQYWludExheWVySGF2ZVRyYW5zcGFyZW5jeSk7CiAgICAgYm9vbCBpc1NlbGZQYWlu
dGluZ0xheWVyID0gdGhpcy0+aXNTZWxmUGFpbnRpbmdMYXllcigpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
MDQsNiArMjA0LDEyIEBAIHZvaWQgUmVuZGVyVmlkZW86OnBhaW50UmVwbGFjZWQoUGFpbnRJbmYK
ICAgICBMYXlvdXRSZWN0IGNvbnRlbnRSZWN0ID0gY29udGVudEJveFJlY3QoKTsKICAgICBjb250
ZW50UmVjdC5tb3ZlQnkocGFpbnRPZmZzZXQpOwogICAgIEdyYXBoaWNzQ29udGV4dCYgY29udGV4
dCA9IHBhaW50SW5mby5jb250ZXh0KCk7CisKKyAgICBpZiAoY29udGV4dC5kZXRlY3RpbmdDb250
ZW50ZnVsUGFpbnQoKSkgeworICAgICAgICBjb250ZXh0LnNldENvbnRlbnRmdWxQYWludERldGVj
dGVkKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBib29sIGNsaXAgPSAhY29udGVu
dFJlY3QuY29udGFpbnMocmVjdCk7CiAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0
ZVNhdmVyKGNvbnRleHQsIGNsaXApOwogICAgIGlmIChjbGlwKQpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1RleHRQYWludGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvVGV4dFBhaW50ZXIuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2
ICsyNyw3IEBACiAjaW5jbHVkZSAiRGlzcGxheVJ1bi5oIgogI2luY2x1ZGUgIkZpbHRlck9wZXJh
dGlvbnMuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJIVE1MUGFy
c2VySWRpb21zLmgiCiAjaW5jbHVkZSAiSW5saW5lVGV4dEJveC5oIgogI2luY2x1ZGUgIlJlbmRl
ckNvbWJpbmVUZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKQEAgLTEwNSw2ICsxMDYs
MTMgQEAgdm9pZCBUZXh0UGFpbnRlcjo6cGFpbnRUZXh0T3JFbXBoYXNpc01hcgogICAgIGZsb2F0
IGVtcGhhc2lzTWFya09mZnNldCwgY29uc3QgRmxvYXRQb2ludCYgdGV4dE9yaWdpbiwgdW5zaWdu
ZWQgc3RhcnRPZmZzZXQsIHVuc2lnbmVkIGVuZE9mZnNldCkKIHsKICAgICBBU1NFUlQoc3RhcnRP
ZmZzZXQgPCBlbmRPZmZzZXQpOworCisgICAgaWYgKG1fY29udGV4dC5kZXRlY3RpbmdDb250ZW50
ZnVsUGFpbnQoKSkgeworICAgICAgICBpZiAoIXRleHRSdW4udGV4dCgpLnRvU3RyaW5nV2l0aG91
dENvcHlpbmcoKS5pc0FsbFNwZWNpYWxDaGFyYWN0ZXJzPGlzSFRNTFNwYWNlPigpKQorICAgICAg
ICAgICAgbV9jb250ZXh0LnNldENvbnRlbnRmdWxQYWludERldGVjdGVkKCk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKICAgICBpZiAoIWVtcGhhc2lzTWFyay5pc0VtcHR5KCkpCiAgICAgICAg
IG1fY29udGV4dC5kcmF3RW1waGFzaXNNYXJrcyhmb250LCB0ZXh0UnVuLCBlbXBoYXNpc01hcmss
IHRleHRPcmlnaW4gKyBGbG9hdFNpemUoMCwgZW1waGFzaXNNYXJrT2Zmc2V0KSwgc3RhcnRPZmZz
ZXQsIGVuZE9mZnNldCk7CiAgICAgZWxzZSBpZiAoc3RhcnRPZmZzZXQgfHwgZW5kT2Zmc2V0IDwg
dGV4dFJ1bi5sZW5ndGgoKSB8fCAhbV9nbHlwaERpc3BsYXlMaXN0KQpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCShyZXZpc2lvbiAyNjAw
NDUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5o
IgogI2luY2x1ZGUgIkxheW91dFJlcGFpbnRlci5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNs
dWRlICJSZW5kZXJDaGlsZEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVySXRlcmF0b3IuaCIK
ICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJlbmRlckxheW91dFN0YXRlLmgi
CkBAIC0yMTEsNyArMjEyLDcgQEAgdm9pZCBSZW5kZXJTVkdSb290OjpwYWludFJlcGxhY2VkKFBh
aW50SQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBEb24ndCBwYWludCwgaWYgdGhlIGNvbnRl
eHQgZXhwbGljaXRseSBkaXNhYmxlZCBpdC4KLSAgICBpZiAocGFpbnRJbmZvLmNvbnRleHQoKS5w
YWludGluZ0Rpc2FibGVkKCkpCisgICAgaWYgKHBhaW50SW5mby5jb250ZXh0KCkucGFpbnRpbmdE
aXNhYmxlZCgpICYmICFwYWludEluZm8uY29udGV4dCgpLmRldGVjdGluZ0NvbnRlbnRmdWxQYWlu
dCgpKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBTVkcgb3V0bGluZXMgYXJlIHBhaW50ZWQg
ZHVyaW5nIFBhaW50UGhhc2U6OkZvcmVncm91bmQuCkBAIC0yMjMsNiArMjI0LDE3IEBAIHZvaWQg
UmVuZGVyU1ZHUm9vdDo6cGFpbnRSZXBsYWNlZChQYWludEkKICAgICBpZiAoc3ZnU1ZHRWxlbWVu
dCgpLmhhc0VtcHR5Vmlld0JveCgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBHcmFwaGljc0Nv
bnRleHQmIGNvbnRleHQgPSBwYWludEluZm8uY29udGV4dCgpOworICAgIGlmIChjb250ZXh0LmRl
dGVjdGluZ0NvbnRlbnRmdWxQYWludCgpKSB7CisgICAgICAgIGZvciAoYXV0byYgY3VycmVudCA6
IGNoaWxkcmVuT2ZUeXBlPFJlbmRlck9iamVjdD4oKnRoaXMpKSB7CisgICAgICAgICAgICBpZiAo
IWN1cnJlbnQuaXNTVkdIaWRkZW5Db250YWluZXIoKSkgeworICAgICAgICAgICAgICAgIGNvbnRl
eHQuc2V0Q29udGVudGZ1bFBhaW50RGV0ZWN0ZWQoKTsKKyAgICAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAg
IC8vIERvbid0IHBhaW50IGlmIHdlIGRvbid0IGhhdmUga2lkcywgZXhjZXB0IGlmIHdlIGhhdmUg
ZmlsdGVycyB3ZSBzaG91bGQgcGFpbnQgdGhvc2UuCiAgICAgaWYgKCFmaXJzdENoaWxkKCkpIHsK
ICAgICAgICAgYXV0byogcmVzb3VyY2VzID0gU1ZHUmVzb3VyY2VzQ2FjaGU6OmNhY2hlZFJlc291
cmNlc0ZvclJlbmRlcmVyKCp0aGlzKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjAwNDUpCisr
KyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBA
CisyMDIwLTA0LTEzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAg
ICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgcnVudGltZSBmbGFnIGZvciBw
YWludC10aW1pbmcgKHBhaW50VGltaW5nRW5hYmxlZCkuCisKKyAgICAgICAgKiBTaGFyZWQvV2Vi
UHJlZmVyZW5jZXMueWFtbDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
cy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKToKKyAg
ICAgICAgKFdLUHJlZmVyZW5jZXNHZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjp1cGRhdGVQcmVmZXJlbmNl
c1N0b3JlKToKKwogMjAyMC0wNC0xMyAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW2lPU10gVXBkYXRlIG1lc3NhZ2UgZmlsdGVycyBpbiB0aGUgV2ViQ29u
dGVudCBzYW5kYm94CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55
YW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlh
bWwJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTgzOSw2ICs4MzksMTMgQEAgVXNlclRpbWluZ0Vu
YWJsZWQ6CiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBVc2VyVGltaW5nIEFQ
SSIKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAorUGFpbnRUaW1p
bmdFbmFibGVkOgorICB0eXBlOiBmYWxzZQorICBkZWZhdWx0VmFsdWU6IHRydWUKKyAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJQYWludCBUaW1pbmciCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjog
IkVuYWJsZSBQYWludCBUaW1pbmcgQVBJIgorICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJs
ZWRGZWF0dXJlcworCiBCZWFjb25BUElFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRW
YWx1ZTogdHJ1ZQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlcy5jcHAJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODIwLDYgKzE4
MjAsMTYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0VXNlclRpbWluZ0VuYWJsZWQoVwogICAgIHJl
dHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT51c2VyVGltaW5nRW5hYmxlZCgpOwogfQogCit2
b2lkIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQoreworICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZikt
PnNldFBhaW50VGltaW5nRW5hYmxlZChmbGFnKTsKK30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0
UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7Cisg
ICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnBhaW50VGltaW5nRW5hYmxlZCgpOwor
fQorCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQogewogICAgIHRvSW1wbChwcmVmZXJl
bmNlc1JlZiktPnNldFJlc291cmNlVGltaW5nRW5hYmxlZChmbGFnKTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZh
dGUuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNTAwLDYgKzUwMCwx
MCBAQCBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWluCiBXS19FWFBPUlQg
Ym9vbCBXS1ByZWZlcmVuY2VzR2V0VXNlclRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7
CiAKIC8vIERlZmF1bHRzIHRvIGZhbHNlCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0
UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CitXS19FWFBP
UlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNS
ZWYpOworCisvLyBEZWZhdWx0cyB0byBmYWxzZQogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNl
c1NldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwog
V0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1By
ZWZlcmVuY2VzUmVmKTsKIApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNw
cAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjIs
NiArMTIyLDcgQEAgdm9pZCBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6dXBkYQogICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q2FjaGVBUElFbmFi
bGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Y2FjaGVBUElF
bmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldEZldGNoQVBJRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVy
ZW5jZXNLZXk6OmZldGNoQVBJRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZChzdG9yZS5nZXRCb29s
VmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnVzZXJUaW1pbmdFbmFibGVkS2V5KCkpKTsK
KyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFBhaW50VGlt
aW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnBh
aW50VGltaW5nRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVl
Rm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXNvdXJjZVRpbWluZ0VuYWJsZWRLZXkoKSkpOwog
ICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElL
ZWVwQWxpdmVFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6ZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3Mo
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXN0cmljdGVkSFRU
UFJlc3BvbnNlQWNjZXNzS2V5KCkpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA0LTEzICBOb2FtIFJvc2VudGhh
bCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250
ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGEgcHJlZmVyZW5jZSBrZXkgZm9yIHBhaW50IHRpbWluZy4KKworICAgICAgICAq
IFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9X
ZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0p
OgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBwYWludFRpbWluZ0VuYWJsZWRdKToKKyAgICAg
ICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0UGFpbnRUaW1pbmdFbmFibGVkOl0pOgorICAgICAgICAq
IFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJW
aWV3Lm1tOgorCiAyMDIwLTA0LTEzICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTk4NDMpOiAiTWlzc2luZyBQbHVnLUluIiB3
aGVuIGRyYWdnaW5nIGFuIGltYWdlIGludG8gTWFpbCBDb21wb3NlCkluZGV4OiBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQ
cml2YXRlLmgJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2MCw2
ICsyNjAsNyBAQAogI2RlZmluZSBXZWJLaXRBdHRhY2htZW50RWxlbWVudEVuYWJsZWRQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0QXR0YWNobWVudEVsZW1lbnRFbmFibGVkIgogI2RlZmluZSBXZWJLaXRJ
bnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0SW50ZXJzZWN0
aW9uT2JzZXJ2ZXJFbmFibGVkIgogI2RlZmluZSBXZWJLaXRNZW51SXRlbUVsZW1lbnRFbmFibGVk
UHJlZmVyZW5jZUtleSBAIldlYktpdE1lbnVJdGVtRWxlbWVudEVuYWJsZWQiCisjZGVmaW5lIFdl
YktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRQYWludFRpbWluZ0Vu
YWJsZWQiCiAjZGVmaW5lIFdlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldl
YktpdFVzZXJUaW1pbmdFbmFibGVkIgogI2RlZmluZSBXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJs
ZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkIgogI2RlZmluZSBX
ZWJLaXRNZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydFByZWZlcmVuY2VL
ZXkgQCJXZWJLaXRNZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydCIKSW5k
ZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
cy5tbQkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjgyLDYgKzY4Miw3IEBAICsg
KHZvaWQpaW5pdGlhbGl6ZQogI2lmIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCiAgICAg
ICAgIEBOTywgV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleSwK
ICNlbmRpZgorICAgICAgICBATk8sIFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXksCiAgICAgICAgIEBOTywgV2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAog
ICAgICAgICBATk8sIFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAg
ICAgICAgIEBOTywgV2ViS2l0TWVkaWFVc2VyR2VzdHVyZUluaGVyaXRzRnJvbURvY3VtZW50LApA
QCAtMzMwNiw2ICszMzA3LDE2IEBAIC0gKHZvaWQpc2V0VXNlclRpbWluZ0VuYWJsZWQ6KEJPT0wp
ZmxhZwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0VXNlclRpbWlu
Z0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9PTClwYWludFRpbWluZ0VuYWJsZWQK
K3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRQYWludFRpbWluZ0Vu
YWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9pZClzZXRQYWludFRpbWluZ0VuYWJsZWQ6
KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0
UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKIC0gKEJPT0wpcmVzb3VyY2VU
aW1pbmdFbmFibGVkCiB7CiAgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0
UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07CkluZGV4OiBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJ
KHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTY2MSw2ICs2NjEsNyBAQCBA
aW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzIChXZWJQcml2YXRlKQogQHByb3BlcnR5IChub25hdG9t
aWMpIEJPT0wga2V5Z2VuRWxlbWVudEVuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9P
TCB1c2VyVGltaW5nRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHJlc291cmNl
VGltaW5nRW5hYmxlZDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHBhaW50VGltaW5nRW5h
YmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGxpbmtQcmVsb2FkRW5hYmxlZDsKIEBw
cm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIG1lZGlhVXNlckdlc3R1cmVJbmhlcml0c0Zyb21Eb2N1
bWVudDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGlzU2VjdXJlQ29udGV4dEF0dHJpYnV0
ZUVuYWJsZWQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTMyMDEsNiArMzIwMSw3IEBAIC0gKHZvaWQp
X3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW4KIAogICAgIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMu
dXNlclRpbWluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnJlc291cmNlVGlt
aW5nRW5hYmxlZCk7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zZXRQYWludFRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMucGFpbnRUaW1pbmdFbmFibGVkKTsK
ICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmtQcmVs
b2FkRW5hYmxlZChwcmVmZXJlbmNlcy5saW5rUHJlbG9hZEVuYWJsZWQpOwogICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxl
ZChwcmVmZXJlbmNlcy5tZWRpYVByZWxvYWRpbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldElzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVu
YWJsZWQocHJlZmVyZW5jZXMuaXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZCk7CkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMyBA
QAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBwcmVmZXJlbmNlIGtleSBmb3Ig
cGFpbnQtdGltaW5nLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAg
KiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAg
ICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hh
bmdlZCk6CisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGw6CisgICAg
ICAgICogSW50ZXJmYWNlcy9XZWJLaXQuaWRsOgorICAgICAgICAgICAgICAgIFRvdWNoZWQgdG8g
dHJpZ2dlciBidWlsZC4KKwogMjAyMC0wNC0wOCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgU2hvdWxkIGZpbmQgdG91Y2gtYWN0aW9uIGVsZW1lbnRzIGluc2lk
ZSBub24tY29tcG9zaXRlZCBpZnJhbWVzCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24gMjYwMDQ1KQorKysg
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTE5Nyw2ICsxOTcsOCBAQAogCiAjZGVmaW5lIFdlYktpdFVzZXJUaW1pbmdF
bmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0VXNlclRpbWluZ0VuYWJsZWQiCiAKKyNkZWZpbmUg
V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0UGFpbnRUaW1pbmdF
bmFibGVkIgorCiAjZGVmaW5lIFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXkgIldlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZCIKIAogI2RlZmluZSBXZWJLaXRMaW5rUHJl
bG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWQiCkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAy
NjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMyNiw2ICszMjYsOCBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjppbml0
aWFsaXplRGVmYXVsdFNlCiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZT
VFIoV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5G
YWxzZSk7CiAKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0
UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CisKICAg
ICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0TGlua1ByZWxvYWRF
bmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKICAgICBDRkRpY3Rpb25h
cnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZFBy
ZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwpAQCAtMjQxNCw2ICsyNDE2LDIwIEBAIEhS
RVNVTFQgV2ViUHJlZmVyZW5jZXM6OnJlc291cmNlVGltaW5nRW4KICAgICByZXR1cm4gU19PSzsK
IH0KIAorSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0UGFpbnRUaW1pbmdFbmFibGVkKEJPT0wg
ZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUoV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJl
ZmVyZW5jZUtleSwgZW5hYmxlZCk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2Vi
UHJlZmVyZW5jZXM6OnBhaW50VGltaW5nRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQorewor
ICAgIGlmICghZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKyAgICAqZW5hYmxl
ZCA9IGJvb2xWYWx1ZUZvcktleShXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5
KTsKKyAgICByZXR1cm4gU19PSzsKK30KKwogSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2VydmVy
VGltaW5nRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQogewogICAgIGlmICghZW5hYmxlZCkK
SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAkocmV2aXNpb24g
MjYwMDQ1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAkod29y
a2luZyBjb3B5KQpAQCAtMzA3LDYgKzMwNyw4IEBAIHB1YmxpYzoKICAgICAvLyBJV2ViUHJlZmVy
ZW5jZXNQcml2YXRlOAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBhbGxv
d1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKF9PdXRfIEJPT0wqKTsKICAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhCT09M
KTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcGFpbnRUaW1pbmdFbmFi
bGVkKF9PdXRfIEJPT0wqKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
c2V0UGFpbnRUaW1pbmdFbmFibGVkKEJPT0wpOwogCiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIApJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAJKHJldmlzaW9uIDI2MDA0NSkKKysr
IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
Mjg1LDYgKzUyODUsMTEgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5n
ZQogICAgICAgICByZXR1cm4gaHI7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZCghIWVuYWJsZWQpOwogCisgICAgaHIgPSBw
cmVmc1ByaXZhdGUtPnBhaW50VGltaW5nRW5hYmxlZCgmZW5hYmxlZCk7CisgICAgaWYgKEZBSUxF
RChocikpCisgICAgICAgIHJldHVybiBocjsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLnNldFBhaW50VGltaW5nRW5hYmxlZCghIWVuYWJsZWQpOworCiAgICAg
aHIgPSBwcmVmc1ByaXZhdGUtPnJlc291cmNlVGltaW5nRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAg
aWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKSW5kZXg6IFNvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGwJKHJl
dmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdl
YlByZWZlcmVuY2VzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKSW5kZXg6IFNvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmlkbAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4v
SW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjY1LDQgKzI2NSw2IEBAIGludGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOCA6IElXZWIK
IHsKICAgICBIUkVTVUxUIGFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoW291dCwgcmV0dmFs
XSBCT09MKiBlbmFibGVkKTsKICAgICBIUkVTVUxUIHNldEFsbG93VG9wTmF2aWdhdGlvblRvRGF0
YVVSTHMoW2luXSBCT09MIGVuYWJsZWQpOworICAgIEhSRVNVTFQgcGFpbnRUaW1pbmdFbmFibGVk
KFtvdXQsIHJldHZhbF0gQk9PTCopOworICAgIEhSRVNVTFQgc2V0UGFpbnRUaW1pbmdFbmFibGVk
KFtpbl0gQk9PTCBlbmFibGVkKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0lu
dGVyZmFjZXMvV2ViS2l0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9JbnRlcmZhY2VzL1dlYktpdC5pZGwJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL0ludGVyZmFjZXMvV2ViS2l0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQs
NyArMjQsNyBAQAogICovCiAKIGNwcF9xdW90ZSgiLyoiKQotY3BwX3F1b3RlKCIgKiBDb3B5cmln
aHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLiIpCitjcHBfcXVvdGUoIiAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAw
NywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxNSwgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuIikKIGNwcF9xdW90ZSgiICoiKQogY3BwX3F1b3RlKCIgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQiKQogY3Bw
X3F1b3RlKCIgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMiKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjYwMDQ1KQorKysgVG9vbHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDQtMTMgIE5vYW0gUm9zZW50
aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgcHJlZmVyZW5jZSBrZXkgZm9yIHBhaW50LXRpbWluZy4KKworICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0V2Vi
UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9D
b25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVyZW5jZXNU
b0NvbnNpc3RlbnRWYWx1ZXMpOgorCiAyMDIwLTA0LTEzICBLYXRlIENoZW5leSAgPGthdGhlcmlu
ZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXIt
cHJpdmFjeS9hcHAtYm91bmQtZG9tYWluLmh0bWwgaXMgYSBjb25zdGFudCBmYWlsdXJlIG9uIGlP
UwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2
aXNpb24gMjYwMDQ1KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDA0LDYgKzEwMDQsNyBAQCBzdGF0aWMgdm9pZCByZXNl
dFdlYlByZWZlcmVuY2VzVG9Db25zaXN0CiAgICAgW3ByZWZlcmVuY2VzIHNldE1vZGVybk1lZGlh
Q29udHJvbHNFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFJlc291cmNlVGltaW5n
RW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRVc2VyVGltaW5nRW5hYmxlZDpZRVNd
OworICAgIFtwcmVmZXJlbmNlcyBzZXRQYWludFRpbWluZ0VuYWJsZWQ6WUVTXTsKIAogICAgIFtw
cmVmZXJlbmNlcyBzZXRDYWNoZUFQSUVuYWJsZWQ6Tk9dOwogICAgIHByZWZlcmVuY2VzLm1lZGlh
Q2FwYWJpbGl0aWVzRW5hYmxlZCA9IFlFUzsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9EdW1wUmVuZGVyVHJlZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUv
d2luL0R1bXBSZW5kZXJUcmVlLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgVG9vbHMvRHVtcFJl
bmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTIxLDYg
KzkyMSw3IEBAIHN0YXRpYyB2b2lkIHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGkKICAgICBw
cmVmc1ByaXZhdGUtPnNldEFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMob3B0aW9ucy5hbGxv
d1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKTsKICAgICBwcmVmZXJlbmNlcy0+c2V0UHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZChvcHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24pOwogICAgIHByZWZlcmVu
Y2VzLT5zZXRVc2VzUGFnZUNhY2hlKG9wdGlvbnMuZW5hYmxlQmFja0ZvcndhcmRDYWNoZSk7Cisg
ICAgcHJlZnNQcml2YXRlLT5zZXRQYWludFRpbWluZ0VuYWJsZWQoVFJVRSk7CiB9CiAKIHN0YXRp
YyBTdHJpbmcgYXBwbGljYXRpb25JZCgpCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzMSw2ICs5MzEsNyBA
QCB2b2lkIFRlc3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2VzVG9DCiAgICAgV0tQcmVmZXJl
bmNlc1NldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAg
V0tQcmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7
CiAgICAgV0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVl
KTsKKyAgICBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0
cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZChwcmVmZXJl
bmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldE1lZGlhUGxheWJhY2tBbGxvd3NJbmxp
bmUocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRJbmxpbmVNZWRpYVBs
YXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZShwcmVmZXJlbmNlcywgZmFsc2UpOwpJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gMjYwMDQ1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjAtMDQtMTMgIE5vYW0gUm9zZW50aGFsICA8
bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGRlZCB0ZXN0cyBmb3Igc29tZSBmaXJzdC1jb250ZW50ZnVsLXBhaW50IChGQ1ApIHVzZS1j
YXNlcy4KKyAgICAgICAgRW5zdXJlIHRoYXQgRkNQIHdvcmtzIHdlbGwgd2l0aCBWTkUgKGZpcnN0
IHBhaW50IGRlbGF5IHVudGlsIGNvbnRlbnRzIGFyZSB2aXN1YWxseSBub24tZW1wdHkpLgorCisg
ICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5n
LWFwaS5qczogQWRkZWQuCisgICAgICAgICAgICAgICAgVGVzdCBleGlzdGVuY2Ugb2YgcGFpbnQg
dGltaW5nIEFQSSBvbiB0aGUgd2luZG93IG9iamVjdC4KKworICAgICAgICAqIHBlcmZvcm1hbmNl
LWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1w
YWludC13aXRoLXdvcmtlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1h
bmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LXdpdGgtd29ya2VyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAgICAgICAgIFRlc3QgdGhhdCBGQ1AgaXMgbm90IGF2YWlsYWJsZSBmb3Ig
Y3Jvc3Mtb3JpZ2luIGZyYW1lcyBhbmQgd29ya2Vycy4KKworICAgICAgICAqIHBlcmZvcm1hbmNl
LWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2Vy
dmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9y
bWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanM6IEFkZGVkLgorICAgICAgICAo
YXN5bmMgd2FpdEZvckZDUCk6CisgICAgICAgICAgICAgICAgVGVzdCB0aGF0IHBlcmZvcm1hbmNl
IG9ic2VydmVycyBhcmUgY2FsbGVkIGZvciBGQ1AuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Bl
cmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9u
LWVtcHR5LWZvci1zdHlsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZv
cm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVt
cHR5LWZvci1zdHlsZS1leHBlY3RlZC50eHQ6IEFkZGVkCisgICAgICAgICogaHR0cC90ZXN0cy9w
ZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3N0eWxlLnBocDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc3R5bGUuY3NzOiAgQWRkZWQuCisgICAgICAg
ICAgICAgICAgSWYgYSBwZW5kaW5nIHN0eWxlc2hlZXQgYmxvY2tzIHBhaW50aW5nLCBtYWtlIHN1
cmUgRkNQIGlzIHJlcG9ydGVkIG9ubHkgYWZ0ZXIgc3R5bGVzaGVldCBoYXMgbG9hZGVkLgorCisg
ICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Bl
cmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9u
LWVtcHR5LWZvci1udW0tY2hhcnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3BlcmZvcm1hbmNlL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVy
Zm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51
bS1jaGFycy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jl
c291cmNlcy9zbG93c2NyaXB0LnBocDogQWRkZWQuCisgICAgICAgICAgICAgICAgSWYgVk5FIGR1
ZSB0byBudW1iZXIgb2YgY2hhcmFjdGVycyBibG9ja3MgcGFpbnRpbmcsIG1ha2Ugc3VyZSBGQ1Ag
aXMgcmVwb3J0ZWQgb25seSBhZnRlciBwYWludGluZyBpcyB1bmJsb2NrZWQuCisKIDIwMjAtMDQt
MTMgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAg
aHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1kb21haW4uaHRtbCBp
cyBhIGNvbnN0YW50IGZhaWx1cmUgb24gaU9TCkluZGV4OiBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlz
aW9uIDI2MDA0NSkKKysrIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29w
eSkKQEAgLTIwNiw2ICsyMDYsOSBAQCBmYXN0L3Zpc3VhbC12aWV3cG9ydC9ydWJiZXJiYW5kaW5n
LXZpZXdwCiAjIERhdGFEZXRlY3RvcnMgdGVzdHMgb25seSBtYWtlIHNlbnNlIG9uIE1hYwogZmFz
dC9ldmVudHMvZG8tbm90LWRyYWctYW5kLWRyb3AtZGF0YS1kZXRlY3RvcnMtbGluay5odG1sIFsg
U2tpcCBdCiAKKyMgQSByb3VuZGluZyBlcnJvciBtYXkgY2F1c2UgOTBkZWcgM2Qtcm90YXRlZCBl
bGVtZW50cyB0byBjb3VudCBhcyBwYWludGVkCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5k
YW50Lmh0bWwKKwogd2Via2l0Lm9yZy9iLzIwMjYxNyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BpY3R1cmUtaW4tcGljdHVyZSBbIFNraXAgXQogCiAjIFBpUCBBUEkgdGVzdHMgYXJl
IG9ubHkgcmVsZXZhbnQgb24gbWFjIGFuZCBpUGFkCkluZGV4OiBMYXlvdXRUZXN0cy90ZXN0cy1v
cHRpb25zLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29u
CShyZXZpc2lvbiAyNjAwNDUpCisrKyBMYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24JKHdv
cmtpbmcgY29weSkKQEAgLTE3LDYgKzE3LDkgQEAKICAgICAiaW1wb3J0ZWQvdzNjL2Nzcy9jc3Mt
dmFsdWVzL3ZoX25vdF9yZWZyZXNoaW5nX29uX2Nocm9tZS5odG1sIjogWwogICAgICAgICAic2xv
dyIKICAgICBdLAorICAgICJpbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZpcnN0LWltYWdlLWNo
aWxkLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCiAgICAgImltcG9ydGVkL3czYy93
ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy91cGRhdGluZy10aGUtZmluaXNo
ZWQtc3RhdGUuaHRtbCI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1h
ZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1w
YWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZv
cm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVt
cHR5LWZvci1udW0tY2hhcnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MyBAQAorUEFTUyBwYWludEVudHJ5LnN0YXJ0VGltZSA+IHRpbWVzdGFtcHNbZXhwZWN0ZWRJdGVy
YXRpb25zXSBpcyB0cnVlCitQQVNTIHBhaW50RW50cnkuc3RhcnRUaW1lIDwgdGltZXN0YW1wc1tl
eHBlY3RlZEl0ZXJhdGlvbnMgKyAyXSBpcyB0cnVlCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1
YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1h
ZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy5odG1sCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQt
dGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpCisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworICAgIH0KKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgdmFyIHN0eWxlRW50cnkgPSBudWxs
CisgICAgdmFyIHBhaW50RW50cnkgPSBudWxsCisgICAgdmFyIHRpbWVzdGFtcHMgPSBbXQorICAg
IHZhciBjaGFyc1Blckl0ZXJhdGlvbiA9IDgwCisgICAgdmFyIGNoYXJUaHJlc2hvbGQgPSAyMDAK
KyAgICB2YXIgZXhwZWN0ZWRJdGVyYXRpb25zID0gTWF0aC5jZWlsKGNoYXJUaHJlc2hvbGQgLyBj
aGFyc1Blckl0ZXJhdGlvbikKKworICAgIGZ1bmN0aW9uIHNsb3dTdHJpbmcoc3RyLCBkZWxheSkg
eworICAgICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQn
KQorICAgICAgICBjb25zdCBzb3VyY2UgPSBgZG9jdW1lbnQud3JpdGUoJyR7c3RyfScpOyB0aW1l
c3RhbXBzLnB1c2goJHtwZXJmb3JtYW5jZS5ub3coKX0pOyBjaGVjaygpO2AKKyAgICAgICAgc2Ny
aXB0LnNyYyA9IGAuL3Jlc291cmNlcy9zbG93c2NyaXB0LnBocD9jYWNoZUJ1c3Rlcj0ke3BlcmZv
cm1hbmNlLm5vdygpfSZkZWxheT0ke2RlbGF5fSZzY3JpcHQ9JHtzb3VyY2V9YAorICAgICAgICBk
b2N1bWVudC53cml0ZShzY3JpcHQub3V0ZXJIVE1MKQorICAgIH0KKworICAgIGZ1bmN0aW9uIGNo
ZWNrKCkgeworICAgICAgICBpZiAodGltZXN0YW1wcy5sZW5ndGggPCBleHBlY3RlZEl0ZXJhdGlv
bnMgKyAzIHx8ICFwYWludEVudHJ5KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGRv
Y3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJycKKworICAgICAgICBzaG91bGRCZVRydWUoInBhaW50
RW50cnkuc3RhcnRUaW1lID4gdGltZXN0YW1wc1tleHBlY3RlZEl0ZXJhdGlvbnNdIikKKyAgICAg
ICAgc2hvdWxkQmVUcnVlKCJwYWludEVudHJ5LnN0YXJ0VGltZSA8IHRpbWVzdGFtcHNbZXhwZWN0
ZWRJdGVyYXRpb25zICsgMl0iKQorICAgICAgICAKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCkKKyAgICB9CisKKyAgICBj
b25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAg
ICBwYWludEVudHJ5ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncGFpbnQnKVswXQor
ICAgICAgICBpZiAocGFpbnRFbnRyeSkKKyAgICAgICAgICAgIGNoZWNrKCkKKyAgICB9KTsKKyAg
ICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbInBhaW50Il19KQorCisgICAgZnVuY3Rp
b24gbmV4dCgpIHsKKyAgICAgICAgc2xvd1N0cmluZygnXHQgJyArIEFycmF5KGNoYXJzUGVySXRl
cmF0aW9uIC8gMikuZmlsbCgnIDAgXHQgQScpLmpvaW4oJycpICsgIiAgIFxuXHQiLCAwLjMsIGNo
YXJzUGVySXRlcmF0aW9uKQorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAg
PHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAg
IDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAg
ICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4K
KyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+
CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0
PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3Njcmlw
dD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3Jp
cHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGlt
aW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1h
bmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJm
b3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1l
bXB0eS1mb3Itc3R5bGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMiBA
QAorUEFTUyBwYWludEVudHJ5LnN0YXJ0VGltZSA+PSBzdHlsZUVudHJ5LnN0YXJ0VGltZSArIHN0
eWxlRW50cnkuZHVyYXRpb24gaXMgdHJ1ZQorVEVYVApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3Vh
bGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXIt
dmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZj
cC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCkKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgfQorPC9z
Y3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKyAgICB2YXIgc3R5bGVFbnRyeSA9IG51bGw7CisgICAgdmFyIHBh
aW50RW50cnkgPSBudWxsOworICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIobGlzdCA9PiB7CisgICAgICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNl
LmdldEVudHJpZXNCeVR5cGUoJ3BhaW50Jyk7CisgICAgICAgIGlmIChwYWludEVudHJpZXMubGVu
Z3RoKQorICAgICAgICAgICAgcGFpbnRFbnRyeSA9IHBhaW50RW50cmllc1swXTsKKworICAgICAg
ICBjb25zdCByZXNvdXJjZUVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdy
ZXNvdXJjZScpLmZpbHRlcihyID0+IHIubmFtZS5pbmNsdWRlcygnc2xvd3N0eWxlLnBocCcpKTsK
KyAgICAgICAgaWYgKHJlc291cmNlRW50cmllcy5sZW5ndGgpCisgICAgICAgICAgICBzdHlsZUVu
dHJ5ID0gcmVzb3VyY2VFbnRyaWVzWzBdOworCisgICAgICAgIGlmICghc3R5bGVFbnRyeSB8fCAh
cGFpbnRFbnRyeSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBzaG91bGRCZVRydWUo
InBhaW50RW50cnkuc3RhcnRUaW1lID49IHN0eWxlRW50cnkuc3RhcnRUaW1lICsgc3R5bGVFbnRy
eS5kdXJhdGlvbiIpOworICAgICAgICAgICAgICAgIAorICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9KTsKKyAg
ICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbInBhaW50IiwgInJlc291cmNlIl19KTsK
Kzwvc2NyaXB0PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuL3Jlc291cmNlcy9zbG93
c3R5bGUucGhwP2RlbGF5PTAuNSIgLz4KKzwvaGVhZD4KKzxib2R5PgorVEVYVAorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJj
ZXMvc2xvd3NjcmlwdC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9w
ZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3NjcmlwdC5waHAJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3NjcmlwdC5waHAJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5IEBACis8P3BocAoraWYgKGlzc2V0KCRfR0VUWyJk
ZWxheSJdKSkKKyAgICBzbGVlcCgkX0dFVFsiZGVsYXkiXSk7CitoZWFkZXIoJ0NhY2hlLUNvbnRy
b2w6IG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUnKTsKK2hlYWRlcignQ29udGVudC1UeXBlOiB0
ZXh0L2phdmFzY3JpcHQnKTsKKworZWNobygkX0dFVFsic2NyaXB0Il0pCis/PgorCkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c3R5bGUucGhw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3Vy
Y2VzL3Nsb3dzdHlsZS5waHAJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3N0eWxlLnBocAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDYgQEAKKzw/cGhwCitpZiAoaXNzZXQoJF9HRVRbImRlbGF5Il0pKQorICAgIHNsZWVw
KCRfR0VUWyJkZWxheSJdKTsKK2hlYWRlcignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG11c3Qt
cmV2YWxpZGF0ZScpOworaGVhZGVyKCdMb2NhdGlvbjogc3R5bGUuY3NzJyk7Cis/PgpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc3R5bGUuY3NzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2Vz
L3N0eWxlLmNzcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZv
cm1hbmNlL3Jlc291cmNlcy9zdHlsZS5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBA
Citib2R5IHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbgorfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDI2MDQyMCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSw4NSBAQAorMjAyMC0wNC0yMSAgTm9hbSBSb3NlbnRoYWwgIDxub2Ft
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBw
YWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
ODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElt
cG9ydGVkIHczYyB0ZXN0cyBmb3IgZmlyc3QgY29udGVudGZ1bCBwYWludCBhbmQgdXBkYXRlZCB0
ZXN0IGhhcm5lc3MuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5q
c29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmc6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHk6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Ut
dHdvLXN0ZXBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Y2FudmFzLWNvbnRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1n
cmFkaWVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3Rh
dGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUt
dHJhbnNpdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNs
YXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3V0LW9mLWJvdW5kcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmls
aXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10
ZXh0LWlucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBv
Z3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1p
bXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL3Jlc291cmNlczogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2ZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmc6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1l
LXBhaW50aW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMu
anM6IEFkZGVkLgorICAgICAgICAod2FpdEZvckFuaW1hdGlvbkZyYW1lcyk6CisgICAgICAgIChh
c3luYyBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKGFzeW5jIGFzc2Vy
dEZpcnN0Q29udGVudGZ1bFBhaW50LnJldHVybi5uZXcuUHJvbWlzZSk6CisgICAgICAgIChhc3lu
YyBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCk6CisgICAgICAgIChhc3luYyB0ZXN0X2ZjcCk6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qczoK
KyAgICAgICAgKHByb21pc2VfcmVqZWN0c19qcyk6CisgICAgICAgIChwcm9taXNlX3JlamVjdHNf
ZG9tKToKKyAgICAgICAgKHByb21pc2VfcmVqZWN0c19leGFjdGx5KToKKyAgICAgICAgKGZvcm1h
dF92YWx1ZSk6CisKIDIwMjAtMDQtMTUgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGln
YWxpYS5jb20+CiAKICAgICAgICAgW1dlYlhSXSBVcGRhdGUgV2ViWFJTZXNzaW9uIGFuZCBXZWJY
UlN5c3RlbSBpbnRlcmZhY2VzCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3Vy
Y2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgkocmV2aXNpb24g
MjYwMDQ1KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhw
ZWN0YXRpb25zLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTEzLDYgKzEzLDExIEBACiAgICAgImNz
cy9nZW9tZXRyeSI6ICJpbXBvcnQiLCAKICAgICAiY3NzL3N1cHBvcnQiOiAiaW1wb3J0IiwgCiAg
ICAgImN1c3RvbS1lbGVtZW50cyI6ICJpbXBvcnQiLCAKKyAgICAicGFpbnQtdGltaW5nLyI6ICJp
bXBvcnQiLCAKKyAgICAicGFpbnQtdGltaW5nL2ZjcC1vbmx5IjogImltcG9ydCIsIAorICAgICJw
YWludC10aW1pbmcvcmVzb3VyY2VzIjogImltcG9ydCIsIAorICAgICJwYWludC10aW1pbmcvcmVz
b3VyY2VzLyI6ICJpbXBvcnQiLCAKKyAgICAicmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIjogImlt
cG9ydCIsIAogICAgICJzaGFkb3ctZG9tIjogImltcG9ydCIsIAogICAgICJ0b29scyI6ICJpbXBv
cnQiLCAKICAgICAid2ViLWFuaW1hdGlvbnMiOiAiaW1wb3J0IiwgCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNr
Z3JvdW5kIHNpemUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZv
cm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tncm91bmQgc2l6ZTwvdGl0
bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cisg
ICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFj
a2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIGJh
Y2tncm91bmQtc2l6ZTogMCAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMg
ZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7Cisg
ICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOworICAgIH0KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemUuIik7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0LiAKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmct
aW1hZ2Utc2V0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldDwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNw
IHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgYmFja2dyb3VuZC1p
bWFnZTogLXdlYmtpdC1pbWFnZS1zZXQodXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZykgMXgp
OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS1zZXQodXJsKC4uL3Jlc291cmNlcy9j
aXJjbGVzLnBuZykgMXgpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldC4iKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVw
cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4g
dmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+
UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgZmlyZSBmb3IgYmFja2dy
b3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQor
CisgICAgLyogY29udGVudGZ1bCBhbmQgcHJlRkNQIGNsYXNzZXMgYXJlIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLnByZUZDUCB7CisgICAgICAgIHZpc2liaWxpdHk6
IGhpZGRlbjsKKyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVsLCAgI21haW4ucHJlRkNQIHsK
KyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7
CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHZpc2liaWxpdHk6IHZp
c2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+
CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZm9yIGJhY2tncm91
bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGUuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ2FudmFzIHNob3VsZCBjb3VudCBh
cyBjb250ZW50ZnVsIHdoZW4gY29udGV4dCBpcyBjcmVhdGVkIAorCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtY2FudmFzLWNvbnRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFz
LWNvbnRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRl
eHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agd2hlbiBj
YW52YXMgY29udGV4dCBpcyBjcmVhdGVkPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdp
ZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgIGF3YWl0IG5l
dyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAg
YXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgICBjb25zdCBjYW52YXMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FudmFzJyk7CisgICAgY29uc3QgY29udGV4dCA9
IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworICAgIGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgMTAw
LCAxMDApOworICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICB9LCAn
Q2FudmFzIHNob3VsZCBjb3VudCBhcyBjb250ZW50ZnVsIHdoZW4gY29udGV4dCBpcyBjcmVhdGVk
Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdy
YWRpZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgR3JhZGllbnRz
IHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdy
YWRpZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBub3QgZmlyZSB3aXRoIGdyYWRpZW50
LW9ubHkgYmFja2dyb3VuZHM8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAg
d2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBvcmFuZ2UsIGJsdWUpOworICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rl
c3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFu
Y2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBh
d2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikp
OworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgICdH
cmFkaWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsJyk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUt
ZGVzY2VuZGFudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVu
dGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90YXRpbmcgaW50
byB2aWV3LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2Vu
ZGFudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRl
LWRlc2NlbmRhbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIGR1ZSB0byAzZCByZXZlYWxpbmcgb2YgZGVzY2VuZGFudHM8L3RpdGxlPgor
PHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2
ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVkZWcpOwor
ICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOworICAgIH0KKworICAgIC8qCisg
ICAgICAgVGhpcyB0ZXN0cyB0aGF0IGdpdmVuIG11bHRpcGxpY2F0aW9uIGVmZmVjdCBvZiAzZCB0
cmFuc2Zvcm1zIG9uIGJvdW5kaW5nIHJlY3QsCisgICAgICAgQW4gZWxlbWVudCBjb3VudHMgYXMg
Y29udGVudGZ1bC9wYWludGFibGUgb25seSB3aGVuIGl0cyBib3VuZGluZyByZWN0IGlzIHRydWx5
IG5vbi1lbXB0eSAqLworICAgICNjaGlsZCB7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCg0
NWRlZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRl
c3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNm
b3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBp
ZD0iY2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90
YXRpbmcgaW50byB2aWV3LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXcuIAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50
IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldzwvdGl0bGU+Cis8
c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZ
KDkwZGVnKTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7Cisg
ICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNj
cmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25l
OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
dXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+VGV4dDwvZGl2PgorPHNjcmlwdD4K
KyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gM2Qgcm90
YXRpb24gaW50byB2aWV3LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVl
IHRvIHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIHJldmVhbGVkIGR1cmluZyB0cmFuc2l0aW9uLiAKKwpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVh
ZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGluIHRyYW5zaXRp
b248L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5z
Zm9ybTogc2NhbGUoMCk7CisgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxczsKKyAgICAg
ICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAgLyog
Y29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAj
bWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKKyAgICB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRFWFQ8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcgdHJh
bnNpdGlvbi4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtc2NhbGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXNjYWxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1
ZSB0byBzY2FsZSBjaGFuZ2U8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAg
d2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7
CisgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2
ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVz
b3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlz
IGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgewor
ICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWlu
Ij48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQg
ZmlyZXMgZHVlIHRvIHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiIpCis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorSU5WSVNJQkxFCisKK1BBU1MgRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcg
dmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgc3RpbGwgZmlyZSBmb3IgaW52aXNpYmxlIHRl
eHQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7
CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNw
IHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTog
dmlzaWJsZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIElOVklTSUJM
RQorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiIpCis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRh
bnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2Nl
bmRhbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5
LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAor
VGV4dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNl
c3RvciBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS1kZXNjZW5kYW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkt
ZGVzY2VuZGFudC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRl
c2NlbmRhbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
ZHVlIHRvIGFuY2VzdG9yIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAg
ICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0
OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAg
IH0KKworICAgICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyog
Y29udGVudGZ1bCBhbmQgaW50ZXJtZWRpYXRlIGNsYXNzZXMgYXJlIGRlZmluZWQgaW4gdGVzdF9m
Y3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI2NoaWxkIHsKKyAgICAgICAgb3Bh
Y2l0eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgI2NoaWxkIHsKKyAgICAg
ICAgb3BhY2l0eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgeworICAgICAg
ICBvcGFjaXR5OiAwOworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBv
cGFjaXR5OiAwLjU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2
IGlkPSJjaGlsZCI+VGV4dDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBw
b3NpdGl2ZSBvcGFjaXR5LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFT
UyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVs
ZW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LW9wYWNpdHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
ZHVlIHRvIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lk
dGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7Cisg
ICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNr
Z3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgb3Bh
Y2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4g
dGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFj
aXR5OiAwLjE7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3Jp
cHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIG9w
YWNpdHktcmV2ZWFsZWQgZWxlbWVudC4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBk
dWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIGR1ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1l
bnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHRyYW5z
Zm9ybS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudDwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMDBw
eCk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAg
ICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9
CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0
LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7Cisg
ICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVz
dF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1iYXNl
ZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWlu
ZyBUZXN0OiBGQ1AgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50PC90aXRsZT4KKzxz
dHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgbGVmdDogLTEwMDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9y
ZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3Mg
aXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7
CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwv
ZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBkdWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIikKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBA
CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1l
bnQgdGV4dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhl
YWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNl
dWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJU
RVhUIjsKKyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVs
IGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRl
bnRmdWw6YWZ0ZXIgeworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC1pbWFnZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVk
by1lbGVtZW50IGltYWdlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWlt
YWdlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdl
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdl
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBw
c2V1ZG8tZWxlbWVudCBpbWFnZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAg
ICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQg
aW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAg
ICAgICBjb250ZW50OiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4i
KQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4gCisKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVy
Zm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0
dGluZyBwb3NpdGl2ZSBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAg
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVu
dDogIlRFWFQiOworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRm
dWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29u
dGVudGZ1bDphZnRlciB7CisgICAgICAgIG9wYWNpdHk6IDAuNTsKKyAgICB9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0
aXZlIG9wYWNpdHkuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LXRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9D
VFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6
IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21h
aW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsK
KyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNz
IGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6
YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAiVEVYVCIKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYg
aWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4K
KzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZp
c2liaWxpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBk
dWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21p
bmcgdmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsK
KyAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwg
Y2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVu
dGZ1bDphZnRlciB7CisgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcg
dmlzaWJsZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atc3ZnLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIHdoZW4gU1ZHIGJlY29tZXMgY29udGVudGZ1bC4gCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1zdmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFp
bnQgVGltaW5nIFRlc3Q6IEZDUCB3aXRoIFNWRzwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
IGxlZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgIH0KKworICAgICNj
aXJjbGUgeworICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVs
IGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRl
bnRmdWwgI2NpcmNsZSB7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0
PgorPGRpdiBpZD0ibWFpbiI+CisgIDxzdmcgdmlld0JveD0iMCAwIDEwIDEwIiB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciCisgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hsaW5rIj4KKyAgICA8ZGVmcz4KKyAgICAgIDxjaXJjbGUgaWQ9Im15Q2lyY2xl
IiBjeD0iNSIgY3k9IjUiIHI9IjQiIHN0cm9rZT0iYmx1ZSIvPgorICAgIDwvZGVmcz4KKyAgICA8
dXNlIGlkPSJjaXJjbGUiIGhyZWY9IiNteUNpcmNsZSIgZmlsbD0iZ3JlZW4iIC8+CisgIDwvc3Zn
PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIHdoZW4gU1ZHIGJlY29tZXMgY29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+
CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVGV4dCBpbnB1dCBzaG91bGQgYmVjb21l
IGNvbnRlbnRmdWwgd2hlbiBpdHMgdmFsdWUgaXMgbm9uLWVtcHR5IAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdGV4dC1pbnB1dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlu
cHV0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIGZvciBub24tZW1w
dHkgdGV4dCBpbnB1dDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGlucHV0IGlkPSJpbnB1dCIgdHlwZT0idGV4dCIgLz4K
KzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9pbXBs
ZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0
IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVu
dGZ1bFBhaW50KHQpOworICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnaW5wdXQnKTsKKyAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgndmFsdWUnLCAnICAnKTsKKyAg
ICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCk7CisgICAgICBpbnB1dC5z
ZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ3ZhbHVlJyk7CisgICAgICBhd2FpdCBhc3NlcnRGaXJzdENv
bnRlbnRmdWxQYWludCh0KTsKKyAgfSwgJ1RleHQgaW5wdXQgc2hvdWxkIGJlY29tZSBjb250ZW50
ZnVsIHdoZW4gaXRzIHZhbHVlIGlzIG5vbi1lbXB0eScpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK0EKKworUEFTUyBGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIG9ubHkgd2hlbiBzb21lIG9mIHRoZSB0ZXh0IGlzIHZp
c2libGUsIGNvbnNpZGVyaW5nIDo6Zmlyc3QtbGV0dGVyLiAKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXR5cG9ncmFwaGljLXBzZXVkby5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBv
Z3JhcGhpYy1wc2V1ZG8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dy
YXBoaWMtcHNldWRvLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDog
RkNQIHNob3VsZCBub3QgZmlyZSB3aGVuIGFsbCB0ZXh0IGlzIGhpZGRlbiBkdWUgdG8gdHlwb2dy
YXBoaWMgcHNldWRvLWVsZW1lbnRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAg
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluICo6OmZpcnN0LWxldHRlciB7CisgICAg
ICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZp
bmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICo6OmZpcnN0
LWxldHRlciB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlk
PSJtYWluIj4KKyAgICA8ZGl2PkE8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2Zj
cCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBvbmx5IHdoZW4gc29tZSBvZiB0aGUgdGV4
dCBpcyB2aXNpYmxlLCBjb25zaWRlcmluZyA6OmZpcnN0LWxldHRlci4iKQorPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFZpZGVvIHNob3VsZCBiZWNv
bWUgY29udGVudGZ1bCB3aGVuIGZpcnN0IGZyYW1lIGlzIGxvYWRlZCAKKwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVv
LWZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVh
ZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBsb2Fk
ZWQgdmlkZW8gZnJhbWU8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIGF1dG9wbGF5Pjwvdmlk
ZW8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRf
aW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBp
c24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENv
bnRlbnRmdWxQYWludCh0KTsKKyAgICAgIC8vIFNldCBhY3R1YWwgdmlkZW8gY29udGVudCB0byB0
cmlnZ2VyIEZDUC4KKyAgICAgIGNvbnN0IHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3ZpZGVvJyk7CisgICAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3NyYycsICcvbWVkaWEvdGVzdC5t
cDQnKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICB2aWRl
by5vbmNhbnBsYXkgPSByZXNvbHZlOworICAgICAgfSk7CisgICAgICBhd2FpdCBhc3NlcnRGaXJz
dENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgJ1ZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1
bCB3aGVuIGZpcnN0IGZyYW1lIGlzIGxvYWRlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVu
dGZ1bCB3aGVuIHBvc3RlciBpcyBsb2FkZWQgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1w
b3N0ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+
UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gbG9hZGVkIHZpZGVvIHBv
c3RlcjwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
dXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHZpZGVvIGlkPSJ2aWRlbyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48
L3ZpZGVvPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGFzc2Vy
dF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5n
IGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250
ZW50ZnVsUGFpbnQodCk7CisgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndmlkZW8nKTsKKyAgICBjb25zdCBzcmMgPSAnLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nJzsK
KyAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpOworICAgIGltYWdlLnNyYyA9IHNyYzsKKyAg
ICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3Bvc3RlcicsIHNyYyk7CisgICAgYXdhaXQgbmV3IFByb21p
c2UocmVzb2x2ZSA9PiB7CisgICAgICAgIGltYWdlLm9ubG9hZCA9IGFzeW5jICgpID0+IHJlc29s
dmUoKTsKKyAgICB9KQorICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQpOwor
ICB9LCAnVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9zdGVyIGlzIGxvYWRl
ZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hp
dGVzcGFjZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3Bh
Y2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNl
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RFWFQKKworUEFT
UyBXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bC4gCisKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdo
aXRlc3BhY2UuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhl
YWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IFdoaXRlc3BhY2Ugc2hv
dWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7
CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVz
b3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDA7CisgICAg
fQorCisgICAgI3RleHQgeworICAgICAgICBkaXNwbGF5OiBub25lOworICAgIH0KKworICAgIC8q
IGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAg
I21haW4uY29udGVudGZ1bCAjdGV4dHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJ3aGl0ZXNwYWNlIj4gICA8
L2Rpdj4KKyAgICA8ZGl2IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+Cisg
ICAgdGVzdF9mY3AoIldoaXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsLiIp
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0
bC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNTIEZDUCBzaG91
bGQgZmlyZSB3aGVuIGNvb3JkaW5hdGVzIGFyZSBuZWdhdGl2ZSwgaWYgd2l0aGluIGRvY3VtZW50
IHNjcm9sbGFibGUgYXJlYSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIGR1ZSB0byBkaXJlY3Rpb24gY2hhbmdlPC90aXRsZT4KKzxzdHlsZT4KKyAg
I3RleHQgeworICAgIHJpZ2h0OiAtMTAwcHg7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICB9
CisKKyAgYm9keSB7CisgICAgZGlyZWN0aW9uOiBydGw7CisgIH0KKworICAjZHVtbXkgeworICAg
IGJhY2tncm91bmQ6IHllbGxvdzsKKyAgICB3aWR0aDogMTBweDsKKyAgICBoZWlnaHQ6IDEwcHg7
CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIGxlZnQ6IDA7CisgICAgdG9wOiAwOworICB9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0
aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9ImR1bW15Ij48L2Rpdj4KKzxkaXYgaWQ9InRleHQiPlRFWFQ8
L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2Vy
dF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5n
IGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0
Q29udGVudGZ1bFBhaW50KHQpOworICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5kaXJlY3Rpb24g
PSAnbHRyJworICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1bW15Jykuc3R5bGUuYmFj
a2dyb3VuZCA9ICdncmVlbicKKyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50
KHQpOworICB9LCAnRkNQIHNob3VsZCBmaXJlIHdoZW4gY29vcmRpbmF0ZXMgYXJlIG5lZ2F0aXZl
LCBpZiB3aXRoaW4gZG9jdW1lbnQgc2Nyb2xsYWJsZSBhcmVhJyk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy9jaXJjbGUuc3ZnCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3Zn
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSI+CisgICA8Y2lyY2xlIGN4PSIxMDAiIGN5PSI1
MCIgcj0iNDAiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgLz4K
Kzwvc3ZnPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KKzxkaXYgaWQ9ImltYWdlIj48L2Rpdj4K
KzxzY3JpcHQ+CisgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0lNRycpOwor
ICBpbWcuc3JjID0gJ2NpcmNsZXMucG5nJzsKKyAgaW1nLm9ubG9hZCA9IGZ1bmN0aW9uKCkgewor
ICAgIGZ1bmN0aW9uIHNlbmRQYWludEVudHJpZXMoKSB7CisgICAgICBjb25zdCBwYWludEVudHJp
ZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdwYWludCcpOworICAgICAgaWYgKHBh
aW50RW50cmllcy5sZW5ndGggPCAyKSB7CisgICAgICAgIHNldFRpbWVvdXQoc2VuZFBhaW50RW50
cmllcywgMjApOworICAgICAgICByZXR1cm47CisgICAgICB9CisgICAgICBsZXQgZW50cnlDb250
ZW50cyA9IHBhaW50RW50cmllcy5sZW5ndGggKyAnJzsKKyAgICAgIGZvciAobGV0IGkgPSAwOyBp
IDwgcGFpbnRFbnRyaWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gcGFp
bnRFbnRyaWVzW2ldOworICAgICAgICBlbnRyeUNvbnRlbnRzICs9ICcgJyArIGVudHJ5LmVudHJ5
VHlwZSArICcgJyAgKyBlbnRyeS5uYW1lOworICAgICAgfQorICAgICAgcGFyZW50LnBvc3RNZXNz
YWdlKGVudHJ5Q29udGVudHMsICcqJyk7CisgICAgfTsKKyAgICBzZW5kUGFpbnRFbnRyaWVzKCk7
CisgIH07CisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWFnZScpLmFwcGVuZENoaWxkKGlt
Zyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFt
ZS1zZW5kaW5nLXBhaW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNl
bmRpbmctcGFpbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2Vu
ZGluZy1wYWludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPHNjcmlwdD4KKyAgc2VsZi5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVu
Y3Rpb24oZSkgeworICAgIC8vIFNlbmQgcGFpbnQtdGltaW5nIGVudHJpZXMgdXBvbiByZWNlaXZp
bmcgYSBtZXNzYWdlLgorICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeVR5cGUoJ3BhaW50Jyk7CisgICAgbGV0IGVudHJ5Q29udGVudHMgPSBwYWludEVudHJp
ZXMubGVuZ3RoICsgJyc7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYWludEVudHJpZXMubGVu
Z3RoOyBpKyspIHsKKyAgICAgIGNvbnN0IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAgICAg
ZW50cnlDb250ZW50cyArPSAnICcgKyBlbnRyeS5lbnRyeVR5cGUgKyAnICcgICsgZW50cnkubmFt
ZTsKKyAgICB9CisgICAgcGFyZW50LnBvc3RNZXNzYWdlKGVudHJ5Q29udGVudHMsICcqJyk7Cisg
IH0pOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3V0aWxzLmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ4IEBACitmdW5jdGlvbiB3YWl0Rm9yQW5pbWF0aW9u
RnJhbWVzKGNvdW50KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBp
ZiAoY291bnQtLSA8PSAwKSB7CisgICAgICByZXNvbHZlKCk7CisgICAgfSBlbHNlIHsKKyAgICAg
IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgIHdhaXRGb3JBbmltYXRpb25G
cmFtZXMoY291bnQpLnRoZW4ocmVzb2x2ZSk7CisgICAgICB9KTsKKyAgICB9CisgIH0pOworfQor
CisvLyBBc3NlcnRzIHRoYXQgdGhlcmUgaXMgY3VycmVudGx5IG5vIEZDUCByZXBvcnRlZC4gUGFz
cyB0IHRvIGFkZCBzb21lIHdhaXQsIGluIGNhc2UgQ1NTIGlzIGxvYWRlZAorLy8gYW5kIEZDUCBp
cyBpbmNvcnJlY3RseSBmaXJlZCBhZnRlcndhcmRzLgorYXN5bmMgZnVuY3Rpb24gYXNzZXJ0Tm9G
aXJzdENvbnRlbnRmdWxQYWludCh0KSB7CisgIGF3YWl0IHdhaXRGb3JBbmltYXRpb25GcmFtZXMo
Myk7CisgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3Qt
Y29udGVudGZ1bC1wYWludCcpLmxlbmd0aCwgMCwgJ0ZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgbWFy
a2VkIHRvbyBlYXJseS4gJyk7Cit9CisKKy8vIEZ1bmN0aW9uIHRoYXQgaXMgcmVzb2x2ZWQgb25j
ZSBGQ1AgaXMgcmVwb3J0ZWQsIHVzaW5nIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuIEl0IHJlamVjdHMg
YWZ0ZXIgYSBsb25nCisvLyB3YWl0IHRpbWUgc28gdGhhdCBmYWlsaW5nIHRlc3RzIGRvbid0IHRp
bWVvdXQuCithc3luYyBmdW5jdGlvbiBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KSB7Cisg
IHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlICA9PiB7CisgICAgZnVuY3Rpb24gY2hlY2tGQ1Ao
KSB7CisgICAgICBpZiAocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVu
dGZ1bC1wYWludCcpLmxlbmd0aCA9PT0gMSkgeworICAgICAgICByZXNvbHZlKCk7CisgICAgICB9
IGVsc2UgeworICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoY2hlY2tGQ1ApCisgICAgICB9
CisgICAgfQorICAgIHQuc3RlcChjaGVja0ZDUCk7CisgIH0pOworfQorCithc3luYyBmdW5jdGlv
biB0ZXN0X2ZjcChsYWJlbCkgeworICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ3N0eWxlJyk7CisgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOworICBhd2Fp
dCBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93
LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIp
OworICAgIGNvbnN0IG1haW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbicpOworICAg
IGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBy
KSk7CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgICBtYWlu
LmNsYXNzTmFtZSA9ICdwcmVGQ1AnOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVs
UGFpbnQodCk7CisgICAgbWFpbi5jbGFzc05hbWUgPSAnY29udGVudGZ1bCc7CisgICAgYXdhaXQg
YXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQodCk7CisgIH0sIGxhYmVsKTsKK30KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9y
dC5sb2cJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMjEgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0
cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBX
ZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgor
CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoK
K05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQor
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL2NpcmNsZXMucG5nCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxz
LmpzCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcwkocmV2aXNp
b24gMjYwMDQ1KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTYzOCwzMSArNjM4
LDg3IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAgICB9KTsK
ICAgICB9CiAKLSAgICBmdW5jdGlvbiBwcm9taXNlX3JlamVjdHModGVzdCwgZXhwZWN0ZWQsIHBy
b21pc2UsIGRlc2NyaXB0aW9uKSB7Ci0gICAgICAgIHJldHVybiBwcm9taXNlLnRoZW4odGVzdC51
bnJlYWNoZWRfZnVuYygiU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6ICIgKyBkZXNjcmlwdGlvbikpLmNh
dGNoKGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3MoZXhwZWN0ZWQsIGZ1
bmN0aW9uKCkgeyB0aHJvdyBlIH0sIGRlc2NyaXB0aW9uKTsKLSAgICAgICAgfSk7CisgICAgLyoq
CisgICAgICogTWFrZSBhIGNvcHkgb2YgYSBQcm9taXNlIGluIHRoZSBjdXJyZW50IHJlYWxtLgor
ICAgICAqCisgICAgICogQHBhcmFtIHtQcm9taXNlfSBwcm9taXNlIHRoZSBnaXZlbiBwcm9taXNl
IHRoYXQgbWF5IGJlIGZyb20gYSBkaWZmZXJlbnQKKyAgICAgKiAgICAgICAgICAgICAgICAgICAg
ICAgICAgcmVhbG0KKyAgICAgKiBAcmV0dXJucyB7UHJvbWlzZX0KKyAgICAgKgorICAgICAqIEFu
IGFyYml0cmFyeSBwcm9taXNlIHByb3ZpZGVkIGJ5IHRoZSBjYWxsZXIgbWF5IGhhdmUgb3JpZ2lu
YXRlZCBpbgorICAgICAqIGFub3RoZXIgZnJhbWUgdGhhdCBoYXZlIHNpbmNlIG5hdmlnYXRlZCBh
d2F5LCByZW5kZXJpbmcgdGhlIGZyYW1lJ3MKKyAgICAgKiBkb2N1bWVudCBpbmFjdGl2ZS4gU3Vj
aCBhIHByb21pc2UgY2Fubm90IGJlIHVzZWQgd2l0aCBgYXdhaXRgIG9yCisgICAgICogUHJvbWlz
ZS5yZXNvbHZlKCksIGFzIG1pY3JvdGFza3MgYXNzb2NpYXRlZCB3aXRoIGl0IG1heSBiZSBwcmV2
ZW50ZWQKKyAgICAgKiBmcm9tIGJlaW5nIHJ1bi4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0
d2cvaHRtbC9pc3N1ZXMvNTMxOSBmb3IgYQorICAgICAqIHBhcnRpY3VsYXIgY2FzZS4KKyAgICAg
KgorICAgICAqIEluIGZ1bmN0aW9ucyB3ZSBkZWZpbmUgaGVyZSwgdGhlcmUgaXMgYW4gZXhwZWN0
YXRpb24gZnJvbSB0aGUgY2FsbGVyCisgICAgICogdGhhdCB0aGUgcHJvbWlzZSBpcyBmcm9tIHRo
ZSBjdXJyZW50IHJlYWxtLCB0aGF0IGNhbiBhbHdheXMgYmUgdXNlZCB3aXRoCisgICAgICogYGF3
YWl0YCwgZXRjLiBXZSB0aGVyZWZvcmUgY3JlYXRlIGEgbmV3IHByb21pc2UgaW4gdGhpcyByZWFs
bSB0aGF0CisgICAgICogaW5oZXJpdCB0aGUgdmFsdWUgYW5kIHN0YXR1cyBmcm9tIHRoZSBnaXZl
biBwcm9taXNlLgorICAgICAqLworCisgICAgZnVuY3Rpb24gYnJpbmdfcHJvbWlzZV90b19jdXJy
ZW50X3JlYWxtKHByb21pc2UpIHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHByb21pc2Uu
dGhlbi5iaW5kKHByb21pc2UpKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBwcm9taXNlX3JlamVj
dHNfanModGVzdCwgY29uc3RydWN0b3IsIHByb21pc2UsIGRlc2NyaXB0aW9uKSB7CisgICAgICAg
IHJldHVybiBicmluZ19wcm9taXNlX3RvX2N1cnJlbnRfcmVhbG0ocHJvbWlzZSkKKyAgICAgICAg
ICAgIC50aGVuKHRlc3QudW5yZWFjaGVkX2Z1bmMoIlNob3VsZCBoYXZlIHJlamVjdGVkOiAiICsg
ZGVzY3JpcHRpb24pKQorICAgICAgICAgICAgLmNhdGNoKGZ1bmN0aW9uKGUpIHsKKyAgICAgICAg
ICAgICAgICBhc3NlcnRfdGhyb3dzX2pzX2ltcGwoY29uc3RydWN0b3IsIGZ1bmN0aW9uKCkgeyB0
aHJvdyBlIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0
aW9uLCAicHJvbWlzZV9yZWplY3RzX2pzIik7CisgICAgICAgICAgICB9KTsKICAgICB9CiAKLSAg
ICBmdW5jdGlvbiBwcm9taXNlX3JlamVjdHNfanModGVzdCwgZXhwZWN0ZWQsIHByb21pc2UsIGRl
c2NyaXB0aW9uKSB7Ci0gICAgICAgIHJldHVybiBwcm9taXNlLnRoZW4odGVzdC51bnJlYWNoZWRf
ZnVuYygiU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6ICIgKyBkZXNjcmlwdGlvbikpLmNhdGNoKGZ1bmN0
aW9uKGUpIHsKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3NfanNfaW1wbChleHBlY3RlZCwgZnVu
Y3Rpb24oKSB7IHRocm93IGUgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
ZXNjcmlwdGlvbiwgInByb21pc2VfcmVqZWN0X2pzIik7Ci0gICAgICAgIH0pOwotICAgIH0KKyAg
ICAvKioKKyAgICAgKiBBc3NlcnQgdGhhdCBhIFByb21pc2UgaXMgcmVqZWN0ZWQgd2l0aCB0aGUg
cmlnaHQgRE9NRXhjZXB0aW9uLgorICAgICAqCisgICAgICogQHBhcmFtIHRlc3QgdGhlIHRlc3Qg
YXJndW1lbnQgcGFzc2VkIHRvIHByb21pc2VfdGVzdAorICAgICAqIEBwYXJhbSB7bnVtYmVyfHN0
cmluZ30gdHlwZS4gIFNlZSBkb2N1bWVudGF0aW9uIGZvciBhc3NlcnRfdGhyb3dzX2RvbS4KKyAg
ICAgKgorICAgICAqIEZvciB0aGUgcmVtYWluaW5nIGFyZ3VtZW50cywgdGhlcmUgYXJlIHR3byB3
YXlzIG9mIGNhbGxpbmcKKyAgICAgKiBwcm9taXNlX3JlamVjdHNfZG9tOgorICAgICAqCisgICAg
ICogMSkgSWYgdGhlIERPTUV4Y2VwdGlvbiBpcyBleHBlY3RlZCB0byBjb21lIGZyb20gdGhlIGN1
cnJlbnQgZ2xvYmFsLCB0aGUKKyAgICAgKiB0aGlyZCBhcmd1bWVudCBzaG91bGQgYmUgdGhlIHBy
b21pc2UgZXhwZWN0ZWQgdG8gcmVqZWN0LCBhbmQgYSBmb3VydGgsCisgICAgICogb3B0aW9uYWws
IGFyZ3VtZW50IGlzIHRoZSBhc3NlcnRpb24gZGVzY3JpcHRpb24uCisgICAgICoKKyAgICAgKiAy
KSBJZiB0aGUgRE9NRXhjZXB0aW9uIGlzIGV4cGVjdGVkIHRvIGNvbWUgZnJvbSBzb21lIG90aGVy
IGdsb2JhbCwgdGhlCisgICAgICogdGhpcmQgYXJndW1lbnQgc2hvdWxkIGJlIHRoZSBET01FeGNl
cHRpb24gY29uc3RydWN0b3IgZnJvbSB0aGF0IGdsb2JhbCwKKyAgICAgKiB0aGUgZm91cnRoIGFy
Z3VtZW50IHRoZSBwcm9taXNlIGV4cGVjdGVkIHRvIHJlamVjdCwgYW5kIHRoZSBmaWZ0aCwKKyAg
ICAgKiBvcHRpb25hbCwgYXJndW1lbnQgdGhlIGFzc2VydGlvbiBkZXNjcmlwdGlvbi4KKyAgICAg
Ki8KIAotICAgIGZ1bmN0aW9uIHByb21pc2VfcmVqZWN0c19kb20odGVzdCwgZXhwZWN0ZWQsIHBy
b21pc2UsIGRlc2NyaXB0aW9uKSB7Ci0gICAgICAgIHJldHVybiBwcm9taXNlLnRoZW4odGVzdC51
bnJlYWNoZWRfZnVuYygiU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6ICIgKyBkZXNjcmlwdGlvbikpLmNh
dGNoKGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tX2ltcGwoZXhw
ZWN0ZWQsIGZ1bmN0aW9uKCkgeyB0aHJvdyBlIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRlc2NyaXB0aW9uLCAicHJvbWlzZV9yZWplY3RzX2RvbSIpOwotICAgICAgICB9
KTsKKyAgICBmdW5jdGlvbiBwcm9taXNlX3JlamVjdHNfZG9tKHRlc3QsIHR5cGUsIHByb21pc2VP
ckNvbnN0cnVjdG9yLCBkZXNjcmlwdGlvbk9yUHJvbWlzZSwgbWF5YmVEZXNjcmlwdGlvbikgewor
ICAgICAgICBsZXQgY29uc3RydWN0b3IsIHByb21pc2UsIGRlc2NyaXB0aW9uOworICAgICAgICBp
ZiAodHlwZW9mIHByb21pc2VPckNvbnN0cnVjdG9yID09PSAiZnVuY3Rpb24iICYmCisgICAgICAg
ICAgICBwcm9taXNlT3JDb25zdHJ1Y3Rvci5uYW1lID09PSAiRE9NRXhjZXB0aW9uIikgeworICAg
ICAgICAgICAgY29uc3RydWN0b3IgPSBwcm9taXNlT3JDb25zdHJ1Y3RvcjsKKyAgICAgICAgICAg
IHByb21pc2UgPSBkZXNjcmlwdGlvbk9yUHJvbWlzZTsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
ID0gbWF5YmVEZXNjcmlwdGlvbjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGNvbnN0
cnVjdG9yID0gc2VsZi5ET01FeGNlcHRpb247CisgICAgICAgICAgICBwcm9taXNlID0gcHJvbWlz
ZU9yQ29uc3RydWN0b3I7CisgICAgICAgICAgICBkZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uT3JQ
cm9taXNlOworICAgICAgICAgICAgYXNzZXJ0KG1heWJlRGVzY3JpcHRpb24gPT09IHVuZGVmaW5l
ZCwKKyAgICAgICAgICAgICAgICAgICAiVG9vIG1hbnkgYXJncyBwYXNlZCB0byBuby1jb25zdHJ1
Y3RvciB2ZXJzaW9uIG9mIHByb21pc2VfcmVqZWN0c19kb20iKTsKKyAgICAgICAgfQorICAgICAg
ICByZXR1cm4gYnJpbmdfcHJvbWlzZV90b19jdXJyZW50X3JlYWxtKHByb21pc2UpCisgICAgICAg
ICAgICAudGhlbih0ZXN0LnVucmVhY2hlZF9mdW5jKCJTaG91bGQgaGF2ZSByZWplY3RlZDogIiAr
IGRlc2NyaXB0aW9uKSkKKyAgICAgICAgICAgIC5jYXRjaChmdW5jdGlvbihlKSB7CisgICAgICAg
ICAgICAgICAgYXNzZXJ0X3Rocm93c19kb21faW1wbCh0eXBlLCBmdW5jdGlvbigpIHsgdGhyb3cg
ZSB9LCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJwcm9taXNlX3JlamVjdHNfZG9tIiwgY29uc3RydWN0b3IpOworICAgICAgICAgICAgfSk7CiAg
ICAgfQogCi0gICAgZnVuY3Rpb24gcHJvbWlzZV9yZWplY3RzX2V4YWN0bHkodGVzdCwgZXhwZWN0
ZWQsIHByb21pc2UsIGRlc2NyaXB0aW9uKSB7Ci0gICAgICAgIHJldHVybiBwcm9taXNlLnRoZW4o
dGVzdC51bnJlYWNoZWRfZnVuYygiU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6ICIgKyBkZXNjcmlwdGlv
bikpLmNhdGNoKGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZXhhY3Rs
eV9pbXBsKGV4cGVjdGVkLCBmdW5jdGlvbigpIHsgdGhyb3cgZSB9LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24sICJwcm9taXNlX3JlamVjdHNfZXhh
Y3RseSIpOwotICAgICAgICB9KTsKKyAgICBmdW5jdGlvbiBwcm9taXNlX3JlamVjdHNfZXhhY3Rs
eSh0ZXN0LCBleGNlcHRpb24sIHByb21pc2UsIGRlc2NyaXB0aW9uKSB7CisgICAgICAgIHJldHVy
biBicmluZ19wcm9taXNlX3RvX2N1cnJlbnRfcmVhbG0ocHJvbWlzZSkKKyAgICAgICAgICAgIC50
aGVuKHRlc3QudW5yZWFjaGVkX2Z1bmMoIlNob3VsZCBoYXZlIHJlamVjdGVkOiAiICsgZGVzY3Jp
cHRpb24pKQorICAgICAgICAgICAgLmNhdGNoKGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgICAg
ICBhc3NlcnRfdGhyb3dzX2V4YWN0bHlfaW1wbChleGNlcHRpb24sIGZ1bmN0aW9uKCkgeyB0aHJv
dyBlIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3Jp
cHRpb24sICJwcm9taXNlX3JlamVjdHNfZXhhY3RseSIpOworICAgICAgICAgICAgfSk7CiAgICAg
fQogCiAgICAgLyoqCkBAIC04OTgsNyArOTU0LDYgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlv
biBmb3JtcyBbM10uCiAgICAgZXhwb3NlKHRlc3QsICd0ZXN0Jyk7CiAgICAgZXhwb3NlKGFzeW5j
X3Rlc3QsICdhc3luY190ZXN0Jyk7CiAgICAgZXhwb3NlKHByb21pc2VfdGVzdCwgJ3Byb21pc2Vf
dGVzdCcpOwotICAgIGV4cG9zZShwcm9taXNlX3JlamVjdHMsICdwcm9taXNlX3JlamVjdHMnKTsK
ICAgICBleHBvc2UocHJvbWlzZV9yZWplY3RzX2pzLCAncHJvbWlzZV9yZWplY3RzX2pzJyk7CiAg
ICAgZXhwb3NlKHByb21pc2VfcmVqZWN0c19kb20sICdwcm9taXNlX3JlamVjdHNfZG9tJyk7CiAg
ICAgZXhwb3NlKHByb21pc2VfcmVqZWN0c19leGFjdGx5LCAncHJvbWlzZV9yZWplY3RzX2V4YWN0
bHknKTsKQEAgLTEwMDYsMTIgKzEwNjEsMjAgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBm
b3JtcyBbM10uCiAgICAgICAgICAgICBzZWVuLnB1c2godmFsKTsKICAgICAgICAgfQogICAgICAg
ICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7Ci0gICAgICAgICAgICByZXR1cm4gIlsiICsgdmFs
Lm1hcChmdW5jdGlvbih4KSB7cmV0dXJuIGZvcm1hdF92YWx1ZSh4LCBzZWVuKTt9KS5qb2luKCIs
ICIpICsgIl0iOworICAgICAgICAgICAgbGV0IG91dHB1dCA9ICJbIjsKKyAgICAgICAgICAgIGlm
ICh2YWwuYmVnaW5FbGxpcHNpcyAhPT0gdW5kZWZpbmVkKSB7CisgICAgICAgICAgICAgICAgb3V0
cHV0ICs9ICLigKYsICI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBvdXRwdXQgKz0gdmFs
Lm1hcChmdW5jdGlvbih4KSB7cmV0dXJuIGZvcm1hdF92YWx1ZSh4LCBzZWVuKTt9KS5qb2luKCIs
ICIpOworICAgICAgICAgICAgaWYgKHZhbC5lbmRFbGxpcHNpcyAhPT0gdW5kZWZpbmVkKSB7Cisg
ICAgICAgICAgICAgICAgb3V0cHV0ICs9ICIsIOKApiI7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICByZXR1cm4gb3V0cHV0ICsgIl0iOwogICAgICAgICB9CiAKICAgICAgICAgc3dpdGNoICh0
eXBlb2YgdmFsKSB7CiAgICAgICAgIGNhc2UgInN0cmluZyI6Ci0gICAgICAgICAgICB2YWwgPSB2
YWwucmVwbGFjZSgiXFwiLCAiXFxcXCIpOworICAgICAgICAgICAgdmFsID0gdmFsLnJlcGxhY2Uo
L1xcL2csICJcXFxcIik7CiAgICAgICAgICAgICBmb3IgKHZhciBwIGluIHJlcGxhY2VtZW50cykg
ewogICAgICAgICAgICAgICAgIHZhciByZXBsYWNlID0gIlxcIiArIHJlcGxhY2VtZW50c1twXTsK
ICAgICAgICAgICAgICAgICB2YWwgPSB2YWwucmVwbGFjZShSZWdFeHAoU3RyaW5nLmZyb21DaGFy
Q29kZShwKSwgImciKSwgcmVwbGFjZSk7CkBAIC0xMTc4LDI1ICsxMjQxLDU3IEBAIHBvbGljaWVz
IGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogCiAgICAgZnVuY3Rpb24gYXNzZXJ0X2FycmF5
X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbikKICAgICB7CisgICAgICAgIGNv
bnN0IG1heF9hcnJheV9sZW5ndGggPSAyMDsKKyAgICAgICAgZnVuY3Rpb24gc2hvcnRlbl9hcnJh
eShhcnIsIG9mZnNldCA9IDApIHsKKyAgICAgICAgICAgIC8vIE1ha2UgIiwg4oCmIiBvbmx5IHNo
b3cgdXAgd2hlbiBpdCB3b3VsZCBsaWtlbHkgcmVkdWNlIHRoZSBsZW5ndGgsIG5vdCBhY2NvdW50
aW5nIGZvcgorICAgICAgICAgICAgLy8gZm9udHMuCisgICAgICAgICAgICBpZiAoYXJyLmxlbmd0
aCA8IG1heF9hcnJheV9sZW5ndGggKyAyKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGFycjsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8vIEJ5IGRlZmF1bHQgd2Ugd2FudCBoYWxmIHRo
ZSBlbGVtZW50cyBhZnRlciB0aGUgb2Zmc2V0IGFuZCBoYWxmIGJlZm9yZQorICAgICAgICAgICAg
Ly8gQnV0IGlmIHRoYXQgdGFrZXMgdXMgcGFzdCB0aGUgZW5kIG9mIHRoZSBhcnJheSwgd2UgaGF2
ZSBtb3JlIGJlZm9yZSwgYW5kCisgICAgICAgICAgICAvLyBpZiBpdCB0YWtlcyB1cyBiZWZvcmUg
dGhlIHN0YXJ0IHdlIGhhdmUgbW9yZSBhZnRlci4KKyAgICAgICAgICAgIGNvbnN0IGxlbmd0aF9h
ZnRlcl9vZmZzZXQgPSBNYXRoLmZsb29yKG1heF9hcnJheV9sZW5ndGggLyAyKTsKKyAgICAgICAg
ICAgIGxldCB1cHBlcl9ib3VuZCA9IE1hdGgubWluKGxlbmd0aF9hZnRlcl9vZmZzZXQgKyBvZmZz
ZXQsIGFyci5sZW5ndGgpOworICAgICAgICAgICAgY29uc3QgbG93ZXJfYm91bmQgPSBNYXRoLm1h
eCh1cHBlcl9ib3VuZCAtIG1heF9hcnJheV9sZW5ndGgsIDApOworCisgICAgICAgICAgICBpZiAo
bG93ZXJfYm91bmQgPT09IDApIHsKKyAgICAgICAgICAgICAgICB1cHBlcl9ib3VuZCA9IG1heF9h
cnJheV9sZW5ndGg7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGNvbnN0IG91dHB1dCA9
IGFyci5zbGljZShsb3dlcl9ib3VuZCwgdXBwZXJfYm91bmQpOworICAgICAgICAgICAgaWYgKGxv
d2VyX2JvdW5kID4gMCkgeworICAgICAgICAgICAgICAgIG91dHB1dC5iZWdpbkVsbGlwc2lzID0g
dHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICh1cHBlcl9ib3VuZCA8IGFyci5s
ZW5ndGgpIHsKKyAgICAgICAgICAgICAgICBvdXRwdXQuZW5kRWxsaXBzaXMgPSB0cnVlOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIG91dHB1dDsKKyAgICAgICAgfQorCiAgICAg
ICAgIGFzc2VydCh0eXBlb2YgYWN0dWFsID09PSAib2JqZWN0IiAmJiBhY3R1YWwgIT09IG51bGwg
JiYgImxlbmd0aCIgaW4gYWN0dWFsLAogICAgICAgICAgICAgICAgImFzc2VydF9hcnJheV9lcXVh
bHMiLCBkZXNjcmlwdGlvbiwKICAgICAgICAgICAgICAgICJ2YWx1ZSBpcyAke2FjdHVhbH0sIGV4
cGVjdGVkIGFycmF5IiwKICAgICAgICAgICAgICAgIHthY3R1YWw6YWN0dWFsfSk7CiAgICAgICAg
IGFzc2VydChhY3R1YWwubGVuZ3RoID09PSBleHBlY3RlZC5sZW5ndGgsCiAgICAgICAgICAgICAg
ICAiYXNzZXJ0X2FycmF5X2VxdWFscyIsIGRlc2NyaXB0aW9uLAotICAgICAgICAgICAgICAgImxl
bmd0aHMgZGlmZmVyLCBleHBlY3RlZCAke2V4cGVjdGVkfSBnb3QgJHthY3R1YWx9IiwKLSAgICAg
ICAgICAgICAgIHtleHBlY3RlZDpleHBlY3RlZC5sZW5ndGgsIGFjdHVhbDphY3R1YWwubGVuZ3Ro
fSk7CisgICAgICAgICAgICAgICAibGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIGFycmF5ICR7ZXhw
ZWN0ZWR9IGxlbmd0aCAke2V4cGVjdGVkTGVuZ3RofSwgZ290ICR7YWN0dWFsfSBsZW5ndGggJHth
Y3R1YWxMZW5ndGh9IiwKKyAgICAgICAgICAgICAgIHtleHBlY3RlZDpzaG9ydGVuX2FycmF5KGV4
cGVjdGVkLCBleHBlY3RlZC5sZW5ndGggLSAxKSwgZXhwZWN0ZWRMZW5ndGg6ZXhwZWN0ZWQubGVu
Z3RoLAorICAgICAgICAgICAgICAgIGFjdHVhbDpzaG9ydGVuX2FycmF5KGFjdHVhbCwgYWN0dWFs
Lmxlbmd0aCAtIDEpLCBhY3R1YWxMZW5ndGg6YWN0dWFsLmxlbmd0aAorICAgICAgICAgICAgICAg
fSk7CiAKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhY3R1YWwubGVuZ3RoOyBpKyspIHsK
ICAgICAgICAgICAgIGFzc2VydChhY3R1YWwuaGFzT3duUHJvcGVydHkoaSkgPT09IGV4cGVjdGVk
Lmhhc093blByb3BlcnR5KGkpLAogICAgICAgICAgICAgICAgICAgICJhc3NlcnRfYXJyYXlfZXF1
YWxzIiwgZGVzY3JpcHRpb24sCi0gICAgICAgICAgICAgICAgICAgInByb3BlcnR5ICR7aX0sIHBy
b3BlcnR5IGV4cGVjdGVkIHRvIGJlICR7ZXhwZWN0ZWR9IGJ1dCB3YXMgJHthY3R1YWx9IiwKKyAg
ICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQgcHJvcGVydHkgJHtpfSB0byBiZSAke2V4cGVjdGVk
fSBidXQgd2FzICR7YWN0dWFsfSAoZXhwZWN0ZWQgYXJyYXkgJHthcnJheUV4cGVjdGVkfSBnb3Qg
JHthcnJheUFjdHVhbH0pIiwKICAgICAgICAgICAgICAgICAgICB7aTppLCBleHBlY3RlZDpleHBl
Y3RlZC5oYXNPd25Qcm9wZXJ0eShpKSA/ICJwcmVzZW50IiA6ICJtaXNzaW5nIiwKLSAgICAgICAg
ICAgICAgICAgICBhY3R1YWw6YWN0dWFsLmhhc093blByb3BlcnR5KGkpID8gInByZXNlbnQiIDog
Im1pc3NpbmcifSk7CisgICAgICAgICAgICAgICAgICAgIGFjdHVhbDphY3R1YWwuaGFzT3duUHJv
cGVydHkoaSkgPyAicHJlc2VudCIgOiAibWlzc2luZyIsCisgICAgICAgICAgICAgICAgICAgIGFy
cmF5RXhwZWN0ZWQ6c2hvcnRlbl9hcnJheShleHBlY3RlZCwgaSksIGFycmF5QWN0dWFsOnNob3J0
ZW5fYXJyYXkoYWN0dWFsLCBpKX0pOwogICAgICAgICAgICAgYXNzZXJ0KHNhbWVfdmFsdWUoZXhw
ZWN0ZWRbaV0sIGFjdHVhbFtpXSksCiAgICAgICAgICAgICAgICAgICAgImFzc2VydF9hcnJheV9l
cXVhbHMiLCBkZXNjcmlwdGlvbiwKLSAgICAgICAgICAgICAgICAgICAicHJvcGVydHkgJHtpfSwg
ZXhwZWN0ZWQgJHtleHBlY3RlZH0gYnV0IGdvdCAke2FjdHVhbH0iLAotICAgICAgICAgICAgICAg
ICAgIHtpOmksIGV4cGVjdGVkOmV4cGVjdGVkW2ldLCBhY3R1YWw6YWN0dWFsW2ldfSk7CisgICAg
ICAgICAgICAgICAgICAgImV4cGVjdGVkIHByb3BlcnR5ICR7aX0gdG8gYmUgJHtleHBlY3RlZH0g
YnV0IGdvdCAke2FjdHVhbH0gKGV4cGVjdGVkIGFycmF5ICR7YXJyYXlFeHBlY3RlZH0gZ290ICR7
YXJyYXlBY3R1YWx9KSIsCisgICAgICAgICAgICAgICAgICAge2k6aSwgZXhwZWN0ZWQ6ZXhwZWN0
ZWRbaV0sIGFjdHVhbDphY3R1YWxbaV0sCisgICAgICAgICAgICAgICAgICAgIGFycmF5RXhwZWN0
ZWQ6c2hvcnRlbl9hcnJheShleHBlY3RlZCwgaSksIGFycmF5QWN0dWFsOnNob3J0ZW5fYXJyYXko
YWN0dWFsLCBpKX0pOwogICAgICAgICB9CiAgICAgfQogICAgIGV4cG9zZShhc3NlcnRfYXJyYXlf
ZXF1YWxzLCAiYXNzZXJ0X2FycmF5X2VxdWFscyIpOwpAQCAtMTIxNiw3ICsxMzExLDcgQEAgcG9s
aWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICAgICAgICAgICAgICAgImFz
c2VydF9hcnJheV9hcHByb3hfZXF1YWxzIiwgZGVzY3JpcHRpb24sCiAgICAgICAgICAgICAgICAg
ICAgInByb3BlcnR5ICR7aX0sIHByb3BlcnR5IGV4cGVjdGVkIHRvIGJlICR7ZXhwZWN0ZWR9IGJ1
dCB3YXMgJHthY3R1YWx9IiwKICAgICAgICAgICAgICAgICAgICB7aTppLCBleHBlY3RlZDpleHBl
Y3RlZC5oYXNPd25Qcm9wZXJ0eShpKSA/ICJwcmVzZW50IiA6ICJtaXNzaW5nIiwKLSAgICAgICAg
ICAgICAgICAgICBhY3R1YWw6YWN0dWFsLmhhc093blByb3BlcnR5KGkpID8gInByZXNlbnQiIDog
Im1pc3NpbmcifSk7CisgICAgICAgICAgICAgICAgICAgIGFjdHVhbDphY3R1YWwuaGFzT3duUHJv
cGVydHkoaSkgPyAicHJlc2VudCIgOiAibWlzc2luZyJ9KTsKICAgICAgICAgICAgIGFzc2VydCh0
eXBlb2YgYWN0dWFsW2ldID09PSAibnVtYmVyIiwKICAgICAgICAgICAgICAgICAgICAiYXNzZXJ0
X2FycmF5X2FwcHJveF9lcXVhbHMiLCBkZXNjcmlwdGlvbiwKICAgICAgICAgICAgICAgICAgICAi
cHJvcGVydHkgJHtpfSwgZXhwZWN0ZWQgYSBudW1iZXIgYnV0IGdvdCBhICR7dHlwZV9hY3R1YWx9
IiwKQEAgLTEzODgsNyArMTQ4Myw5IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMg
WzNdLgogICAgIGZ1bmN0aW9uIF9hc3NlcnRfaW5oZXJpdHMobmFtZSkgewogICAgICAgICByZXR1
cm4gZnVuY3Rpb24gKG9iamVjdCwgcHJvcGVydHlfbmFtZSwgZGVzY3JpcHRpb24pCiAgICAgICAg
IHsKLSAgICAgICAgICAgIGFzc2VydCh0eXBlb2Ygb2JqZWN0ID09PSAib2JqZWN0IiB8fCB0eXBl
b2Ygb2JqZWN0ID09PSAiZnVuY3Rpb24iLAorICAgICAgICAgICAgYXNzZXJ0KHR5cGVvZiBvYmpl
Y3QgPT09ICJvYmplY3QiIHx8IHR5cGVvZiBvYmplY3QgPT09ICJmdW5jdGlvbiIgfHwKKyAgICAg
ICAgICAgICAgICAgICAvLyBPciBoYXMgW1tJc0hUTUxEREFdXSBzbG90CisgICAgICAgICAgICAg
ICAgICAgU3RyaW5nKG9iamVjdCkgPT09ICJbb2JqZWN0IEhUTUxBbGxDb2xsZWN0aW9uXSIsCiAg
ICAgICAgICAgICAgICAgICAgbmFtZSwgZGVzY3JpcHRpb24sCiAgICAgICAgICAgICAgICAgICAg
InByb3ZpZGVkIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QiKTsKIApAQCAtMTQyOCwxNTYgKzE1MjUs
NiBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICBleHBvc2UoYXNz
ZXJ0X3JlYWRvbmx5LCAiYXNzZXJ0X3JlYWRvbmx5Iik7CiAKICAgICAvKioKLSAgICAgKiBBc3Nl
cnQgYW4gRXhjZXB0aW9uIHdpdGggdGhlIGV4cGVjdGVkIGNvZGUgaXMgdGhyb3duLgotICAgICAq
Ci0gICAgICogQHBhcmFtIHtvYmplY3R8bnVtYmVyfHN0cmluZ30gY29kZSBUaGUgZXhwZWN0ZWQg
ZXhjZXB0aW9uIGNvZGUuCi0gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBGdW5jdGlvbiB3
aGljaCBzaG91bGQgdGhyb3cuCi0gICAgICogQHBhcmFtIHtzdHJpbmd9IGRlc2NyaXB0aW9uIEVy
cm9yIGRlc2NyaXB0aW9uIGZvciB0aGUgY2FzZSB0aGF0IHRoZSBlcnJvciBpcyBub3QgdGhyb3du
LgotICAgICAqLwotICAgIGZ1bmN0aW9uIGFzc2VydF90aHJvd3MoY29kZSwgZnVuYywgZGVzY3Jp
cHRpb24pCi0gICAgewotICAgICAgICB0cnkgewotICAgICAgICAgICAgZnVuYy5jYWxsKHRoaXMp
OwotICAgICAgICAgICAgYXNzZXJ0KGZhbHNlLCAiYXNzZXJ0X3Rocm93cyIsIGRlc2NyaXB0aW9u
LAotICAgICAgICAgICAgICAgICAgICIke2Z1bmN9IGRpZCBub3QgdGhyb3ciLCB7ZnVuYzpmdW5j
fSk7Ci0gICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgIGlmIChlIGluc3RhbmNlb2Yg
QXNzZXJ0aW9uRXJyb3IpIHsKLSAgICAgICAgICAgICAgICB0aHJvdyBlOwotICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICBhc3NlcnQodHlwZW9mIGUgPT09ICJvYmplY3QiLAotICAgICAgICAg
ICAgICAgICAgICJhc3NlcnRfdGhyb3dzIiwgZGVzY3JpcHRpb24sCi0gICAgICAgICAgICAgICAg
ICAgIiR7ZnVuY30gdGhyZXcgJHtlfSB3aXRoIHR5cGUgJHt0eXBlfSwgbm90IGFuIG9iamVjdCIs
Ci0gICAgICAgICAgICAgICAgICAge2Z1bmM6ZnVuYywgZTplLCB0eXBlOnR5cGVvZiBlfSk7Ci0K
LSAgICAgICAgICAgIGFzc2VydChlICE9PSBudWxsLAotICAgICAgICAgICAgICAgICAgICJhc3Nl
cnRfdGhyb3dzIiwgZGVzY3JpcHRpb24sCi0gICAgICAgICAgICAgICAgICAgIiR7ZnVuY30gdGhy
ZXcgbnVsbCwgbm90IGFuIG9iamVjdCIsCi0gICAgICAgICAgICAgICAgICAge2Z1bmM6ZnVuY30p
OwotCi0gICAgICAgICAgICBpZiAoY29kZSA9PT0gbnVsbCkgewotICAgICAgICAgICAgICAgIHRo
cm93IG5ldyBBc3NlcnRpb25FcnJvcignVGVzdCBidWc6IG5lZWQgdG8gcGFzcyBleGNlcHRpb24g
dG8gYXNzZXJ0X3Rocm93cygpJyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAodHlw
ZW9mIGNvZGUgPT09ICJvYmplY3QiKSB7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KCJuYW1lIiBp
biBlICYmIGUubmFtZSA9PSBjb2RlLm5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICJhc3Nl
cnRfdGhyb3dzIiwgZGVzY3JpcHRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICIke2Z1bmN9
IHRocmV3ICR7YWN0dWFsfSAoJHthY3R1YWxfbmFtZX0pIGV4cGVjdGVkICR7ZXhwZWN0ZWR9ICgk
e2V4cGVjdGVkX25hbWV9KSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7
ZnVuYzpmdW5jLCBhY3R1YWw6ZSwgYWN0dWFsX25hbWU6ZS5uYW1lLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkOmNvZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfbmFtZTpjb2RlLm5hbWV9KTsKLSAgICAgICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHZhciBjb2RlX25hbWVf
bWFwID0gewotICAgICAgICAgICAgICAgIElOREVYX1NJWkVfRVJSOiAnSW5kZXhTaXplRXJyb3In
LAotICAgICAgICAgICAgICAgIEhJRVJBUkNIWV9SRVFVRVNUX0VSUjogJ0hpZXJhcmNoeVJlcXVl
c3RFcnJvcicsCi0gICAgICAgICAgICAgICAgV1JPTkdfRE9DVU1FTlRfRVJSOiAnV3JvbmdEb2N1
bWVudEVycm9yJywKLSAgICAgICAgICAgICAgICBJTlZBTElEX0NIQVJBQ1RFUl9FUlI6ICdJbnZh
bGlkQ2hhcmFjdGVyRXJyb3InLAotICAgICAgICAgICAgICAgIE5PX01PRElGSUNBVElPTl9BTExP
V0VEX0VSUjogJ05vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yJywKLSAgICAgICAgICAgICAgICBO
T1RfRk9VTkRfRVJSOiAnTm90Rm91bmRFcnJvcicsCi0gICAgICAgICAgICAgICAgTk9UX1NVUFBP
UlRFRF9FUlI6ICdOb3RTdXBwb3J0ZWRFcnJvcicsCi0gICAgICAgICAgICAgICAgSU5VU0VfQVRU
UklCVVRFX0VSUjogJ0luVXNlQXR0cmlidXRlRXJyb3InLAotICAgICAgICAgICAgICAgIElOVkFM
SURfU1RBVEVfRVJSOiAnSW52YWxpZFN0YXRlRXJyb3InLAotICAgICAgICAgICAgICAgIFNZTlRB
WF9FUlI6ICdTeW50YXhFcnJvcicsCi0gICAgICAgICAgICAgICAgSU5WQUxJRF9NT0RJRklDQVRJ
T05fRVJSOiAnSW52YWxpZE1vZGlmaWNhdGlvbkVycm9yJywKLSAgICAgICAgICAgICAgICBOQU1F
U1BBQ0VfRVJSOiAnTmFtZXNwYWNlRXJyb3InLAotICAgICAgICAgICAgICAgIElOVkFMSURfQUND
RVNTX0VSUjogJ0ludmFsaWRBY2Nlc3NFcnJvcicsCi0gICAgICAgICAgICAgICAgVFlQRV9NSVNN
QVRDSF9FUlI6ICdUeXBlTWlzbWF0Y2hFcnJvcicsCi0gICAgICAgICAgICAgICAgU0VDVVJJVFlf
RVJSOiAnU2VjdXJpdHlFcnJvcicsCi0gICAgICAgICAgICAgICAgTkVUV09SS19FUlI6ICdOZXR3
b3JrRXJyb3InLAotICAgICAgICAgICAgICAgIEFCT1JUX0VSUjogJ0Fib3J0RXJyb3InLAotICAg
ICAgICAgICAgICAgIFVSTF9NSVNNQVRDSF9FUlI6ICdVUkxNaXNtYXRjaEVycm9yJywKLSAgICAg
ICAgICAgICAgICBRVU9UQV9FWENFRURFRF9FUlI6ICdRdW90YUV4Y2VlZGVkRXJyb3InLAotICAg
ICAgICAgICAgICAgIFRJTUVPVVRfRVJSOiAnVGltZW91dEVycm9yJywKLSAgICAgICAgICAgICAg
ICBJTlZBTElEX05PREVfVFlQRV9FUlI6ICdJbnZhbGlkTm9kZVR5cGVFcnJvcicsCi0gICAgICAg
ICAgICAgICAgREFUQV9DTE9ORV9FUlI6ICdEYXRhQ2xvbmVFcnJvcicKLSAgICAgICAgICAgIH07
Ci0KLSAgICAgICAgICAgIHZhciBuYW1lID0gY29kZSBpbiBjb2RlX25hbWVfbWFwID8gY29kZV9u
YW1lX21hcFtjb2RlXSA6IGNvZGU7Ci0KLSAgICAgICAgICAgIHZhciBuYW1lX2NvZGVfbWFwID0g
ewotICAgICAgICAgICAgICAgIEluZGV4U2l6ZUVycm9yOiAxLAotICAgICAgICAgICAgICAgIEhp
ZXJhcmNoeVJlcXVlc3RFcnJvcjogMywKLSAgICAgICAgICAgICAgICBXcm9uZ0RvY3VtZW50RXJy
b3I6IDQsCi0gICAgICAgICAgICAgICAgSW52YWxpZENoYXJhY3RlckVycm9yOiA1LAotICAgICAg
ICAgICAgICAgIE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yOiA3LAotICAgICAgICAgICAgICAg
IE5vdEZvdW5kRXJyb3I6IDgsCi0gICAgICAgICAgICAgICAgTm90U3VwcG9ydGVkRXJyb3I6IDks
Ci0gICAgICAgICAgICAgICAgSW5Vc2VBdHRyaWJ1dGVFcnJvcjogMTAsCi0gICAgICAgICAgICAg
ICAgSW52YWxpZFN0YXRlRXJyb3I6IDExLAotICAgICAgICAgICAgICAgIFN5bnRheEVycm9yOiAx
MiwKLSAgICAgICAgICAgICAgICBJbnZhbGlkTW9kaWZpY2F0aW9uRXJyb3I6IDEzLAotICAgICAg
ICAgICAgICAgIE5hbWVzcGFjZUVycm9yOiAxNCwKLSAgICAgICAgICAgICAgICBJbnZhbGlkQWNj
ZXNzRXJyb3I6IDE1LAotICAgICAgICAgICAgICAgIFR5cGVNaXNtYXRjaEVycm9yOiAxNywKLSAg
ICAgICAgICAgICAgICBTZWN1cml0eUVycm9yOiAxOCwKLSAgICAgICAgICAgICAgICBOZXR3b3Jr
RXJyb3I6IDE5LAotICAgICAgICAgICAgICAgIEFib3J0RXJyb3I6IDIwLAotICAgICAgICAgICAg
ICAgIFVSTE1pc21hdGNoRXJyb3I6IDIxLAotICAgICAgICAgICAgICAgIFF1b3RhRXhjZWVkZWRF
cnJvcjogMjIsCi0gICAgICAgICAgICAgICAgVGltZW91dEVycm9yOiAyMywKLSAgICAgICAgICAg
ICAgICBJbnZhbGlkTm9kZVR5cGVFcnJvcjogMjQsCi0gICAgICAgICAgICAgICAgRGF0YUNsb25l
RXJyb3I6IDI1LAotCi0gICAgICAgICAgICAgICAgRW5jb2RpbmdFcnJvcjogMCwKLSAgICAgICAg
ICAgICAgICBOb3RSZWFkYWJsZUVycm9yOiAwLAotICAgICAgICAgICAgICAgIFVua25vd25FcnJv
cjogMCwKLSAgICAgICAgICAgICAgICBDb25zdHJhaW50RXJyb3I6IDAsCi0gICAgICAgICAgICAg
ICAgRGF0YUVycm9yOiAwLAotICAgICAgICAgICAgICAgIFRyYW5zYWN0aW9uSW5hY3RpdmVFcnJv
cjogMCwKLSAgICAgICAgICAgICAgICBSZWFkT25seUVycm9yOiAwLAotICAgICAgICAgICAgICAg
IFZlcnNpb25FcnJvcjogMCwKLSAgICAgICAgICAgICAgICBPcGVyYXRpb25FcnJvcjogMCwKLSAg
ICAgICAgICAgICAgICBOb3RBbGxvd2VkRXJyb3I6IDAKLSAgICAgICAgICAgIH07Ci0KLSAgICAg
ICAgICAgIHZhciBjb2RlX25hbWVfbWFwID0ge307Ci0gICAgICAgICAgICBmb3IgKHZhciBrZXkg
aW4gbmFtZV9jb2RlX21hcCkgewotICAgICAgICAgICAgICAgIGlmIChuYW1lX2NvZGVfbWFwW2tl
eV0gPiAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvZGVfbmFtZV9tYXBbbmFtZV9jb2RlX21h
cFtrZXldXSA9IGtleTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIHZhciByZXF1aXJlZF9wcm9wcyA9IHsgY29kZTogY29kZSB9OwotCi0gICAgICAgICAg
ICBpZiAodHlwZW9mIGNvZGUgPT09ICJudW1iZXIiKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGNv
ZGUgPT09IDApIHsKLSAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEFzc2VydGlvbkVycm9y
KCdUZXN0IGJ1ZzogYW1iaWd1b3VzIERPTUV4Y2VwdGlvbiBjb2RlIDAgcGFzc2VkIHRvIGFzc2Vy
dF90aHJvd3MoKScpOwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIShjb2RlIGluIGNvZGVf
bmFtZV9tYXApKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBBc3NlcnRpb25FcnJv
cignVGVzdCBidWc6IHVucmVjb2duaXplZCBET01FeGNlcHRpb24gY29kZSAiJyArIGNvZGUgKyAn
IiBwYXNzZWQgdG8gYXNzZXJ0X3Rocm93cygpJyk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIG5hbWUgPSBjb2RlX25hbWVfbWFwW2NvZGVdOwotICAgICAgICAgICAgfSBlbHNl
IGlmICh0eXBlb2YgY29kZSA9PT0gInN0cmluZyIpIHsKLSAgICAgICAgICAgICAgICBpZiAoIShu
YW1lIGluIG5hbWVfY29kZV9tYXApKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBB
c3NlcnRpb25FcnJvcignVGVzdCBidWc6IHVucmVjb2duaXplZCBET01FeGNlcHRpb24gY29kZSAi
JyArIGNvZGUgKyAnIiBwYXNzZWQgdG8gYXNzZXJ0X3Rocm93cygpJyk7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIHJlcXVpcmVkX3Byb3BzLmNvZGUgPSBuYW1lX2NvZGVfbWFw
W25hbWVdOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAocmVxdWlyZWRfcHJvcHMu
Y29kZSA9PT0gMCB8fAotICAgICAgICAgICAgICAgKCJuYW1lIiBpbiBlICYmCi0gICAgICAgICAg
ICAgICAgZS5uYW1lICE9PSBlLm5hbWUudG9VcHBlckNhc2UoKSAmJgotICAgICAgICAgICAgICAg
IGUubmFtZSAhPT0gIkRPTUV4Y2VwdGlvbiIpKSB7Ci0gICAgICAgICAgICAgICAgLy8gTmV3IHN0
eWxlIGV4Y2VwdGlvbjogYWxzbyB0ZXN0IHRoZSBuYW1lIHByb3BlcnR5LgotICAgICAgICAgICAg
ICAgIHJlcXVpcmVkX3Byb3BzLm5hbWUgPSBuYW1lOwotICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICAvL1dlJ2QgbGlrZSB0byB0ZXN0IHRoYXQgZSBpbnN0YW5jZW9mIHRoZSBhcHByb3ByaWF0
ZSBpbnRlcmZhY2UsCi0gICAgICAgICAgICAvL2J1dCB3ZSBjYW4ndCwgYmVjYXVzZSB3ZSBkb24n
dCBrbm93IHdoYXQgd2luZG93IGl0IHdhcyBjcmVhdGVkCi0gICAgICAgICAgICAvL2luLiAgSXQg
bWlnaHQgYmUgYW4gaW5zdGFuY2VvZiB0aGUgYXBwcm9wcmlhdGUgaW50ZXJmYWNlIG9uIHNvbWUK
LSAgICAgICAgICAgIC8vdW5rbm93biBvdGhlciB3aW5kb3cuICBUT0RPOiBXb3JrIGFyb3VuZCB0
aGlzIHNvbWVob3c/Ci0KLSAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gcmVxdWlyZWRfcHJv
cHMpIHsKLSAgICAgICAgICAgICAgICBhc3NlcnQocHJvcCBpbiBlICYmIGVbcHJvcF0gPT0gcmVx
dWlyZWRfcHJvcHNbcHJvcF0sCi0gICAgICAgICAgICAgICAgICAgICAgICJhc3NlcnRfdGhyb3dz
IiwgZGVzY3JpcHRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICIke2Z1bmN9IHRocmV3ICR7
ZX0gdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gIiArIGNvZGUgKyAiOiBwcm9wZXJ0eSAke3By
b3B9IGlzIGVxdWFsIHRvICR7YWN0dWFsfSwgZXhwZWN0ZWQgJHtleHBlY3RlZH0iLAotICAgICAg
ICAgICAgICAgICAgICAgICB7ZnVuYzpmdW5jLCBlOmUsIHByb3A6cHJvcCwgYWN0dWFsOmVbcHJv
cF0sIGV4cGVjdGVkOnJlcXVpcmVkX3Byb3BzW3Byb3BdfSk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICB9Ci0gICAgZXhwb3NlKGFzc2VydF90aHJvd3MsICJhc3NlcnRfdGhyb3dzIik7
Ci0KLSAgICAvKioKICAgICAgKiBBc3NlcnQgYSBKUyBFcnJvciB3aXRoIHRoZSBleHBlY3RlZCBj
b25zdHJ1Y3RvciBpcyB0aHJvd24uCiAgICAgICoKICAgICAgKiBAcGFyYW0ge29iamVjdH0gY29u
c3RydWN0b3IgVGhlIGV4cGVjdGVkIGV4Y2VwdGlvbiBjb25zdHJ1Y3Rvci4KQEAgLTE2NTgsMjAg
KzE2MDUsNDQgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICog
ICAgICAgIGVpdGhlciBiZSBhbiBleGNlcHRpb24gbmFtZSAoZS5nLiAiSGllcmFyY2h5UmVxdWVz
dEVycm9yIiwKICAgICAgKiAgICAgICAgIldyb25nRG9jdW1lbnRFcnJvciIpIG9yIHRoZSBuYW1l
IG9mIHRoZSBjb3JyZXNwb25kaW5nIGVycm9yIGNvZGUKICAgICAgKiAgICAgICAgKGUuZy4gIkhJ
RVJBUkNIWV9SRVFVRVNUX0VSUiIsICJXUk9OR19ET0NVTUVOVF9FUlIiKS4KLSAgICAgKiBAcGFy
YW0ge0Z1bmN0aW9ufSBmdW5jIEZ1bmN0aW9uIHdoaWNoIHNob3VsZCB0aHJvdy4KLSAgICAgKiBA
cGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb24gRXJyb3IgZGVzY3JpcHRpb24gZm9yIHRoZSBjYXNl
IHRoYXQgdGhlIGVycm9yIGlzIG5vdCB0aHJvd24uCi0gICAgICovCi0gICAgZnVuY3Rpb24gYXNz
ZXJ0X3Rocm93c19kb20odHlwZSwgZnVuYywgZGVzY3JpcHRpb24pCi0gICAgewotICAgICAgICBh
c3NlcnRfdGhyb3dzX2RvbV9pbXBsKHR5cGUsIGZ1bmMsIGRlc2NyaXB0aW9uLCAiYXNzZXJ0X3Ro
cm93c19kb20iKQorICAgICAqCisgICAgICogRm9yIHRoZSByZW1haW5pbmcgYXJndW1lbnRzLCB0
aGVyZSBhcmUgdHdvIHdheXMgb2YgY2FsbGluZworICAgICAqIHByb21pc2VfcmVqZWN0c19kb206
CisgICAgICoKKyAgICAgKiAxKSBJZiB0aGUgRE9NRXhjZXB0aW9uIGlzIGV4cGVjdGVkIHRvIGNv
bWUgZnJvbSB0aGUgY3VycmVudCBnbG9iYWwsIHRoZQorICAgICAqIHNlY29uZCBhcmd1bWVudCBz
aG91bGQgYmUgdGhlIGZ1bmN0aW9uIGV4cGVjdGVkIHRvIHRocm93IGFuZCBhIHRoaXJkLAorICAg
ICAqIG9wdGlvbmFsLCBhcmd1bWVudCBpcyB0aGUgYXNzZXJ0aW9uIGRlc2NyaXB0aW9uLgorICAg
ICAqCisgICAgICogMikgSWYgdGhlIERPTUV4Y2VwdGlvbiBpcyBleHBlY3RlZCB0byBjb21lIGZy
b20gc29tZSBvdGhlciBnbG9iYWwsIHRoZQorICAgICAqIHNlY29uZCBhcmd1bWVudCBzaG91bGQg
YmUgdGhlIERPTUV4Y2VwdGlvbiBjb25zdHJ1Y3RvciBmcm9tIHRoYXQgZ2xvYmFsLAorICAgICAq
IHRoZSB0aGlyZCBhcmd1bWVudCB0aGUgZnVuY3Rpb24gZXhwZWN0ZWQgdG8gdGhyb3csIGFuZCB0
aGUgZm91cnRoLCBvcHRpb25hbCwKKyAgICAgKiBhcmd1bWVudCB0aGUgYXNzZXJ0aW9uIGRlc2Ny
aXB0aW9uLgorICAgICAqLworICAgIGZ1bmN0aW9uIGFzc2VydF90aHJvd3NfZG9tKHR5cGUsIGZ1
bmNPckNvbnN0cnVjdG9yLCBkZXNjcmlwdGlvbk9yRnVuYywgbWF5YmVEZXNjcmlwdGlvbikKKyAg
ICB7CisgICAgICAgIGxldCBjb25zdHJ1Y3RvciwgZnVuYywgZGVzY3JpcHRpb247CisgICAgICAg
IGlmIChmdW5jT3JDb25zdHJ1Y3Rvci5uYW1lID09PSAiRE9NRXhjZXB0aW9uIikgeworICAgICAg
ICAgICAgY29uc3RydWN0b3IgPSBmdW5jT3JDb25zdHJ1Y3RvcjsKKyAgICAgICAgICAgIGZ1bmMg
PSBkZXNjcmlwdGlvbk9yRnVuYzsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uID0gbWF5YmVEZXNj
cmlwdGlvbjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yID0gc2Vs
Zi5ET01FeGNlcHRpb247CisgICAgICAgICAgICBmdW5jID0gZnVuY09yQ29uc3RydWN0b3I7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uT3JGdW5jOworICAgICAgICAgICAg
YXNzZXJ0KG1heWJlRGVzY3JpcHRpb24gPT09IHVuZGVmaW5lZCwKKyAgICAgICAgICAgICAgICAg
ICAiVG9vIG1hbnkgYXJncyBwYXNlZCB0byBuby1jb25zdHJ1Y3RvciB2ZXJzaW9uIG9mIGFzc2Vy
dF90aHJvd3NfZG9tIik7CisgICAgICAgIH0KKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb21faW1w
bCh0eXBlLCBmdW5jLCBkZXNjcmlwdGlvbiwgImFzc2VydF90aHJvd3NfZG9tIiwgY29uc3RydWN0
b3IpCiAgICAgfQogICAgIGV4cG9zZShhc3NlcnRfdGhyb3dzX2RvbSwgImFzc2VydF90aHJvd3Nf
ZG9tIik7CiAKICAgICAvKioKLSAgICAgKiBMaWtlIGFzc2VydF90aHJvd3NfZG9tIGJ1dCBhbGxv
d3Mgc3BlY2lmeWluZyB0aGUgYXNzZXJ0aW9uIHR5cGUKLSAgICAgKiAoYXNzZXJ0X3Rocm93c19k
b20gb3IgcHJvbWlzZV9yZWplY3RzX2RvbSwgaW4gcHJhY3RpY2UpLgorICAgICAqIFNpbWlsYXIg
dG8gYXNzZXJ0X3Rocm93c19kb20gYnV0IGFsbG93cyBzcGVjaWZ5aW5nIHRoZSBhc3NlcnRpb24g
dHlwZQorICAgICAqIChhc3NlcnRfdGhyb3dzX2RvbSBvciBwcm9taXNlX3JlamVjdHNfZG9tLCBp
biBwcmFjdGljZSkuICBUaGUKKyAgICAgKiAiY29uc3RydWN0b3IiIGFyZ3VtZW50IG11c3QgYmUg
dGhlIERPTUV4Y2VwdGlvbiBjb25zdHJ1Y3RvciBmcm9tIHRoZQorICAgICAqIGdsb2JhbCB3ZSBl
eHBlY3QgdGhlIGV4Y2VwdGlvbiB0byBjb21lIGZyb20uCiAgICAgICovCi0gICAgZnVuY3Rpb24g
YXNzZXJ0X3Rocm93c19kb21faW1wbCh0eXBlLCBmdW5jLCBkZXNjcmlwdGlvbiwgYXNzZXJ0aW9u
X3R5cGUpCisgICAgZnVuY3Rpb24gYXNzZXJ0X3Rocm93c19kb21faW1wbCh0eXBlLCBmdW5jLCBk
ZXNjcmlwdGlvbiwgYXNzZXJ0aW9uX3R5cGUsIGNvbnN0cnVjdG9yKQogICAgIHsKICAgICAgICAg
dHJ5IHsKICAgICAgICAgICAgIGZ1bmMuY2FsbCh0aGlzKTsKQEAgLTE2ODIsNiArMTY1Myw3IEBA
IHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAgICAgICAgICAgIHRo
cm93IGU7CiAgICAgICAgICAgICB9CiAKKyAgICAgICAgICAgIC8vIEJhc2ljIHNhbml0eS1jaGVj
a3Mgb24gdGhlIHRocm93biBleGNlcHRpb24uCiAgICAgICAgICAgICBhc3NlcnQodHlwZW9mIGUg
PT09ICJvYmplY3QiLAogICAgICAgICAgICAgICAgICAgIGFzc2VydGlvbl90eXBlLCBkZXNjcmlw
dGlvbiwKICAgICAgICAgICAgICAgICAgICAiJHtmdW5jfSB0aHJldyAke2V9IHdpdGggdHlwZSAk
e3R5cGV9LCBub3QgYW4gb2JqZWN0IiwKQEAgLTE3OTUsMTkgKzE3NjcsMjEgQEAgcG9saWNpZXMg
YW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICAgICAgICAgICAgcmVxdWlyZWRfcHJv
cHMubmFtZSA9IG5hbWU7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIC8vV2UnZCBsaWtl
IHRvIHRlc3QgdGhhdCBlIGluc3RhbmNlb2YgdGhlIGFwcHJvcHJpYXRlIGludGVyZmFjZSwKLSAg
ICAgICAgICAgIC8vYnV0IHdlIGNhbid0LCBiZWNhdXNlIHdlIGRvbid0IGtub3cgd2hhdCB3aW5k
b3cgaXQgd2FzIGNyZWF0ZWQKLSAgICAgICAgICAgIC8vaW4uICBJdCBtaWdodCBiZSBhbiBpbnN0
YW5jZW9mIHRoZSBhcHByb3ByaWF0ZSBpbnRlcmZhY2Ugb24gc29tZQotICAgICAgICAgICAgLy91
bmtub3duIG90aGVyIHdpbmRvdy4gIFRPRE86IFdvcmsgYXJvdW5kIHRoaXMgc29tZWhvdz8gIE1h
eWJlIGhhdmUKLSAgICAgICAgICAgIC8vdGhlIGZpcnN0IGFyZyBqdXN0IGJlIGEgRE9NRXhjZXB0
aW9uIHdpdGggdGhlIHJpZ2h0IG5hbWUgaW5zdGVhZAotICAgICAgICAgICAgLy9vZiB0aGUgc3Ry
aW5nLW9yLWNvZGUgdGhpbmcgd2UgaGF2ZSBub3c/Ci0KICAgICAgICAgICAgIGZvciAodmFyIHBy
b3AgaW4gcmVxdWlyZWRfcHJvcHMpIHsKICAgICAgICAgICAgICAgICBhc3NlcnQocHJvcCBpbiBl
ICYmIGVbcHJvcF0gPT0gcmVxdWlyZWRfcHJvcHNbcHJvcF0sCiAgICAgICAgICAgICAgICAgICAg
ICAgIGFzc2VydGlvbl90eXBlLCBkZXNjcmlwdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAg
IiR7ZnVuY30gdGhyZXcgJHtlfSB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiAiICsgdHlwZSAr
ICI6IHByb3BlcnR5ICR7cHJvcH0gaXMgZXF1YWwgdG8gJHthY3R1YWx9LCBleHBlY3RlZCAke2V4
cGVjdGVkfSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHtmdW5jOmZ1bmMsIGU6ZSwgcHJvcDpw
cm9wLCBhY3R1YWw6ZVtwcm9wXSwgZXhwZWN0ZWQ6cmVxdWlyZWRfcHJvcHNbcHJvcF19KTsKICAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgZXhjZXB0aW9uIGlz
IGZyb20gdGhlIHJpZ2h0IGdsb2JhbC4gIFRoaXMgY2hlY2sgaXMgbGFzdAorICAgICAgICAgICAg
Ly8gc28gbW9yZSBzcGVjaWZpYywgYW5kIG1vcmUgaW5mb3JtYXRpdmUsIGNoZWNrcyBvbiB0aGUg
cHJvcGVydGllcyBjYW4KKyAgICAgICAgICAgIC8vIGhhcHBlbiBpbiBjYXNlIGEgdG90YWxseSBp
bmNvcnJlY3QgZXhjZXB0aW9uIGlzIHRocm93bi4KKyAgICAgICAgICAgIGFzc2VydChlLmNvbnN0
cnVjdG9yID09PSBjb25zdHJ1Y3RvciwKKyAgICAgICAgICAgICAgICAgICBhc3NlcnRpb25fdHlw
ZSwgZGVzY3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAgIiR7ZnVuY30gdGhyZXcgYW4gZXhj
ZXB0aW9uIGZyb20gdGhlIHdyb25nIGdsb2JhbCIsCisgICAgICAgICAgICAgICAgICAge2Z1bmN9
KTsKKwogICAgICAgICB9CiAgICAgfQogCkBAIC0xODc0LDYgKzE4NDgsNDkgQEAgcG9saWNpZXMg
YW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgfQogICAgIGV4cG9zZShhc3NlcnRfYW55
LCAiYXNzZXJ0X2FueSIpOwogCisgICAgLyoqCisgICAgICogQXNzZXJ0IHRoYXQgYSBmZWF0dXJl
IGlzIGltcGxlbWVudGVkLCBiYXNlZCBvbiBhICd0cnV0aHknIGNvbmRpdGlvbi4KKyAgICAgKgor
ICAgICAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgdG8gZWFybHktZXhpdCBmcm9tIHRl
c3RzIGluIHdoaWNoIHRoZXJlIGlzCisgICAgICogbm8gcG9pbnQgY29udGludWluZyB3aXRob3V0
IHN1cHBvcnQgZm9yIGEgbm9uLW9wdGlvbmFsIHNwZWMgb3Igc3BlYworICAgICAqIGZlYXR1cmUu
IEZvciBleGFtcGxlOgorICAgICAqCisgICAgICogICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRv
dy5Gb28sICdGb28gaXMgbm90IHN1cHBvcnRlZCcpOworICAgICAqCisgICAgICogQHBhcmFtIHtv
YmplY3R9IGNvbmRpdGlvbiBUaGUgdHJ1dGh5IHZhbHVlIHRvIHRlc3QKKyAgICAgKiBAcGFyYW0g
e3N0cmluZ30gZGVzY3JpcHRpb24gRXJyb3IgZGVzY3JpcHRpb24gZm9yIHRoZSBjYXNlIHRoYXQg
dGhlIGNvbmRpdGlvbiBpcyBub3QgdHJ1dGh5LgorICAgICAqLworICAgIGZ1bmN0aW9uIGFzc2Vy
dF9pbXBsZW1lbnRzKGNvbmRpdGlvbiwgZGVzY3JpcHRpb24pIHsKKyAgICAgICAgYXNzZXJ0KCEh
Y29uZGl0aW9uLCAiYXNzZXJ0X2ltcGxlbWVudHMiLCBkZXNjcmlwdGlvbik7CisgICAgfQorICAg
IGV4cG9zZShhc3NlcnRfaW1wbGVtZW50cywgImFzc2VydF9pbXBsZW1lbnRzIikKKworICAgIC8q
KgorICAgICAqIEFzc2VydCB0aGF0IGFuIG9wdGlvbmFsIGZlYXR1cmUgaXMgaW1wbGVtZW50ZWQs
IGJhc2VkIG9uIGEgJ3RydXRoeScgY29uZGl0aW9uLgorICAgICAqCisgICAgICogVGhpcyBmdW5j
dGlvbiBzaG91bGQgYmUgdXNlZCB0byBlYXJseS1leGl0IGZyb20gdGVzdHMgaW4gd2hpY2ggdGhl
cmUgaXMKKyAgICAgKiBubyBwb2ludCBjb250aW51aW5nIHdpdGhvdXQgc3VwcG9ydCBmb3IgYW4g
ZXhwbGljaXRseSBvcHRpb25hbCBzcGVjIG9yCisgICAgICogc3BlYyBmZWF0dXJlLiBGb3IgZXhh
bXBsZToKKyAgICAgKgorICAgICAqICAgICBhc3NlcnRfaW1wbGVtZW50c19vcHRpb25hbCh2aWRl
by5jYW5QbGF5VHlwZSgidmlkZW8vd2VibSIpLAorICAgICAqICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAid2VibSB2aWRlbyBwbGF5YmFjayBub3Qgc3VwcG9ydGVkIik7CisgICAgICoK
KyAgICAgKiBAcGFyYW0ge29iamVjdH0gY29uZGl0aW9uIFRoZSB0cnV0aHkgdmFsdWUgdG8gdGVz
dAorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBkZXNjcmlwdGlvbiBFcnJvciBkZXNjcmlwdGlvbiBm
b3IgdGhlIGNhc2UgdGhhdCB0aGUgY29uZGl0aW9uIGlzIG5vdCB0cnV0aHkuCisgICAgICovCisg
ICAgZnVuY3Rpb24gYXNzZXJ0X2ltcGxlbWVudHNfb3B0aW9uYWwoY29uZGl0aW9uLCBkZXNjcmlw
dGlvbikgeworICAgICAgICBpZiAoIWNvbmRpdGlvbikgeworICAgICAgICAgICAgLy8gRHVlIHRv
IHRoZSBkaWZmaWN1bHR5IG9mIGNoYW5naW5nIGxvZ2dpbmcgc3RhdHVzZXMsIHdlIHJlLXVzZQor
ICAgICAgICAgICAgLy8gdGhlIFBSRUNPTkRJVElPTl9GQUlMRUQgc3RhdHVzIGZvciBhc3NlcnRf
aW1wbGVtZW50c19vcHRpb25hbC4KKyAgICAgICAgICAgIC8vIFNlZSB0aGUgUkZDOiBodHRwczov
L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3JmY3MvcHVsbC80OAorICAgICAgICAgICAg
Ly8KKyAgICAgICAgICAgIC8vIFRPRE8oc21jZ3J1ZXIpOiBPbmNlIGFzc2VydF9wcmVjb25kaXRp
b24gaXMgcmVtb3ZlZCwgcmVuYW1lIHRoZQorICAgICAgICAgICAgLy8gZXhjZXB0aW9uIGFuZCBt
b3ZlIHRoaXMgY29tbWVudCB0byB3aGVyZSBQUkVDT05ESVRJT05fRkFJTEVEIGlzIHVzZWQuCisg
ICAgICAgICAgICB0aHJvdyBuZXcgUHJlY29uZGl0aW9uRmFpbGVkRXJyb3IoZGVzY3JpcHRpb24p
OworICAgICAgICB9CisgICAgfQorICAgIGV4cG9zZShhc3NlcnRfaW1wbGVtZW50c19vcHRpb25h
bCwgImFzc2VydF9pbXBsZW1lbnRzX29wdGlvbmFsIikKKwogICAgIGZ1bmN0aW9uIGFzc2VydF9w
cmVjb25kaXRpb24ocHJlY29uZGl0aW9uLCBkZXNjcmlwdGlvbikgewogICAgICAgICBpZiAoIXBy
ZWNvbmRpdGlvbikgewogICAgICAgICAgICAgdGhyb3cgbmV3IFByZWNvbmRpdGlvbkZhaWxlZEVy
cm9yKGRlc2NyaXB0aW9uKTsKQEAgLTI4NjYsMjQgKzI4ODMsOCBAQCBwb2xpY2llcyBhbmQgY29u
dHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgdmFyIG1lc3NhZ2VfcG9ydDsKIAogICAgICAg
ICBpZiAoaXNfc2VydmljZV93b3JrZXIod29ya2VyKSkgewotICAgICAgICAgICAgaWYgKHdpbmRv
dy5NZXNzYWdlQ2hhbm5lbCkgewotICAgICAgICAgICAgICAgIC8vIFRoZSBTZXJ2aWNlV29ya2Vy
J3MgaW1wbGljaXQgTWVzc2FnZVBvcnQgaXMgY3VycmVudGx5IG5vdAotICAgICAgICAgICAgICAg
IC8vIHJlbGlhYmx5IGFjY2Vzc2libGUgZnJvbSB0aGUgU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
IGR1ZSB0bwotICAgICAgICAgICAgICAgIC8vIEJsaW5rIHNldHRpbmcgTWVzc2FnZUV2ZW50LnNv
dXJjZSB0byBudWxsIGZvciBtZXNzYWdlcyBzZW50Ci0gICAgICAgICAgICAgICAgLy8gdmlhIFNl
cnZpY2VXb3JrZXIucG9zdE1lc3NhZ2UoKS4gVW50aWwgdGhhdCdzIHJlc29sdmVkLAotICAgICAg
ICAgICAgICAgIC8vIGNyZWF0ZSBhbiBleHBsaWNpdCBNZXNzYWdlQ2hhbm5lbCBhbmQgcGFzcyBv
bmUgZW5kIHRvIHRoZQotICAgICAgICAgICAgICAgIC8vIHdvcmtlci4KLSAgICAgICAgICAgICAg
ICB2YXIgbWVzc2FnZV9jaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7Ci0gICAgICAgICAg
ICAgICAgbWVzc2FnZV9wb3J0ID0gbWVzc2FnZV9jaGFubmVsLnBvcnQxOwotICAgICAgICAgICAg
ICAgIG1lc3NhZ2VfcG9ydC5zdGFydCgpOwotICAgICAgICAgICAgICAgIHdvcmtlci5wb3N0TWVz
c2FnZSh7dHlwZTogImNvbm5lY3QifSwgW21lc3NhZ2VfY2hhbm5lbC5wb3J0Ml0pOwotICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBJZiBNZXNzYWdlQ2hhbm5lbCBpcyBu
b3QgYXZhaWxhYmxlLCB0aGVuIHRyeSB0aGUKLSAgICAgICAgICAgICAgICAvLyBTZXJ2aWNlV29y
a2VyLnBvc3RNZXNzYWdlKCkgYXBwcm9hY2ggdXNpbmcgTWVzc2FnZUV2ZW50LnNvdXJjZQotICAg
ICAgICAgICAgICAgIC8vIG9uIHRoZSBvdGhlciBlbmQuCi0gICAgICAgICAgICAgICAgbWVzc2Fn
ZV9wb3J0ID0gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXI7Ci0gICAgICAgICAgICAgICAgd29ya2Vy
LnBvc3RNZXNzYWdlKHt0eXBlOiAiY29ubmVjdCJ9KTsKLSAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIG1lc3NhZ2VfcG9ydCA9IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyOworICAgICAgICAgICAg
d29ya2VyLnBvc3RNZXNzYWdlKHt0eXBlOiAiY29ubmVjdCJ9KTsKICAgICAgICAgfSBlbHNlIGlm
IChpc19zaGFyZWRfd29ya2VyKHdvcmtlcikpIHsKICAgICAgICAgICAgIG1lc3NhZ2VfcG9ydCA9
IHdvcmtlci5wb3J0OwogICAgICAgICAgICAgbWVzc2FnZV9wb3J0LnN0YXJ0KCk7CkluZGV4OiBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmct
YXBpcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDEzIEBACitCYXNpYyBJbnRlcmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQZXJmb3JtYW5jZVBhaW50VGltaW5n
CitQQVNTIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaXMgZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5wcm90b3R5cGUudG9KU09OIGlzIGRlZmluZWQuCitQQVNTIG5ldyBQZXJm
b3JtYW5jZVBhaW50VGltaW5nKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogZnVuY3Rpb24g
aXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBQZXJmb3JtYW5jZVBhaW50VGlt
aW5nKCknKS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGlt
aW5nLWFwaXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBA
Cis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVz
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKK1BhaW50IEFQSSBzaG91bGQgYmUgYXZhaWxh
YmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4vc2FuZGJv
eGVkIGZyYW1lcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgcmVjZWl2
ZWRFdmVudC5zb3VyY2UgaXMgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNhbmRib3hlZCcp
LmNvbnRlbnRXaW5kb3cKK1BBU1MgcmVjZWl2ZWRFbnRyeS5uYW1lIGlzICdmaXJzdC1jb250ZW50
ZnVsLXBhaW50JworUEFTUyBkaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUgaXMg
ZmFsc2UKK1BBU1MgQXJyYXkuaXNBcnJheShub25TYW5kYm94U3VwcG9ydGVkVHlwZXMpIGlzIHRy
dWUKK1BBU1MgQXJyYXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVkVHlwZXMpIGlzIHRydWUKK1BB
U1MgZGlkUmVjZWl2ZU1lc3NhZ2UgaXMgdHJ1ZQorUEFTUyBub25TYW5kYm94U3VwcG9ydGVkVHlw
ZXMuaW5jbHVkZXMoInBhaW50IikgaXMgdHJ1ZQorUEFTUyBzYW5kYm94U3VwcG9ydGVkVHlwZXMu
aW5jbHVkZXMoInBhaW50IikgaXMgZmFsc2UKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJz
dC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBmaXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJh
bWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKworCitURVhUCkluZGV4OiBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFt
ZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY3IEBACis8IURPQ1RZUEUgSFRNTD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2Pgor
ICAgIDxpZnJhbWUgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGlkPSJub25TYW5kYm94ZWQiIHNy
Yz0iLi9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwiPjwvaWZyYW1lPgorPGRpdiBjbGFzcz0i
c3BhY2VyIj48L2Rpdj4KKzxpZnJhbWUgaWQ9InNhbmRib3hlZCIgc3JjPSIuL3Jlc291cmNlcy9m
Y3Atc3ViZnJhbWUuaHRtbCIgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyI+PC9pZnJhbWU+Cis8ZGl2
IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorCisgICAgVEVYVAorCis8c2NyaXB0PgorZGVzY3JpcHRp
b24oIlBhaW50IEFQSSBzaG91bGQgYmUgYXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMg
YnV0IG5vdCB0byBjcm9zcy1vcmlnaW4vc2FuZGJveGVkIGZyYW1lcy4iKTsKK3dpbmRvdy5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5kaWRSZWNlaXZlTWVzc2FnZSA9IGZhbHNlOworCit3
aW5kb3cub25sb2FkID0gYXN5bmMgKCkgPT4geworICAgIGNvbnN0IHNhbmRib3hlZCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdzYW5kYm94ZWQnKTsKKyAgICBjb25zdCBub25TYW5kYm94ZWQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJyk7CisgICAgY29uc3QgZmNw
TWVzc2FnZVByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgd2luZG93
Lm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5yZWNlaXZlZEV2ZW50
ID0gZXZlbnQ7CisgICAgICAgICAgICBjb25zdCBpc0Zyb21TYW5kYm94ZWQgPSBldmVudC5zb3Vy
Y2UgPT09IHNhbmRib3hlZC5jb250ZW50V2luZG93OworICAgICAgICAgICAgY29uc3QgbWVzc2Fn
ZSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAgICAgICAgICBzd2l0Y2ggKG1lc3NhZ2Uu
dHlwZSkgeworICAgICAgICAgICAgICAgIGNhc2UgJ3N1cHBvcnRlZCc6CisgICAgICAgICAgICAg
ICAgICAgIGlmIChpc0Zyb21TYW5kYm94ZWQpCisgICAgICAgICAgICAgICAgICAgICAgICB3aW5k
b3cuc2FuZGJveFN1cHBvcnRlZFR5cGVzID0gbWVzc2FnZS5zdXBwb3J0ZWQ7CisgICAgICAgICAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5ub25TYW5kYm94
U3VwcG9ydGVkVHlwZXMgPSBtZXNzYWdlLnN1cHBvcnRlZDsKKyAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSAncmVjZWl2ZWQnOgorICAgICAgICAgICAgICAg
ICAgICB3aW5kb3cuZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1lID0gaXNGcm9t
U2FuZGJveGVkOworICAgICAgICAgICAgICAgICAgICB3aW5kb3cucmVjZWl2ZWRFbnRyeSA9IG1l
c3NhZ2UuZW50cnk7CisgICAgICAgICAgICAgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlID0gdHJ1
ZTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ3JlY2VpdmVkRXZlbnQuc291cmNlJywg
ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKS5jb250ZW50V2luZG93Iik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCdyZWNlaXZlZEVudHJ5Lm5hbWUnLCAiJ2Zp
cnN0LWNvbnRlbnRmdWwtcGFpbnQnIik7CisgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsK
KyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH07Cisg
ICAgfSk7CisKKyAgICBzYW5kYm94ZWQuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgicGFpbnQi
LCAiKiIpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBub25TYW5kYm94ZWQuY29udGVu
dFdpbmRvdy5wb3N0TWVzc2FnZSgicGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRGb3JGQ1Ao
KTsKKyAgICBhd2FpdCBmY3BNZXNzYWdlUHJvbWlzZTsKKyAgICBzaG91bGRCZUZhbHNlKCdkaWRS
ZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUnKTsKKyAgICBzaG91bGRCZVRydWUoJ0Fy
cmF5LmlzQXJyYXkobm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzKScpOworICAgIHNob3VsZEJlVHJ1
ZSgnQXJyYXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVkVHlwZXMpJyk7CisgICAgc2hvdWxkQmVU
cnVlKCdkaWRSZWNlaXZlTWVzc2FnZScpOworICAgIHNob3VsZEJlVHJ1ZSgnbm9uU2FuZGJveFN1
cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnc2Fu
ZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgdGVzdFBhc3NlZCgi
UGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBm
aXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1l
Iik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdv
cmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorUGFpbnQgQVBJIHNo
b3VsZCBub3QgYmUgYXZhaWxhYmxlIGluIHdvcmtlciBjb250ZXh0cy4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRy
eVR5cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIHRydWUKK1BBU1Mgd29ya2VyU3VwcG9ydGVkRW50
cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyBmYWxzZQorUEFTUyB3b3JrZXJTdXBwb3J0ZWRF
bnRyeVR5cGVzLmluY2x1ZGVzKCJtYXJrIikgaXMgdHJ1ZQorUEFTUyBQZXJmb3JtYW5jZU9ic2Vy
dmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNsdWRlICdwYWludCcgZm9yIHdvcmtl
cnMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCklu
ZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2Vy
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRp
bWluZy13aXRoLXdvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50IEFQSSBzaG91bGQgbm90IGJlIGF2YWls
YWJsZSBpbiB3b3JrZXIgY29udGV4dHMuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
Citjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKCIuL3Jlc291cmNlcy93b3JrZXIuaHRtbCIpOwor
d29ya2VyLm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICB3aW5kb3cud29ya2VyU3VwcG9ydGVk
RW50cnlUeXBlcyA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAgc2hvdWxkQmVUcnVlKCdQ
ZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50Iikn
KTsKKyAgICBzaG91bGRCZUZhbHNlKCd3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVz
KCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVUcnVlKCd3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVz
LmluY2x1ZGVzKCJtYXJrIiknKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVy
LnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNsdWRlICdwYWludCcgZm9yIHdvcmtlcnMi
KTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK3dvcmtlci5wb3N0TWVzc2FnZSgic3RhcnQi
KTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZv
cm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNl
cnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDEwIEBACitQQVNTIGRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCBpcyB0
cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKS5sZW5ndGggaXMgMQorUEFTUyBwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikubGVuZ3Ro
IGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1
bC1wYWludCIsICJwYWludCIpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeVR5cGUoInBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBm
aXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorVEVYVDIKSW5kZXg6
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1j
b250ZW50ZnVsLXBhaW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Ut
b2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiRW5zdXJlIFBlcmZvcm1hbmNlT2JzZXJ2ZXJzIGFyZSBu
b3RpZmllZCBvbmNlIGZvciBmaXJzdC1jb250ZW50ZnVsLXBhaW50LiIpOword2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOworIAorKGFzeW5jICgpID0+IHsKKyAgICB3aW5kb3cuZGlkUmVjZWl2
ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gZmFsc2U7CisgICAgd2luZG93LnN0YXJ0VGltZSA9IHBl
cmZvcm1hbmNlLm5vdygpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBhd2FpdCBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9y
bWFuY2VPYnNlcnZlcihlbnRyeUxpc3QgPT4geworICAgICAgICAgICAgd2luZG93LmVudHJ5TGlz
dCA9IGVudHJ5TGlzdDsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmll
cygpLmxlbmd0aCcsICIxIik7CisgICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0LmdldEVu
dHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAxKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5sZW5n
dGgnLCAiMSIpOworICAgICAgICAgICAgd2luZG93LmZjcEVudHJ5ID0gZW50cnlMaXN0LmdldEVu
dHJpZXMoKVswXTsKKyAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVGaXJzdENv
bnRlbnRmdWxQYWludCcpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5Lm5hbWUnLCAn
ImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiJyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50
cnkuZW50cnlUeXBlJywgJyJwYWludCInKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgnZmNw
RW50cnkuc3RhcnRUaW1lID4gd2luZG93LnN0YXJ0VGltZScpOworICAgICAgICAgICAgc2hvdWxk
QmVUcnVlKCdmY3BFbnRyeS5zdGFydFRpbWUgPCBwZXJmb3JtYW5jZS5ub3coKScpOworICAgICAg
ICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5LmR1cmF0aW9uJywgIjAiKTsKKyAgICAgICAgICAgIGRp
ZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCA9IHRydWU7CisgICAgICAgICAgICByZXNvbHZl
KCk7CisgICAgICAgIH0pOworCisgICAgICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6
IFsncGFpbnQnXX0pOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICdURVhUJzsK
KyAgICB9KQorICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQyJzsKKyAgICBhd2Fp
dCB3YWl0Rm9yRkNQKCk7CisgICAgc2hvdWxkQmVUcnVlKCdkaWRSZWNlaXZlRmlyc3RDb250ZW50
ZnVsUGFpbnQnKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllcygpLmxlbmd0
aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImZp
cnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHNob3VsZEJlKCdwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IiwgInBhaW50
IikubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNl
T2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXNuJ3QgZmlyZWQgYWdh
aW4gIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KSgpOworCisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3At
c3ViZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdD4KKyAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3Qg
PT4geworICAgICAgICBsaXN0LmdldEVudHJpZXMoKS5mb3JFYWNoKGVudHJ5ID0+IHsKKyAgICAg
ICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3R5cGU6ICdy
ZWNlaXZlZCcsIGVudHJ5fSksICcqJyk7CisgICAgICAgIH0pOworICAgIH0pOworCisgICAgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJwYWludCJdfSk7CisgICAgd2luZG93Lm9ubWVz
c2FnZSA9IGUgPT4geworICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKEpTT04uc3Ry
aW5naWZ5KHtzdXBwb3J0ZWQ6IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBl
cywgdHlwZTogJ3N1cHBvcnRlZCd9KSwgJyonKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5l
clRleHQgPSAiVEVYVCI7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMv
cGFpbnQtYXBpLXV0aWxzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNSBAQAorYXN5bmMgZnVuY3Rpb24gd2FpdEZvckZDUCgpCit7
CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUo
KCkgPT4gcmVzb2x2ZSgpKSk7CisgICAgcmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRy
aWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoID09IDE7Cit9ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWlu
Zy1hcGkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAoraWYgKHNlbGYuaW1wb3J0
U2NyaXB0cykKKyAgICBpbXBvcnRTY3JpcHRzKCIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiKTsKKworaWYgKHNlbGYud2luZG93KQorICAgIGRlc2NyaXB0aW9uKCJCYXNpYyBJbnRlcmZh
Y2UgdGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuIik7CisKK2RlYnVnKCJQZXJmb3JtYW5jZVBh
aW50VGltaW5nIik7CitzaG91bGRCZURlZmluZWQoIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmciKTsK
K3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUudG9KU09O
YCk7CitzaG91bGRUaHJvdyhgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKWApOworCitpZiAo
c2VsZi5pbXBvcnRTY3JpcHRzKQorICAgIGZpbmlzaEpTVGVzdCgpOwpJbmRleDogTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACitzZWxmLm9ubWVzc2FnZSA9ICgpID0+
IHsKKyAgICBzZWxmLnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KFBlcmZvcm1hbmNlT2JzZXJ2
ZXIuc3VwcG9ydGVkRW50cnlUeXBlcykpOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBm
aWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmcKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCitpbWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNRQUFBQklDQVlBQUFD
ZU5sZTVBQUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0Zw
ckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJo
CkIvK0FIbnJ3WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExT
TlBXQUJPUU54MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRX
dzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQ
T1U1NWVNRzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVa
c2JJCkVMMVBrS2E3ek82cllxR2NUdllPa0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80
bUhocE9iRWhqMGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FP
TXBrWVlCeldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1H
Z3lhRFVoUUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQx
R2szVHorCktDSnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdo
N1gwOGpqYzAxZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5
bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZK
UG1WZmxQWHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpI
NkpOVmdZSnE4CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitU
M2l1ZWZLQUl2Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnEx
U05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJP
WlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4
L1VYQWVJdUpBQUFBCkNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUdaMGxFUVZSb0JlMmFVVzlW
UlJESGQ2OHRFVkpMVzJLQ3hDWStpZ1FEb1lrS2ZnSjgKOU1rbkV2RWR2b0Nta1MrQTcycENRc0tU
ai9JSkJDU0IxTlNvUEpxVTFDYWtnTmlBYWVOZGYvK1pPVDIzNTk3U0Z1N2w2VXl5NSt6TwoyWjJa
blozZG5abDdjNXJQSmUwS1NzcHBocDc3VTBtUHFEL2RIRlVSeUp1WVJKOEQ5SmtHODR6NlE5NjlY
M3M2TnFwampYYWpLU0xkCkVHUWY5UldJTyttU3pzTDFCSzFaeWlHS2hGamx1VVNIWHhoem5mWlRF
eU9udytEWFE3Q085ZVF4RUo0amtGaVBRVkRFbG0xd0taL3kKUHBkS09jM2JoYkFQelFkRFRiaDhr
L2VWbFBNUDFpT25JN1FmVU4rZ0ROWlk3bDh5MTBwS2t3d1paeUN6TG1jUjRtdmFwNHh3U2I5Qwo3
eWJ0aFZUeUg3ei9EdnpCbE10Um1KNWt6R253eHdOL0Y2RytZc3gxMm9mNExvR2VVUHExMVJDb1hp
S3R1MXFsZk1mamMyb3NYYjZHCkFKZkIzNkVObW1KOXJGWFhoUk9VTkllQUY2SHhHUzJZNSsraGNU
N0d6ZkNXYlcwVnFpRlFaYmdQYlZEcS9zeUFEeWczR1BjRjczc20KUUxKbEZDSE5WTGJSNVMyQmhK
T3RTYlBDdWMybDlDN05iMm1mb2R5RzFvZEJweEtxbW9LTVpCTTAzMG1LcEFhNnYvTTRDcGR2S0Jl
RAp3Q3pNdFR3cjZnSFVoTlFTQlllcXBtVS9DT3BlS3AyUDZYQ1pjc0ZwZDk0REwxN2lxZVZ6V3Bw
U05NWkJqUnZSZ21heUNhTjFsekJ2CjAyZUtiK3lndEJiOXR3b0RzZ2YwVFdVdHhrdzVEV2dsYkVt
MHhjT1hYTnBVMlNLUXR2YWJJRmRaYzJ5R1pTcW1tVXZnMzJIZ1g1VEgKTWFpYVBjMGR3Vmxxckdp
SVZzcVhuRFk4bkJjOGpYZTE3UE81K0FHRzNiQ2JVdm1SRGpkTXhkS01DTGs5N01oOUZ4MDYwSDRM
bXZkVAo3djdFRzV2S24yRG8ybjJ5cDBleVFzMUNoZ2l3dFkyNUdiQVFXcDcvVkJrU2lKWm9Bc1lE
clJoUElTUkRTUjIvRHRnTmR1aWQ4cTF0CnUwa0dYQzJUQmd3RHN0SE1uTzVGUERoR0VtZWI4MTVC
ZXpQU2tPNG13VGw3SnM0WmdlK21zSG4vTXFSbkoyaERMbmpaNlcvVTk2ZU8KWDVSOHM1TjFFZlFk
Sk5WMW9hM29vbHJmb1QxRTgwbndFSy9GNEMxdTJKQnViVjJVUlVkNnZoVnNSNkdaNW95Y2gzZ2Fi
MlNRTElFOQpFYjI1bTZ5bUU5alBoU2FaNGJSRmV5TjRMVGhKOHh6OElnRXg2MGk3S0ZWZDkvWklu
K3MrWlhnNnVBeGpyaEYzSlhScmU5c1BxVkhLClU5OS9GVTk1QVpzYUdpWHJ2ZEhHcUFYeTlHVGwr
RE84L2RZMjFNZ2U0aUZlNHVtZ0syUlRRN28wQVhPdVZJbVRXOVdSd1Q0M0QzZzYKdUF5K3kvQ0JI
VTZhbEg3N3VqWEZoeUcvUkZ2ZWhRRHZVaEF5WU5TS0RuUzV5VlhGVjdaZW96ZnE2c0xXZ2V3bW82
RGdnQTdHYVZOZApNWWRjUHZBY2JUbGdjcHg4RGxTR0NLSTVHVHpFNnpnSHNvSUJjWnZXd2ZnczJG
NXhwdmpBQXZmMFJxRXArVjVoeU1FcktUSXhycEpsCkhnSHQ3dUxHNzhwNXg0NDZ4NUJZL3JPOHhN
Y21udlYvNllkOGRxZVo4Yk5MOXpjb0xzQnZqdmRoZUsxSVE1SXRUbWFGS2tLWlEwNDEKVFZCZVUy
VklJRnFpQ1JnUHNSZFBnV1NJQThmRGtTUG11V1ZDRmZQa2NNak5zN05yaFlHMFhodzBWdWVPL0tE
N2tCTHRNL0JUV0tRTgpwUURTZzR1SU91U2pQR0NBYnZ6ekREaUdTM0FCM0NwdCtkVnk4dVd3YS9u
MklweTBMNXVaNGozQitEK2gvV1hRdm0yOGpLZEZzMDQzCkJOSU1kUHR1TUJnZ2Jpb0tnOHk5bEpB
ZUJ2a01GUWJKVnhLNEtYcTk5MWxwOHcxNnlJQ1hmRElSQnBWRXRBc1BnVWV4dFhjUkF1bVQKaUl2
UkRBWDFLVzVTb0tnNHFyQTlYemhRRk0zK1FCRWtFTHg2SmlZOTlZQ1dUbXVwam9pb1diRE9Gbkd5
STNLNXluZnRDSjFUeTlTVgpPSkRHL29taW0xdTRaUXE3MWtMcHEweE11MGtSQmpZVG12RW9RN3ky
aXNDMmIrYUhmTjExZUcyZmJGaUUrQzIrUHkvWjhCSGYzNGVoCmx1VXV4c3R1Mm51eXdjYkhRM2Fn
KzBZQnBHWU00VWpIMkJYenZIU005ZVlxNGdTMlF5L1NNYjZiOXB5T01XcnhjRzE1cUNRUFFNc0EK
SDRyODhJemJXZXhZY0FmUElsOFpNQmVsSjZ5OHJ5Y25kcGV3R3JCa0lVdmZxOHFNdkk0UWlocDBE
QXdHRjNpQ1BwTjArSmQrc2hWaApkNGF0RnJWei81SDM2Tm4yZzNpOTdKS3RtVjVlV1k1eDBKSVpq
a2ViWTlRQ1N4dHV3TDdjVmIweTN6YkgyTnpLdFUxVnRUYkg2TGF6Ci9kT3RUSDVVbTJQY1hrdTlY
OW9jWTY4MnRxdTNPY2J0Tk5QRXU2UFI1aGliZXFuYmJZNngxc1ZlYW0yT3NkWldtMk9zZFRHNDFq
VjAKbTJQczEwNmJZK3pYU1kxcGM0eTFMcnhXaGVKdGpqSE9GRXZQS1kvVSsyZVVOc2RJaW5mZ0g1
cmFIR1AvbitMOGQ2OGxRdjVYbW1QVQpYek5HOTdmQi93RlpiZzA1RUVOdU53QUFBQUJKUlU1RXJr
SmdnZz09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397077</attachid>
            <date>2020-04-21 06:52:25 -0700</date>
            <delta_ts>2020-04-21 08:51:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200421165222.patch</filename>
            <type>text/plain</type>
            <size>176594</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDQyNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyNCBAQAorMjAyMC0wNC0yMSAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIHRoZSBuZWNlc3NhcnkgaW50ZXJmYWNlLCBleHRlbnNpb25zIHRv
IHRoZSBwZXJmb3JtYW5jZSBpbnRlcmZhY2UgYW5kIG9ic2VydmVyLCBuZXcgcnVudGltZSBmbGFn
LgorICAgICAgICBEZXRlY3RpbmcgY29udGVudGZ1bG5lc3MgYWZ0ZXIgbGF5b3V0IGFuZCBiZWZv
cmUgYWN0dWFsIHBhaW50LCBieSBydW5uaW5nIGEgImR1bW15IiBwYWludCwgc2ltaWxhciB0byAK
KyAgICAgICAgaW52YWxpZGF0ZUNvbnRyb2xUaW50cygpIC8gaW52YWxpZGF0ZUltYWdlc1dpdGhB
c3luY0RlY29kZXMoKS4gU2F2ZSB0aGUgcmVzdWx0IHRvIHRoZSBHcmFwaGljc0NvbnRleHQgYW5k
IHRoZW4gdG8gdGhlIGRvY3VtZW50LgorICAgICAgICBUaGlzIHdvdWxkIHJ1biBmb3IgZXZlcnkg
cGFpbnQgdW50aWwgd2UgZGV0ZWN0IGEgY29udGVudGZ1bCBvbmUuCisKKyAgICAgICAgTm90ZSB0
aGF0IGl0IHBhaW50cyB0aGUgZW50aXJlIGZyYW1lIGNvbnRlbnRzLCBhcyBGQ1AgaXMgbm90IHZp
ZXdwb3J0LWRlcGVuZGVudC4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1s
CisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1p
bWFnZS10d28tc3RlcHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qt
cm90YXRlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQt
b2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LW9wYWNpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRl
eHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1s
CisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC12aWRlby1mcmFtZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5o
dG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWlu
dC1mcmFtZXMuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQtd2l0aC13b3JrZXIuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFw
aS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6Cisg
ICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogcGFnZS9QZXJmb3Jt
YW5jZVBhaW50VGltaW5nLmg6IEFkZGVkLgorICAgICAgICAoaXNUeXBlKToKKyAgICAgICAgKiBw
YWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsOiBBZGRlZC4KKyAgICAgICAgICAgICAgICBB
ZGQgUGVyZm9ybWFuY2VQYWludFRpbWluZyBpbnRlcmZhY2UuIGh0dHBzOi8vdzNjLmdpdGh1Yi5p
by9wYWludC10aW1pbmcvI3NlYy1QZXJmb3JtYW5jZVBhaW50VGltaW5nCisKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnN1cHBvcnRzUGFp
bnRUaW1pbmcgY29uc3QpOgorICAgICAgICAgICAgICAgIFdlIG9ubHkgcmVwb3J0IHBhaW50IHRp
bWluZyBmb3IgZG9jdW1lbnQgdGhhdCBjYW4gYWNjZXNzIHRoZSB0b3AgbGV2ZWwgc2VjdXJpdHkg
b3JpZ2luLCB0byBhdm9pZCBsZWFrYWdlIG9mIGluZm9ybWF0aW9uIHRvIHNhbmRib3hlZCBpZnJh
bWVzLgorCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVwb3J0UGFpbnRUaW1pbmdJZk5l
ZWRlZCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICAgICAgICAgUmVwb3J0
IHBhaW50IHRpbWluZywgYWNjb3JkaW5nIHRvIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10
aW1pbmcvI3NlYy1yZXBvcnRpbmctcGFpbnQtdGltaW5nCisKKyAgICAgICAgKiBwYWdlL1BhZ2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6Cisg
ICAgICAgICAgICAgICAgUmVwb3J0IGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgYWZ0ZXIgbGF5b3V0
LgorICAgICAgICAgICAgICAgIFNlZSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRp
cGFnZS93ZWJhcHBhcGlzLmh0bWwjdXBkYXRlLXRoZS1yZW5kZXJpbmcKKworICAgICAgICAqIHBh
Z2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVu
dHJpZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNC
eVR5cGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNC
eU5hbWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0
Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAgICAg
ICAgICAgICAgU3VwcG9ydCBmaXJzdC1jb250ZW50ZnVsLXBhaW50IHJlcG9ydGluZy4KKworICAg
ICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyk6CisgICAgICAgICogcGFnZS9QZXJm
b3JtYW5jZUVudHJ5Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc1Bh
aW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6
CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmg6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZU9ic2VydmVyLmlkbDoKKyAgICAgICAgICAgICAgICBBZGQgcGFpbnQgcGVyZm9y
bWFuY2UgZW50cnkgdHlwZS4KKworICAgICAgICAqIHBhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0UGFpbnRU
aW1pbmdFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnBhaW50VGltaW5nRW5hYmxlZCBjb25zdCk6CisgICAgICAgICAgICAgICAgTmV3IHJ1bnRpbWUg
ZmxhZyBmb3IgcGFpbnQgdGltaW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRldGVj
dGluZ0NvbnRlbnRmdWxQYWludCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQ6OnNldENvbnRlbnRmdWxQYWludERldGVjdGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDo6Y29udGVuZnVsUGFpbnREZXRlY3RlZCBjb25zdCk6CisgICAgICAgICAg
ICAgICAgQWRkIGEgZmxhZyBpbiBHcmFwaGljc0NvbnRleHQgd2hlcmUgZGlmZmVyZW50IHJlbmRl
ciBvcGVyYXRpb25zIGNhbiByZXBvcnQgaWYgdGhleSdyZSBjb250ZW50ZnVsLgorCisgICAgICAg
ICogcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkNvbnRlbnRmdWxQYWludENoZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRmdWxQ
YWludCk6CisgICAgICAgICAgICAgICAgUnVuIGEgImR1bW15IiBwYWludCBvZiB0aGUgRnJhbWVW
aWV3LCB0byBkZXRlY3QgY29udGVudGZ1bCBlbGVtZW50cy4gCisKKyAgICAgICAgKiByZW5kZXJp
bmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oOiBBZGRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9k
ZWxPYmplY3Q6OnBhaW50RmlsbExheWVyRXh0ZW5kZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJIVE1MQ2FudmFzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckhUTUxDYW52YXM6
OnBhaW50UmVwbGFjZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6cGFpbnRSZXBsYWNlZCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpwYWludExheWVyQ29udGVudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWRlby5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWRlbzo6cGFpbnRSZXBsYWNlZCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1RleHRQYWludGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRQ
YWludGVyOjpwYWludFRleHRPckVtcGhhc2lzTWFya3MpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUm9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSb290Ojpw
YWludFJlcGxhY2VkKToKKyAgICAgICAgICAgICAgICBSZXBvcnQgY29udGVudGZ1bG5lc3Mgd2hl
biB3ZSByZWFjaCBhbnl0aGluZyB0aGF0IHF1YWxpZmllcyBhcyBjb250ZW50ZnVsLAorICAgICAg
ICAgICAgICAgIGJhc2VkIG9uIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI2Nv
bnRlbnRmdWwuCisKIDIwMjAtMDQtMjEgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBFeGl0IGVhcmx5IGluIEZyYW1lTG9hZGVyOjpsb2FkVVJMIHdoZW4gcmVkaXJlY3Rp
bmcgdG8gYW5vdGhlciBmcmFtZQpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDI2
MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC05MzYsNiArOTM2LDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBwYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsCisg
ICAgcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbAog
ICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTkyNiw2ICs5MjYsNyBAQCBKU19CSU5ESU5HX0lE
TFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwgXAogICAgICQoV2ViQ29y
ZSkvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9w
YWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1Bl
cmZvcm1hbmNlVGltaW5nLmlkbCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjYwMDQ1
KQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIxMjEs
NiArMjEyMSw3IEBAIHJlbmRlcmluZy9CcmVha0xpbmVzLmNwcAogcmVuZGVyaW5nL0NTU0ZpbHRl
ci5jcHAKIHJlbmRlcmluZy9DbGlwUmVjdC5jcHAKIHJlbmRlcmluZy9Db21wbGV4TGluZUxheW91
dC5jcHAKK3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAogcmVuZGVyaW5nL0Nv
dW50ZXJOb2RlLmNwcAogcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNwcAogcmVuZGVyaW5nL0V2ZW50
UmVnaW9uLmNwcApAQCAtMzE5OSw2ICszMjAwLDcgQEAgSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24u
Y3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxs
YmFjay5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAKK0pTUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKIEpTUGVy
Zm9ybWFuY2VTZXJ2ZXJUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcApJbmRleDog
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MDUzLDYgKzQwNTMsNyBAQAogCQlDOUY4
N0NGRTFCMjhGNDBFMDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOUY4N0NGRDFCMjhFNUY2MDA5NzlC
ODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0EzQkY2N0UxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFu
aW1hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
QTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDQTZDMTUzMDIyMEI5OENDMDA1
NUNCRkMgLyogSlNWYWx1ZUluV3JhcHBlZE9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMxQUUzQjgxRkI4MEVBRTAwRjVFRkIyIC8qIEpTVmFs
dWVJbldyYXBwZWRPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlDQTdFOUI0OTI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50
Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0E3RTlCNDcyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIuaCAqLzsg
fTsKIAkJQ0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENBRTlGOTBFMTQ2
NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggKi87IH07CiAJCUNCMzhGRDUy
MUNDRjkzOTQwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENCMzhGRDRFMUNDRjkzN0UwMDU5MkEzRiAv
KiBKU1BlcmZvcm1hbmNlRW50cnkuaCAqLzsgfTsKIAkJQ0IzOEZENUIxQ0QyMzI1QjAwNTkyQTNG
IC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0IzOEZENTkxQ0QyMzE0NTAwNTkyQTNGIC8qIEpTUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovOyB9OwpAQCAtMTM4MTYsNiArMTM4MTcsOCBAQAog
CQlDQTA5MUQ4NjIzQ0Y5MDc4MDBBRDQzNDYgLyogU3R5bGVJbWFnZVNldC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTdHlsZUltYWdlU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0EwOTFEODkyM0NGOTA4ODAwQUQ0MzQ2IC8qIFN0eWxlSW1hZ2VTZXQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU3R5bGVJbWFnZVNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTE2
MzVEQzIwNzJFNzY5MDBFN0QyQ0UgLyogUmVmZXJyZXJQb2xpY3kuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmZXJyZXJQb2xpY3kuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDQTE5MzNENTI0MDdENjQwMDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQ
YWludFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkzM0Q4MjQwN0VEQ0YwMDcxMjQxQSAvKiBQ
ZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJmb3Jt
YW5jZVBhaW50VGltaW5nLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2
N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9y
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNTJCQUU1MjNEMEFGMTYwMERFMEI4NCAvKiBT
dHlsZUN1cnNvckltYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlQ3Vyc29ySW1hZ2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM4MjUsNiArMTM4MjgsOCBAQAog
CQlDQTZDMTUyRjIyMEI0QTU1MDA1NUNCRkMgLyogSlNJREJSZXF1ZXN0Q3VzdG9tLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCUmVxdWVzdEN1c3RvbS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNkMxNTM3MjIwRDFFQjMwMDU1Q0JGQyAv
KiBKU0lEQkN1cnNvckN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0lEQkN1cnNvckN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUNBNkMxNTM4MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0lEQkN1cnNvcldpdGhW
YWx1ZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBN0U5QjQ3MjQz
NjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRmdWxQYWludENoZWNrZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0E3RTlCNDgyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQ
YWludENoZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29u
dGVudGZ1bFBhaW50Q2hlY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNB
RTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0FzcGVjdFJhdGlvVmFsdWUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQUU5RjkwRTE0NjQ0MUYwMDBDMjQ1QjAgLyog
Q1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
U1NBc3BlY3RSYXRpb1ZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNCMzhG
RDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRW50cnkuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMjA5NTksNiArMjA5NjQsOCBAQAogCQkJCUE1QTk5MzNBMUUz
N0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCAqLywKIAkJ
CQlBNUE5OTMzQjFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlz
dC5oICovLAogCQkJCUE1QTk5MzNDMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2Vy
dmVyRW50cnlMaXN0LmlkbCAqLywKKwkJCQlDQTE5MzNENTI0MDdENjQwMDA3MTI0MUEgLyogUGVy
Zm9ybWFuY2VQYWludFRpbWluZy5oICovLAorCQkJCUNBMTkzM0Q4MjQwN0VEQ0YwMDcxMjQxQSAv
KiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLywKIAkJCQk4NjUxMkVEQjE1NEEyQUVFMDBB
OTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi8sCiAJCQkJODY1MTJFREMx
NTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCAqLywKIAkJCQk4
NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwg
Ki8sCkBAIC0yODA0Miw2ICsyODA0OSw4IEBACiAJCQkJQkNERDQ1NEQxMjM2Qzk1QzAwOUE3OTg1
IC8qIENvbHVtbkluZm8uaCAqLywKIAkJCQlCQ0VBNDgxMzA5N0Q5MzAyMDA5NEM5RTQgLyogQ29t
cGxleExpbmVMYXlvdXQuY3BwICovLAogCQkJCUU0QTFBQzc4MjJGQUZENTAwMDE3Qjc1QiAvKiBD
b21wbGV4TGluZUxheW91dC5oICovLAorCQkJCUNBN0U5QjQ4MjQzNjFEQzUwMDRFODlGNiAvKiBD
b250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcCAqLywKKwkJCQlDQTdFOUI0NzI0MzYxREM1MDA0RTg5
RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oICovLAogCQkJCTkzOTJGMTRGMEFEMTg2MjMw
MDY5MUJENCAvKiBDb3VudGVyTm9kZS5jcHAgKi8sCiAJCQkJOTM5MkYxNEIwQUQxODYxQjAwNjkx
QkQ0IC8qIENvdW50ZXJOb2RlLmggKi8sCiAJCQkJMEY1M0ZCODEyMTNCMUJCODAwQzQwRDM0IC8q
IENTU0ZpbHRlci5jcHAgKi8sCkBAIC0yOTc0Niw2ICsyOTc1NSw3IEBACiAJCQkJQTE0OTc4NkYx
QUJBRjMzODAwQ0VGN0U0IC8qIENvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTVD
RENEREM2MjNEODBBMUMwMEJBMzRBMSAvKiBDb250ZW50RmlsdGVyQ2xpZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBMTQwOTBGRDFBQTUxRTQ4MDA5MTE5MUEgLyogQ29udGVudEZpbHRlclVuYmxv
Y2tIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDQTdFOUI0OTI0MzYxREM1MDA0RTg5RjYg
LyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUM5QzJEQjUy
MjQxQTY3QjAwOTk2QjBCIC8qIENvbnRlbnRSdWxlTGlzdFJlc3VsdHMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTk3QzQ3MURDMTJGOTI1QkQwMDg2MzU0QiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3ku
aCBpbiBIZWFkZXJzICovLAogCQkJCUNFNUZBMjU1MjA5RTQ4QzUwMDUxRDcwMCAvKiBDb250ZW50
U2VjdXJpdHlQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3Bw
CShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZv
cm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSwxMSBAQAog
I2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNYXJrLmgi
CiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1h
bmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1l
YXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYgKzQ4LDkgQEAgdXNpbmcg
bmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+
JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkK
KyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNiArMTc5LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3VyZSkgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWluZykgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVNlcnZl
clRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXApJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiQ29tcG9z
aXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkNvbnN0YW50UHJvcGVydHlNYXAuaCIKICNpbmNsdWRl
ICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIKKyNpbmNsdWRlICJDb250ZW50ZnVsUGFpbnRDaGVj
a2VyLmgiCiAjaW5jbHVkZSAiQ29va2llSmFyLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRWxlbWVudFJl
YWN0aW9uUXVldWUuaCIKICNpbmNsdWRlICJDdXN0b21FbGVtZW50UmVnaXN0cnkuaCIKQEAgLTE0
OCw2ICsxNDksNyBAQAogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlBhZ2VUcmFu
c2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQYWludFdvcmtsZXRHbG9iYWxTY29wZS5oIgorI2lu
Y2x1ZGUgIlBlcmZvcm1hbmNlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Mb2NhbGUuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVNj
cmVlbi5oIgpAQCAtMzE0MSw2ICszMTQzLDM0IEBAIGJvb2wgRG9jdW1lbnQ6OmlzTGF5b3V0VGlt
ZXJBY3RpdmUoKSBjb24KICAgICByZXR1cm4gdmlldygpICYmIHZpZXcoKS0+bGF5b3V0Q29udGV4
dCgpLmlzTGF5b3V0UGVuZGluZygpOwogfQogCitib29sIERvY3VtZW50OjpzdXBwb3J0c1BhaW50
VGltaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQoKSAmJiBzZWN1cml0eU9yaWdpbigpLmNh
bkFjY2Vzcyh0b3BPcmlnaW4oKSk7Cit9CisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWlu
dC10aW1pbmcvI3JlZi1mb3ItbWFyay1wYWludC10aW1pbmcKK3ZvaWQgRG9jdW1lbnQ6OnJlcG9y
dFBhaW50VGltaW5nSWZOZWVkZWQoKQoreworICAgIGlmIChtX2RpZFJlcG9ydEZpcnN0Q29udGVu
dGZ1bFBhaW50KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIXN1cHBvcnRzUGFpbnRUaW1p
bmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFkb21XaW5kb3coKSB8fCAhdmlldygp
KQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBUbyBtYWtlIHN1cmUgd2UgZG9uJ3QgcmVwb3J0
IHBhaW50IHdoaWxlIHRoZSBsYXllciB0cmVlIGlzIHN0aWxsIGZyb3plbi4KKyAgICBpZiAoIXZp
ZXcoKS0+aXNWaXN1YWxseU5vbkVtcHR5KCkgfHwgdmlldygpLT5uZWVkc0xheW91dCgpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpZiAoIUNvbnRlbnRmdWxQYWludENoZWNrZXI6OnF1YWxpZmll
c0ZvckNvbnRlbnRmdWxQYWludCgqdmlldygpKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZG9t
V2luZG93KCktPnBlcmZvcm1hbmNlKCkucmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKyAg
ICBtX2RpZFJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50ID0gdHJ1ZTsKK30KKwogRXhjZXB0aW9u
T3I8dm9pZD4gRG9jdW1lbnQ6OndyaXRlKERvY3VtZW50KiByZXNwb25zaWJsZURvY3VtZW50LCBT
ZWdtZW50ZWRTdHJpbmcmJiB0ZXh0KQogewogICAgIGlmIChtX2FjdGl2ZVBhcnNlcldhc0Fib3J0
ZWQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMzUsNiArMTAzNSw4
IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2hvdWxkRGVmZXJBc3luY2hyb25vdXNTY3JpcHRzVW50
aWxQYXJzaW5nRmluaXNoZXMoKSBjb25zdDsKIAorICAgIGJvb2wgc3VwcG9ydHNQYWludFRpbWlu
ZygpIGNvbnN0OworCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgdm9pZCBzY2hlZHVsZVRvQXBwbHlY
U0xUcmFuc2Zvcm1zKCk7CiAgICAgdm9pZCBhcHBseVBlbmRpbmdYU0xUcmFuc2Zvcm1zTm93SWZT
Y2hlZHVsZWQoKTsKQEAgLTE1NzUsNiArMTU3Nyw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0
SGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQoKSB7IG1faGFzVmlzdWFsbHlOb25FbXB0
eUN1c3RvbUNvbnRlbnQgPSB0cnVlOyB9CiAgICAgYm9vbCBoYXNWaXN1YWxseU5vbkVtcHR5Q3Vz
dG9tQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNv
bnRlbnQ7IH0KKyAgICB2b2lkIHJlcG9ydFBhaW50VGltaW5nSWZOZWVkZWQoKTsKIAogcHJvdGVj
dGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9uRmxhZ3MgeyBTeW50aGVzaXplZCA9IDEsIE5vblJl
bmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEgfTsKQEAgLTIwNDEsNiArMjA0NCw5IEBAIHByaXZh
dGU6CiAKICAgICBib29sIG1fYXJlRGV2aWNlTW90aW9uQW5kT3JpZW50YXRpb25VcGRhdGVzU3Vz
cGVuZGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fdXNlckRpZEludGVyYWN0V2l0aFBhZ2UgeyBm
YWxzZSB9OworCisgICAgYm9vbCBtX2RpZFJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50IHsgZmFs
c2UgfTsKKwogI2lmIEFTU0VSVF9FTkFCTEVECiAgICAgYm9vbCBtX2luSGl0VGVzdGluZyB7IGZh
bHNlIH07CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAkocmV2aXNpb24gMjYwMDQ1KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM3Niw2
ICsxMzc2LDEwIEBAIHZvaWQgUGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZygpCiAgICAgLy8g
bGF5b3V0IHRvIGJlIHVwLXRvLWRhdGUuIEl0IHNob3VsZCBub3QgcnVuIHNjcmlwdCwgdHJpZ2dl
ciBsYXlvdXQsIG9yIGRpcnR5IGxheW91dC4KIAogICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9j
dW1lbnQmIGRvY3VtZW50KSB7CisgICAgICAgIGRvY3VtZW50LnJlcG9ydFBhaW50VGltaW5nSWZO
ZWVkZWQoKTsKKyAgICB9KTsKKworICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRv
Y3VtZW50KSB7CiAgICAgICAgIGRvY3VtZW50LnVwZGF0ZUhpZ2hsaWdodFBvc2l0aW9ucygpOwog
ICAgIH0pOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkocmV2aXNpb24g
MjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCiAj
aW5jbHVkZSAiUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VP
YnNlcnZlci5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1p
bmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVVzZXJUaW1pbmcuaCIKQEAgLTEyNCw2ICsxMjUs
OSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3JtCiAgICAgICAgIGVu
dHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWVhc3VyZXMoKSk7CiAgICAgfQog
CisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpCisgICAgICAgIGVudHJpZXMuYXBwZW5k
KG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworCiAgICAgc3RkOjpzb3J0KGVudHJpZXMuYmVnaW4o
KSwgZW50cmllcy5lbmQoKSwgUGVyZm9ybWFuY2VFbnRyeTo6c3RhcnRUaW1lQ29tcGFyZUxlc3NU
aGFuKTsKICAgICByZXR1cm4gZW50cmllczsKIH0KQEAgLTEzNSw2ICsxMzksOSBAQCBWZWN0b3I8
UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3JtCiAgICAgaWYgKGVxdWFsTGV0dGVyc0ln
bm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInJlc291cmNlIikpCiAgICAgICAgIGVudHJpZXMu
YXBwZW5kVmVjdG9yKG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIpOwogCisgICAgaWYgKG1fZmlyc3RD
b250ZW50ZnVsUGFpbnQgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBl
LCAicGFpbnQiKSkKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWlu
dCk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJrIikpCiAgICAgICAgICAgICBlbnRyaWVz
LmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1hcmtzKCkpOwpAQCAtMTU3LDYgKzE2NCw5
IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICAgICAgfQog
ICAgIH0KIAorICAgIGlmIChtX2ZpcnN0Q29udGVudGZ1bFBhaW50ICYmIChlbnRyeVR5cGUuaXNO
dWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQi
KSkgJiYgbmFtZSA9PSAiZmlyc3QtY29udGVudGZ1bC1wYWludCIpCisgICAgICAgIGVudHJpZXMu
YXBwZW5kKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworCiAgICAgaWYgKG1fdXNlclRpbWluZykg
ewogICAgICAgICBpZiAoZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5n
QVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5k
VmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MobmFtZSkpOwpAQCAtMTgwLDYgKzE5MCwxMyBA
QCB2b2lkIFBlcmZvcm1hbmNlOjpzZXRSZXNvdXJjZVRpbWluZ0J1ZmZlCiAgICAgbV9yZXNvdXJj
ZVRpbWluZ0J1ZmZlckZ1bGxGbGFnID0gZmFsc2U7CiB9CiAKK3ZvaWQgUGVyZm9ybWFuY2U6OnJl
cG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCkKK3sKKyAgICBBU1NFUlQoIW1fZmlyc3RDb250ZW50
ZnVsUGFpbnQpOworICAgIG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgPSBQZXJmb3JtYW5jZVBhaW50
VGltaW5nOjpjcmVhdGVGaXJzdENvbnRlbnRmdWxQYWludChub3coKSk7CisgICAgcXVldWVFbnRy
eSgqbV9maXJzdENvbnRlbnRmdWxQYWludCk7Cit9CisKIHZvaWQgUGVyZm9ybWFuY2U6OmFkZFJl
c291cmNlVGltaW5nKFJlc291cmNlVGltaW5nJiYgcmVzb3VyY2VUaW1pbmcpCiB7CiAgICAgQVNT
RVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZS5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1LDcgQEAgY2xhc3MgTG9hZFRpbWluZzsK
IGNsYXNzIFBlcmZvcm1hbmNlRW50cnk7CiBjbGFzcyBQZXJmb3JtYW5jZU5hdmlnYXRpb247CiBj
bGFzcyBQZXJmb3JtYW5jZU9ic2VydmVyOworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZzsK
IGNsYXNzIFBlcmZvcm1hbmNlVGltaW5nOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNz
IFJlc291cmNlVGltaW5nOwpAQCAtNzcsNiArNzgsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFk
ZFJlc291cmNlVGltaW5nKFJlc291cmNlVGltaW5nJiYpOwogCisgICAgdm9pZCByZXBvcnRGaXJz
dENvbnRlbnRmdWxQYWludCgpOworCiAgICAgdm9pZCByZW1vdmVBbGxPYnNlcnZlcnMoKTsKICAg
ICB2b2lkIHJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7
CiAgICAgdm9pZCB1bnJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2Vy
dmVyJik7CkBAIC0xMjEsNiArMTI0LDcgQEAgcHJpdmF0ZToKIAogICAgIE1vbm90b25pY1RpbWUg
bV90aW1lT3JpZ2luOwogCisgICAgUmVmUHRyPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IG1fZmly
c3RDb250ZW50ZnVsUGFpbnQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFVzZXJUaW1pbmc+IG1fdXNl
clRpbWluZzsKIAogICAgIEdlbmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4g
bV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlRW50cnkuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCwx
MSBAQCBPcHRpb25hbDxQZXJmb3JtYW5jZUVudHJ5OjpUeXBlPiBQZXJmb3JtCiAgICAgICAgICAg
ICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlwZTo6UmVzb3VyY2UpOwogICAgIH0KIAorICAgIGlm
IChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnBhaW50VGltaW5nRW5h
YmxlZCgpKSB7CisgICAgICAgIGlmIChlbnRyeVR5cGUgPT0gInBhaW50IikKKyAgICAgICAgICAg
IHJldHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpQYWludCk7CisgICAgfQorCiAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmgJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VFbnRyeS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxMCArNDgsMTEgQEAgcHVibGljOgogICAg
IGRvdWJsZSBkdXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZHVyYXRpb247IH0KIAogICAgIGVu
dW0gY2xhc3MgVHlwZSB7Ci0gICAgICAgIE5hdmlnYXRpb24gPSAxIDw8IDAsCi0gICAgICAgIE1h
cmsgPSAxIDw8IDEsCi0gICAgICAgIE1lYXN1cmUgPSAxIDw8IDIsCi0gICAgICAgIFJlc291cmNl
ID0gMSA8PCAzLAorICAgICAgICBOYXZpZ2F0aW9uICA9IDEgPDwgMCwKKyAgICAgICAgTWFyayAg
ICAgICAgPSAxIDw8IDEsCisgICAgICAgIE1lYXN1cmUgICAgID0gMSA8PCAyLAorICAgICAgICBS
ZXNvdXJjZSAgICA9IDEgPDwgMywKKyAgICAgICAgUGFpbnQgICAgICAgPSAxIDw8IDQKICAgICB9
OwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC02Miw2ICs2Myw3IEBA
IHB1YmxpYzoKICAgICBib29sIGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0g
VHlwZTo6UmVzb3VyY2U7IH0KICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5cGUo
KSA9PSBUeXBlOjpNYXJrOyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJldHVybiB0
eXBlKCkgPT0gVHlwZTo6TWVhc3VyZTsgfQorICAgIGJvb2wgaXNQYWludCgpIGNvbnN0IHsgcmV0
dXJuIHR5cGUoKSA9PSBUeXBlOjpQYWludDsgfQogCiAgICAgc3RhdGljIGJvb2wgc3RhcnRUaW1l
Q29tcGFyZUxlc3NUaGFuKGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYSwgY29uc3Qg
UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+JiBiKQogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTEzLDE1ICsxMTMsMjEgQEAgdm9pZCBQZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVyKCkK
ICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpcmVPYnNlcnZlckNhbGxiYWNrKCpj
b250ZXh0KTsKIH0KIAotVmVjdG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9y
dGVkRW50cnlUeXBlcygpCitWZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBw
b3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiB7Ci0gICAg
cmV0dXJuIHsKKyAgICBWZWN0b3I8U3RyaW5nPiBlbnRyeVR5cGVzID0gewogICAgICAgICAvLyBG
SVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NDM2Mz4gQWRkIHN1cHBvcnQgZm9yIE5hdmln
YXRpb24gVGltaW5nIExldmVsIDIKICAgICAgICAgLy8gIm5hdmlnYXRpb24iX3MsCiAgICAgICAg
ICJtYXJrIl9zLAotICAgICAgICAibWVhc3VyZSJfcywKLSAgICAgICAgInJlc291cmNlIl9zCisg
ICAgICAgICJtZWFzdXJlIl9zCiAgICAgfTsKKworICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4
dCkgJiYgZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpLnN1cHBvcnRzUGFpbnRUaW1pbmcoKSkK
KyAgICAgICAgZW50cnlUeXBlcy5hcHBlbmQoInBhaW50Il9zKTsKKworICAgIGVudHJ5VHlwZXMu
YXBwZW5kKCJyZXNvdXJjZSJfcyk7CisKKyAgICByZXR1cm4gZW50cnlUeXBlczsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyLmgJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VPYnNlcnZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihjb250
ZXh0LCBXVEZNb3ZlKGNhbGxiYWNrKSkpOwogICAgIH0KIAotICAgIHN0YXRpYyBWZWN0b3I8U3Ry
aW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzKCk7CisgICAgc3RhdGljIFZlY3RvcjxTdHJpbmc+IHN1
cHBvcnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogCiAgICAgdm9pZCBk
aXNhc3NvY2lhdGUoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuaWRsCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiBd
IGludGVyZmFjZSBQZXJmb3JtYW5jZU9ic2VydmVyIHsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgb2JzZXJ2ZShQZXJmb3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKICAgICB2b2lk
IGRpc2Nvbm5lY3QoKTsKLSAgICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5
PERPTVN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlczsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dF0gc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01T
dHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXM7CiB9OwogCiBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNl
T2JzZXJ2ZXJJbml0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWlu
dFRpbWluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQ
YWludFRpbWluZy5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VQYWludFRpbWluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVz
ZXJ2ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVyZm9ybWFu
Y2VQYWludFRpbWluZyBmaW5hbCA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IGNyZWF0ZUZpcnN0Q29udGVu
dGZ1bFBhaW50KERPTUhpZ2hSZXNUaW1lU3RhbXAgdGltZVN0YW1wKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygiZmlyc3QtY29udGVu
dGZ1bC1wYWludCJfcywgdGltZVN0YW1wKSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcoY29uc3QgU3RyaW5nJiBuYW1lLCBET01IaWdoUmVzVGltZVN0YW1w
IHRpbWVTdGFtcCkKKyAgICAgICAgOiBQZXJmb3JtYW5jZUVudHJ5KG5hbWUsIHRpbWVTdGFtcCwg
dGltZVN0YW1wKQorICAgIHsKKyAgICB9CisKKyAgICBBU0NJSUxpdGVyYWwgZW50cnlUeXBlKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gInBhaW50Il9zOyB9CisgICAgVHlwZSB0eXBlKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gVHlwZTo6UGFpbnQ7IH0KKworICAgIH5QZXJmb3JtYW5jZVBhaW50VGlt
aW5nKCkgPSBkZWZhdWx0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFM
SVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcpCisg
ICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnkmIGVu
dHJ5KSB7IHJldHVybiBlbnRyeS5pc1BhaW50KCk7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNf
RU5EKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGlt
aW5nLmlkbAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
UGFpbnRUaW1pbmcuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2
ZS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisv
LyBodHRwczovL3czYy5naXRodWIuaW8vcGFpbnQtdGltaW5nLworCit0eXBlZGVmIGRvdWJsZSBE
T01IaWdoUmVzVGltZVN0YW1wOworCitbCisgICAgRW5hYmxlZEF0UnVudGltZT1QYWludFRpbWlu
ZywKKyAgICBFeHBvc2VkPShXaW5kb3cpLAorXSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VQYWludFRp
bWluZyA6IFBlcmZvcm1hbmNlRW50cnkgeworfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkod29ya2luZyBjb3B5KQpAQCAt
NjIsNiArNjIsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVc2VyVGltaW5nRW5hYmxlZChib29s
IGlzRW5hYmxlZCkgeyBtX2lzVXNlclRpbWluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBi
b29sIHVzZXJUaW1pbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1VzZXJUaW1pbmdFbmFi
bGVkOyB9CiAKKyAgICB2b2lkIHNldFBhaW50VGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkg
eyBtX2lzUGFpbnRUaW1pbmdFbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCBwYWludFRp
bWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzUGFpbnRUaW1pbmdFbmFibGVkOyB9CisK
ICAgICBib29sIHBlcmZvcm1hbmNlVGltZWxpbmVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gcmVz
b3VyY2VUaW1pbmdFbmFibGVkKCkgfHwgdXNlclRpbWluZ0VuYWJsZWQoKTsgfQogCiAgICAgdm9p
ZCBzZXRTaGFkb3dET01FbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNTaGFkb3dET01FbmFi
bGVkID0gaXNFbmFibGVkOyB9CkBAIC00MjQsNiArNDI3LDcgQEAgcHJpdmF0ZToKICAgICBib29s
IG1faXNMaW5rUHJlbG9hZEVuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2lzTGlua1ByZWZl
dGNoRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzTWVkaWFQcmVsb2FkaW5nRW5hYmxl
ZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzUGFpbnRUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsK
ICAgICBib29sIG1faXNSZXNvdXJjZVRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9pc1VzZXJUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNJbnRlcmFjdGl2
ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCB7IGZhbHNlIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAkocmV2aXNpb24gMjYw
MDQ1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3Myw3ICsyNzMsOCBAQCBwdWJsaWM6CiAgICAgZW51bSBj
bGFzcyBQYWludEludmFsaWRhdGlvblJlYXNvbnMgOiB1aW50OF90IHsKICAgICAgICAgTm9uZSwK
ICAgICAgICAgSW52YWxpZGF0aW5nQ29udHJvbFRpbnRzLAotICAgICAgICBJbnZhbGlkYXRpbmdJ
bWFnZXNXaXRoQXN5bmNEZWNvZGVzCisgICAgICAgIEludmFsaWRhdGluZ0ltYWdlc1dpdGhBc3lu
Y0RlY29kZXMsCisgICAgICAgIERldGVjdGluZ0NvbnRlbnRmdWxQYWludAogICAgIH07CiAgICAg
R3JhcGhpY3NDb250ZXh0KFBhaW50SW52YWxpZGF0aW9uUmVhc29ucyk7CiAKQEAgLTI5Miw2ICsy
OTMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBwZXJmb3JtaW5nUGFpbnRJbnZhbGlkYXRpb24oKSBj
b25zdCB7IHJldHVybiBtX3BhaW50SW52YWxpZGF0aW9uUmVhc29ucyAhPSBQYWludEludmFsaWRh
dGlvblJlYXNvbnM6Ok5vbmU7IH0KICAgICBib29sIGludmFsaWRhdGluZ0NvbnRyb2xUaW50cygp
IGNvbnN0IHsgcmV0dXJuIG1fcGFpbnRJbnZhbGlkYXRpb25SZWFzb25zID09IFBhaW50SW52YWxp
ZGF0aW9uUmVhc29uczo6SW52YWxpZGF0aW5nQ29udHJvbFRpbnRzOyB9CiAgICAgYm9vbCBpbnZh
bGlkYXRpbmdJbWFnZXNXaXRoQXN5bmNEZWNvZGVzKCkgY29uc3QgeyByZXR1cm4gbV9wYWludElu
dmFsaWRhdGlvblJlYXNvbnMgPT0gUGFpbnRJbnZhbGlkYXRpb25SZWFzb25zOjpJbnZhbGlkYXRp
bmdJbWFnZXNXaXRoQXN5bmNEZWNvZGVzOyB9CisgICAgYm9vbCBkZXRlY3RpbmdDb250ZW50ZnVs
UGFpbnQoKSBjb25zdCB7IHJldHVybiBtX3BhaW50SW52YWxpZGF0aW9uUmVhc29ucyA9PSBQYWlu
dEludmFsaWRhdGlvblJlYXNvbnM6OkRldGVjdGluZ0NvbnRlbnRmdWxQYWludDsgfQogCiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTdHJva2VUaGlja25lc3MoZmxvYXQpOwogICAgIGZsb2F0
IHN0cm9rZVRoaWNrbmVzcygpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGUuc3Ryb2tlVGhpY2tuZXNz
OyB9CkBAIC01MTMsNiArNTE1LDkgQEAgcHVibGljOgogICAgIEZsb2F0U2l6ZSBzY2FsZUZhY3Rv
cigpIGNvbnN0OwogICAgIEZsb2F0U2l6ZSBzY2FsZUZhY3RvckZvckRyYXdpbmcoY29uc3QgRmxv
YXRSZWN0JiBkZXN0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0KSBjb25zdDsKIAorICAg
IHZvaWQgc2V0Q29udGVudGZ1bFBhaW50RGV0ZWN0ZWQoKSB7IG1fY29udGVuZnVsUGFpbnREZXRl
Y3RlZCA9IHRydWU7IH0KKyAgICBib29sIGNvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQoKSBjb25zdCB7
IHJldHVybiBtX2NvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQ7IH0KKwogI2lmIE9TKFdJTkRPV1MpCiAg
ICAgSERDIGdldFdpbmRvd3NDb250ZXh0KGNvbnN0IEludFJlY3QmLCBib29sIHN1cHBvcnRBbHBo
YUJsZW5kKTsgLy8gVGhlIHBhc3NlZCBpbiByZWN0IGlzIHVzZWQgdG8gY3JlYXRlIGEgYml0bWFw
IGZvciBjb21wb3NpdGluZyBpbnNpZGUgdHJhbnNwYXJlbmN5IGxheWVycy4KICAgICB2b2lkIHJl
bGVhc2VXaW5kb3dzQ29udGV4dChIREMsIGNvbnN0IEludFJlY3QmLCBib29sIHN1cHBvcnRBbHBo
YUJsZW5kKTsgLy8gVGhlIHBhc3NlZCBpbiBIREMgc2hvdWxkIGJlIHRoZSBvbmUgaGFuZGVkIGJh
Y2sgYnkgZ2V0V2luZG93c0NvbnRleHQuCkBAIC02NjEsNiArNjY2LDcgQEAgcHJpdmF0ZToKIAog
ICAgIGNvbnN0IFBhaW50SW52YWxpZGF0aW9uUmVhc29ucyBtX3BhaW50SW52YWxpZGF0aW9uUmVh
c29ucyB7IFBhaW50SW52YWxpZGF0aW9uUmVhc29uczo6Tm9uZSB9OwogICAgIHVuc2lnbmVkIG1f
dHJhbnNwYXJlbmN5Q291bnQgeyAwIH07CisgICAgYm9vbCBtX2NvbnRlbmZ1bFBhaW50RGV0ZWN0
ZWQgeyBmYWxzZSB9OwogfTsKIAogY2xhc3MgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciB7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENo
ZWNrZXIuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db250
ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRpYSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoK
KyovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDb250ZW50ZnVsUGFpbnRDaGVj
a2VyLmgiCisKKyNpbmNsdWRlICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRl
eHQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sIENvbnRlbnRmdWxQYWludENoZWNr
ZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRmdWxQYWludChGcmFtZVZpZXcmIGZyYW1lVmlldykKK3sK
KyAgICBBU1NFUlQoIWZyYW1lVmlldy5uZWVkc0xheW91dCgpKTsKKyAgICBBU1NFUlQoZnJhbWVW
aWV3LnJlbmRlclZpZXcoKSk7CisKKyAgICBhdXRvIG9sZFBhaW50QmVoYXZpb3IgPSBmcmFtZVZp
ZXcucGFpbnRCZWhhdmlvcigpOworICAgIGF1dG8gb2xkRW50aXJlQ29udGVudHMgPSBmcmFtZVZp
ZXcucGFpbnRzRW50aXJlQ29udGVudHMoKTsKKworICAgIGZyYW1lVmlldy5zZXRQYWludEJlaGF2
aW9yKFBhaW50QmVoYXZpb3I6OkZsYXR0ZW5Db21wb3NpdGluZ0xheWVycyk7CisgICAgZnJhbWVW
aWV3LnNldFBhaW50c0VudGlyZUNvbnRlbnRzKHRydWUpOworCisgICAgR3JhcGhpY3NDb250ZXh0
IGNoZWNrZXJDb250ZXh0KEdyYXBoaWNzQ29udGV4dDo6UGFpbnRJbnZhbGlkYXRpb25SZWFzb25z
OjpEZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQpOworICAgIGZyYW1lVmlldy5wYWludChjaGVja2Vy
Q29udGV4dCwgZnJhbWVWaWV3LnJlbmRlclZpZXcoKS0+ZG9jdW1lbnRSZWN0KCkpOworCisgICAg
ZnJhbWVWaWV3LnNldFBhaW50c0VudGlyZUNvbnRlbnRzKG9sZEVudGlyZUNvbnRlbnRzKTsKKyAg
ICBmcmFtZVZpZXcuc2V0UGFpbnRCZWhhdmlvcihvbGRQYWludEJlaGF2aW9yKTsKKworICAgIHJl
dHVybiBjaGVja2VyQ29udGV4dC5jb250ZW5mdWxQYWludERldGVjdGVkKCk7Cit9CisKK30KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNr
ZXIuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29udGVudGZ1
bFBhaW50Q2hlY2tlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisg
KiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorKi8KKwor
I3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRnJhbWVWaWV3Owor
CitjbGFzcyBDb250ZW50ZnVsUGFpbnRDaGVja2VyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgYm9v
bCBxdWFsaWZpZXNGb3JDb250ZW50ZnVsUGFpbnQoRnJhbWVWaWV3Jik7Cit9OworCit9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5j
cHAJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxNiw3ICs3MTYsOCBAQCB2b2lk
IFJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludEZpbGxMYXllCiAgICAgQmFja2dyb3VuZEJsZWVk
QXZvaWRhbmNlIGJsZWVkQXZvaWRhbmNlLCBJbmxpbmVGbG93Qm94KiBib3gsIGNvbnN0IExheW91
dFNpemUmIGJveFNpemUsIENvbXBvc2l0ZU9wZXJhdG9yIG9wLCBSZW5kZXJFbGVtZW50KiBiYWNr
Z3JvdW5kT2JqZWN0LCBCYXNlQmFja2dyb3VuZENvbG9yVXNhZ2UgYmFzZUJnQ29sb3JVc2FnZSkK
IHsKICAgICBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQgPSBwYWludEluZm8uY29udGV4dCgpOwot
ICAgIGlmIChjb250ZXh0LnBhaW50aW5nRGlzYWJsZWQoKSB8fCByZWN0LmlzRW1wdHkoKSkKKwor
ICAgIGlmICgoY29udGV4dC5wYWludGluZ0Rpc2FibGVkKCkgJiYgIWNvbnRleHQuZGV0ZWN0aW5n
Q29udGVudGZ1bFBhaW50KCkpIHx8IHJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAK
ICAgICBib29sIGluY2x1ZGVMZWZ0RWRnZSA9IGJveCA/IGJveC0+aW5jbHVkZUxvZ2ljYWxMZWZ0
RWRnZSgpIDogdHJ1ZTsKQEAgLTczMSw2ICs3MzIsMTQgQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9i
amVjdDo6cGFpbnRGaWxsTGF5ZQogICAgIFN0eWxlSW1hZ2UqIGJnSW1hZ2UgPSBiZ0xheWVyLmlt
YWdlKCk7CiAgICAgYm9vbCBzaG91bGRQYWludEJhY2tncm91bmRJbWFnZSA9IGJnSW1hZ2UgJiYg
YmdJbWFnZS0+Y2FuUmVuZGVyKHRoaXMsIHN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpKTsKICAgICAK
KyAgICBpZiAoY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgeworICAgICAgICBp
ZiAoIWNvbnRleHQuY29udGVuZnVsUGFpbnREZXRlY3RlZCgpICYmIHNob3VsZFBhaW50QmFja2dy
b3VuZEltYWdlICYmIGJnSW1hZ2UtPmNhY2hlZEltYWdlKCkpIHsKKyAgICAgICAgICAgIGlmIChz
dHlsZSgpLmJhY2tncm91bmRTaXplVHlwZSgpICE9IEZpbGxTaXplVHlwZTo6U2l6ZSB8fCAhc3R5
bGUoKS5iYWNrZ3JvdW5kU2l6ZUxlbmd0aCgpLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICBj
b250ZXh0LnNldENvbnRlbnRmdWxQYWludERldGVjdGVkKCk7CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KKyAgICB9CisKICAgICBpZiAoY29udGV4dC5pbnZhbGlkYXRpbmdJbWFnZXNX
aXRoQXN5bmNEZWNvZGVzKCkpIHsKICAgICAgICAgaWYgKHNob3VsZFBhaW50QmFja2dyb3VuZElt
YWdlICYmIGJnSW1hZ2UtPmNhY2hlZEltYWdlKCktPmlzQ2xpZW50V2FpdGluZ0ZvckFzeW5jRGVj
b2RpbmcoKnRoaXMpKQogICAgICAgICAgICAgYmdJbWFnZS0+Y2FjaGVkSW1hZ2UoKS0+cmVtb3Zl
QWxsQ2xpZW50c1dhaXRpbmdGb3JBc3luY0RlY29kaW5nKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTcxLDYgKzcxLDEzIEBAIHZvaWQgUmVuZGVySFRNTENhbnZhczo6cGFpbnRSZXBs
YWNlZChQYWkKICAgICBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQgPSBwYWludEluZm8uY29udGV4
dCgpOwogCiAgICAgTGF5b3V0UmVjdCBjb250ZW50Qm94UmVjdCA9IHRoaXMtPmNvbnRlbnRCb3hS
ZWN0KCk7CisKKyAgICBpZiAoY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgewor
ICAgICAgICBpZiAoIWNvbnRleHQuY29udGVuZnVsUGFpbnREZXRlY3RlZCgpICYmIGNhbnZhc0Vs
ZW1lbnQoKS5yZW5kZXJpbmdDb250ZXh0KCkpCisgICAgICAgICAgICBjb250ZXh0LnNldENvbnRl
bnRmdWxQYWludERldGVjdGVkKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBjb250
ZW50Qm94UmVjdC5tb3ZlQnkocGFpbnRPZmZzZXQpOwogICAgIExheW91dFJlY3QgcmVwbGFjZWRD
b250ZW50UmVjdCA9IHRoaXMtPnJlcGxhY2VkQ29udGVudFJlY3QoKTsKICAgICByZXBsYWNlZENv
bnRlbnRSZWN0Lm1vdmVCeShwYWludE9mZnNldCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbWFnZS5jcHAJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5Miw2ICs0OTIs
MTMgQEAgdm9pZCBSZW5kZXJJbWFnZTo6cGFpbnRSZXBsYWNlZChQYWludEluZgogICAgIGZsb2F0
IGRldmljZVNjYWxlRmFjdG9yID0gZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpOwogICAg
IExheW91dFVuaXQgbWlzc2luZ0ltYWdlQm9yZGVyV2lkdGgoMSAvIGRldmljZVNjYWxlRmFjdG9y
KTsKIAorICAgIGlmIChjb250ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpKSB7CisgICAg
ICAgIGlmICghY29udGV4dC5jb250ZW5mdWxQYWludERldGVjdGVkKCkgJiYgIWlzRGVmZXJyZWRJ
bWFnZShlbGVtZW50KCkpICYmIGNhY2hlZEltYWdlKCkgJiYgY2FjaGVkSW1hZ2UoKS0+Y2FuUmVu
ZGVyKHRoaXMsIGRldmljZVNjYWxlRmFjdG9yKSAmJiAhY29udGVudFNpemUuaXNFbXB0eSgpKQor
ICAgICAgICAgICAgY29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworCisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAoIWltYWdlUmVzb3VyY2UoKS5jYWNoZWRJbWFn
ZSgpIHx8IGlzRGVmZXJyZWRJbWFnZShlbGVtZW50KCkpIHx8IHNob3VsZERpc3BsYXlCcm9rZW5J
bWFnZUljb24oKSkgewogICAgICAgICBpZiAocGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2U6
OlNlbGVjdGlvbikKICAgICAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDU4OCw2ICs0
NTg4LDkgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKEdyYQogewogICAg
IEFTU0VSVChpc1NlbGZQYWludGluZ0xheWVyKCkgfHwgaGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNj
ZW5kYW50KCkpOwogCisgICAgaWYgKGNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkg
JiYgY29udGV4dC5jb250ZW5mdWxQYWludERldGVjdGVkKCkpCisgICAgICAgIHJldHVybjsKKwog
ICAgIGF1dG8gbG9jYWxQYWludEZsYWdzID0gcGFpbnRGbGFncyAtIFBhaW50TGF5ZXJBcHBsaWVk
VHJhbnNmb3JtOwogICAgIGJvb2wgaGF2ZVRyYW5zcGFyZW5jeSA9IGxvY2FsUGFpbnRGbGFncy5j
b250YWlucyhQYWludExheWVySGF2ZVRyYW5zcGFyZW5jeSk7CiAgICAgYm9vbCBpc1NlbGZQYWlu
dGluZ0xheWVyID0gdGhpcy0+aXNTZWxmUGFpbnRpbmdMYXllcigpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
MDQsNiArMjA0LDEyIEBAIHZvaWQgUmVuZGVyVmlkZW86OnBhaW50UmVwbGFjZWQoUGFpbnRJbmYK
ICAgICBMYXlvdXRSZWN0IGNvbnRlbnRSZWN0ID0gY29udGVudEJveFJlY3QoKTsKICAgICBjb250
ZW50UmVjdC5tb3ZlQnkocGFpbnRPZmZzZXQpOwogICAgIEdyYXBoaWNzQ29udGV4dCYgY29udGV4
dCA9IHBhaW50SW5mby5jb250ZXh0KCk7CisKKyAgICBpZiAoY29udGV4dC5kZXRlY3RpbmdDb250
ZW50ZnVsUGFpbnQoKSkgeworICAgICAgICBjb250ZXh0LnNldENvbnRlbnRmdWxQYWludERldGVj
dGVkKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBib29sIGNsaXAgPSAhY29udGVu
dFJlY3QuY29udGFpbnMocmVjdCk7CiAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0
ZVNhdmVyKGNvbnRleHQsIGNsaXApOwogICAgIGlmIChjbGlwKQpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1RleHRQYWludGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvVGV4dFBhaW50ZXIuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2
ICsyNyw3IEBACiAjaW5jbHVkZSAiRGlzcGxheVJ1bi5oIgogI2luY2x1ZGUgIkZpbHRlck9wZXJh
dGlvbnMuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJIVE1MUGFy
c2VySWRpb21zLmgiCiAjaW5jbHVkZSAiSW5saW5lVGV4dEJveC5oIgogI2luY2x1ZGUgIlJlbmRl
ckNvbWJpbmVUZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKQEAgLTEwNSw2ICsxMDYs
MTMgQEAgdm9pZCBUZXh0UGFpbnRlcjo6cGFpbnRUZXh0T3JFbXBoYXNpc01hcgogICAgIGZsb2F0
IGVtcGhhc2lzTWFya09mZnNldCwgY29uc3QgRmxvYXRQb2ludCYgdGV4dE9yaWdpbiwgdW5zaWdu
ZWQgc3RhcnRPZmZzZXQsIHVuc2lnbmVkIGVuZE9mZnNldCkKIHsKICAgICBBU1NFUlQoc3RhcnRP
ZmZzZXQgPCBlbmRPZmZzZXQpOworCisgICAgaWYgKG1fY29udGV4dC5kZXRlY3RpbmdDb250ZW50
ZnVsUGFpbnQoKSkgeworICAgICAgICBpZiAoIXRleHRSdW4udGV4dCgpLnRvU3RyaW5nV2l0aG91
dENvcHlpbmcoKS5pc0FsbFNwZWNpYWxDaGFyYWN0ZXJzPGlzSFRNTFNwYWNlPigpKQorICAgICAg
ICAgICAgbV9jb250ZXh0LnNldENvbnRlbnRmdWxQYWludERldGVjdGVkKCk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKICAgICBpZiAoIWVtcGhhc2lzTWFyay5pc0VtcHR5KCkpCiAgICAgICAg
IG1fY29udGV4dC5kcmF3RW1waGFzaXNNYXJrcyhmb250LCB0ZXh0UnVuLCBlbXBoYXNpc01hcmss
IHRleHRPcmlnaW4gKyBGbG9hdFNpemUoMCwgZW1waGFzaXNNYXJrT2Zmc2V0KSwgc3RhcnRPZmZz
ZXQsIGVuZE9mZnNldCk7CiAgICAgZWxzZSBpZiAoc3RhcnRPZmZzZXQgfHwgZW5kT2Zmc2V0IDwg
dGV4dFJ1bi5sZW5ndGgoKSB8fCAhbV9nbHlwaERpc3BsYXlMaXN0KQpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCShyZXZpc2lvbiAyNjAw
NDUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5o
IgogI2luY2x1ZGUgIkxheW91dFJlcGFpbnRlci5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNs
dWRlICJSZW5kZXJDaGlsZEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVySXRlcmF0b3IuaCIK
ICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJlbmRlckxheW91dFN0YXRlLmgi
CkBAIC0yMTEsNyArMjEyLDcgQEAgdm9pZCBSZW5kZXJTVkdSb290OjpwYWludFJlcGxhY2VkKFBh
aW50SQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBEb24ndCBwYWludCwgaWYgdGhlIGNvbnRl
eHQgZXhwbGljaXRseSBkaXNhYmxlZCBpdC4KLSAgICBpZiAocGFpbnRJbmZvLmNvbnRleHQoKS5w
YWludGluZ0Rpc2FibGVkKCkpCisgICAgaWYgKHBhaW50SW5mby5jb250ZXh0KCkucGFpbnRpbmdE
aXNhYmxlZCgpICYmICFwYWludEluZm8uY29udGV4dCgpLmRldGVjdGluZ0NvbnRlbnRmdWxQYWlu
dCgpKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBTVkcgb3V0bGluZXMgYXJlIHBhaW50ZWQg
ZHVyaW5nIFBhaW50UGhhc2U6OkZvcmVncm91bmQuCkBAIC0yMjMsNiArMjI0LDE3IEBAIHZvaWQg
UmVuZGVyU1ZHUm9vdDo6cGFpbnRSZXBsYWNlZChQYWludEkKICAgICBpZiAoc3ZnU1ZHRWxlbWVu
dCgpLmhhc0VtcHR5Vmlld0JveCgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBHcmFwaGljc0Nv
bnRleHQmIGNvbnRleHQgPSBwYWludEluZm8uY29udGV4dCgpOworICAgIGlmIChjb250ZXh0LmRl
dGVjdGluZ0NvbnRlbnRmdWxQYWludCgpKSB7CisgICAgICAgIGZvciAoYXV0byYgY3VycmVudCA6
IGNoaWxkcmVuT2ZUeXBlPFJlbmRlck9iamVjdD4oKnRoaXMpKSB7CisgICAgICAgICAgICBpZiAo
IWN1cnJlbnQuaXNTVkdIaWRkZW5Db250YWluZXIoKSkgeworICAgICAgICAgICAgICAgIGNvbnRl
eHQuc2V0Q29udGVudGZ1bFBhaW50RGV0ZWN0ZWQoKTsKKyAgICAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAg
IC8vIERvbid0IHBhaW50IGlmIHdlIGRvbid0IGhhdmUga2lkcywgZXhjZXB0IGlmIHdlIGhhdmUg
ZmlsdGVycyB3ZSBzaG91bGQgcGFpbnQgdGhvc2UuCiAgICAgaWYgKCFmaXJzdENoaWxkKCkpIHsK
ICAgICAgICAgYXV0byogcmVzb3VyY2VzID0gU1ZHUmVzb3VyY2VzQ2FjaGU6OmNhY2hlZFJlc291
cmNlc0ZvclJlbmRlcmVyKCp0aGlzKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjAwNDUpCisr
KyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBA
CisyMDIwLTA0LTEzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAg
ICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgcnVudGltZSBmbGFnIGZvciBw
YWludC10aW1pbmcgKHBhaW50VGltaW5nRW5hYmxlZCkuCisKKyAgICAgICAgKiBTaGFyZWQvV2Vi
UHJlZmVyZW5jZXMueWFtbDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
cy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKToKKyAg
ICAgICAgKFdLUHJlZmVyZW5jZXNHZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjp1cGRhdGVQcmVmZXJlbmNl
c1N0b3JlKToKKwogMjAyMC0wNC0xMyAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW2lPU10gVXBkYXRlIG1lc3NhZ2UgZmlsdGVycyBpbiB0aGUgV2ViQ29u
dGVudCBzYW5kYm94CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55
YW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlh
bWwJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTgzOSw2ICs4MzksMTMgQEAgVXNlclRpbWluZ0Vu
YWJsZWQ6CiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBVc2VyVGltaW5nIEFQ
SSIKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAorUGFpbnRUaW1p
bmdFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJQYWludCBUaW1pbmciCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjog
IkVuYWJsZSBQYWludCBUaW1pbmcgQVBJIgorICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJs
ZWRGZWF0dXJlcworCiBCZWFjb25BUElFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRW
YWx1ZTogdHJ1ZQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlcy5jcHAJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODIwLDYgKzE4
MjAsMTYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0VXNlclRpbWluZ0VuYWJsZWQoVwogICAgIHJl
dHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT51c2VyVGltaW5nRW5hYmxlZCgpOwogfQogCit2
b2lkIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQoreworICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZikt
PnNldFBhaW50VGltaW5nRW5hYmxlZChmbGFnKTsKK30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0
UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7Cisg
ICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnBhaW50VGltaW5nRW5hYmxlZCgpOwor
fQorCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQogewogICAgIHRvSW1wbChwcmVmZXJl
bmNlc1JlZiktPnNldFJlc291cmNlVGltaW5nRW5hYmxlZChmbGFnKTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZh
dGUuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNTAwLDYgKzUwMCwx
MCBAQCBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWluCiBXS19FWFBPUlQg
Ym9vbCBXS1ByZWZlcmVuY2VzR2V0VXNlclRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7
CiAKIC8vIERlZmF1bHRzIHRvIGZhbHNlCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0
UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CitXS19FWFBP
UlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNS
ZWYpOworCisvLyBEZWZhdWx0cyB0byBmYWxzZQogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNl
c1NldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwog
V0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1By
ZWZlcmVuY2VzUmVmKTsKIApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNw
cAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjIs
NiArMTIyLDcgQEAgdm9pZCBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6dXBkYQogICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q2FjaGVBUElFbmFi
bGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Y2FjaGVBUElF
bmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldEZldGNoQVBJRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVy
ZW5jZXNLZXk6OmZldGNoQVBJRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZChzdG9yZS5nZXRCb29s
VmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnVzZXJUaW1pbmdFbmFibGVkS2V5KCkpKTsK
KyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFBhaW50VGlt
aW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnBh
aW50VGltaW5nRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVl
Rm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXNvdXJjZVRpbWluZ0VuYWJsZWRLZXkoKSkpOwog
ICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElL
ZWVwQWxpdmVFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6ZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3Mo
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXN0cmljdGVkSFRU
UFJlc3BvbnNlQWNjZXNzS2V5KCkpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA0LTEzICBOb2FtIFJvc2VudGhh
bCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250
ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGEgcHJlZmVyZW5jZSBrZXkgZm9yIHBhaW50IHRpbWluZy4KKworICAgICAgICAq
IFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9X
ZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0p
OgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBwYWludFRpbWluZ0VuYWJsZWRdKToKKyAgICAg
ICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0UGFpbnRUaW1pbmdFbmFibGVkOl0pOgorICAgICAgICAq
IFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJW
aWV3Lm1tOgorCiAyMDIwLTA0LTEzICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTk4NDMpOiAiTWlzc2luZyBQbHVnLUluIiB3
aGVuIGRyYWdnaW5nIGFuIGltYWdlIGludG8gTWFpbCBDb21wb3NlCkluZGV4OiBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQ
cml2YXRlLmgJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2MCw2
ICsyNjAsNyBAQAogI2RlZmluZSBXZWJLaXRBdHRhY2htZW50RWxlbWVudEVuYWJsZWRQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0QXR0YWNobWVudEVsZW1lbnRFbmFibGVkIgogI2RlZmluZSBXZWJLaXRJ
bnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0SW50ZXJzZWN0
aW9uT2JzZXJ2ZXJFbmFibGVkIgogI2RlZmluZSBXZWJLaXRNZW51SXRlbUVsZW1lbnRFbmFibGVk
UHJlZmVyZW5jZUtleSBAIldlYktpdE1lbnVJdGVtRWxlbWVudEVuYWJsZWQiCisjZGVmaW5lIFdl
YktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRQYWludFRpbWluZ0Vu
YWJsZWQiCiAjZGVmaW5lIFdlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldl
YktpdFVzZXJUaW1pbmdFbmFibGVkIgogI2RlZmluZSBXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJs
ZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkIgogI2RlZmluZSBX
ZWJLaXRNZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydFByZWZlcmVuY2VL
ZXkgQCJXZWJLaXRNZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydCIKSW5k
ZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
cy5tbQkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjgyLDYgKzY4Miw3IEBAICsg
KHZvaWQpaW5pdGlhbGl6ZQogI2lmIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCiAgICAg
ICAgIEBOTywgV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleSwK
ICNlbmRpZgorICAgICAgICBATk8sIFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXksCiAgICAgICAgIEBOTywgV2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAog
ICAgICAgICBATk8sIFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAg
ICAgICAgIEBOTywgV2ViS2l0TWVkaWFVc2VyR2VzdHVyZUluaGVyaXRzRnJvbURvY3VtZW50LApA
QCAtMzMwNiw2ICszMzA3LDE2IEBAIC0gKHZvaWQpc2V0VXNlclRpbWluZ0VuYWJsZWQ6KEJPT0wp
ZmxhZwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0VXNlclRpbWlu
Z0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9PTClwYWludFRpbWluZ0VuYWJsZWQK
K3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRQYWludFRpbWluZ0Vu
YWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9pZClzZXRQYWludFRpbWluZ0VuYWJsZWQ6
KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0
UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKIC0gKEJPT0wpcmVzb3VyY2VU
aW1pbmdFbmFibGVkCiB7CiAgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0
UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07CkluZGV4OiBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJ
KHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTY2MSw2ICs2NjEsNyBAQCBA
aW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzIChXZWJQcml2YXRlKQogQHByb3BlcnR5IChub25hdG9t
aWMpIEJPT0wga2V5Z2VuRWxlbWVudEVuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9P
TCB1c2VyVGltaW5nRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHJlc291cmNl
VGltaW5nRW5hYmxlZDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHBhaW50VGltaW5nRW5h
YmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGxpbmtQcmVsb2FkRW5hYmxlZDsKIEBw
cm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIG1lZGlhVXNlckdlc3R1cmVJbmhlcml0c0Zyb21Eb2N1
bWVudDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGlzU2VjdXJlQ29udGV4dEF0dHJpYnV0
ZUVuYWJsZWQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTMyMDEsNiArMzIwMSw3IEBAIC0gKHZvaWQp
X3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW4KIAogICAgIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMu
dXNlclRpbWluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnJlc291cmNlVGlt
aW5nRW5hYmxlZCk7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zZXRQYWludFRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMucGFpbnRUaW1pbmdFbmFibGVkKTsK
ICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmtQcmVs
b2FkRW5hYmxlZChwcmVmZXJlbmNlcy5saW5rUHJlbG9hZEVuYWJsZWQpOwogICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxl
ZChwcmVmZXJlbmNlcy5tZWRpYVByZWxvYWRpbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldElzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVu
YWJsZWQocHJlZmVyZW5jZXMuaXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZCk7CkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMyBA
QAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBwcmVmZXJlbmNlIGtleSBmb3Ig
cGFpbnQtdGltaW5nLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAg
KiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAg
ICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hh
bmdlZCk6CisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGw6CisgICAg
ICAgICogSW50ZXJmYWNlcy9XZWJLaXQuaWRsOgorICAgICAgICAgICAgICAgIFRvdWNoZWQgdG8g
dHJpZ2dlciBidWlsZC4KKwogMjAyMC0wNC0wOCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgU2hvdWxkIGZpbmQgdG91Y2gtYWN0aW9uIGVsZW1lbnRzIGluc2lk
ZSBub24tY29tcG9zaXRlZCBpZnJhbWVzCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24gMjYwMDQ1KQorKysg
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTE5Nyw2ICsxOTcsOCBAQAogCiAjZGVmaW5lIFdlYktpdFVzZXJUaW1pbmdF
bmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0VXNlclRpbWluZ0VuYWJsZWQiCiAKKyNkZWZpbmUg
V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0UGFpbnRUaW1pbmdF
bmFibGVkIgorCiAjZGVmaW5lIFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXkgIldlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZCIKIAogI2RlZmluZSBXZWJLaXRMaW5rUHJl
bG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWQiCkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAy
NjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMyNiw2ICszMjYsOCBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjppbml0
aWFsaXplRGVmYXVsdFNlCiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZT
VFIoV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5G
YWxzZSk7CiAKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0
UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CisKICAg
ICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0TGlua1ByZWxvYWRF
bmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKICAgICBDRkRpY3Rpb25h
cnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZFBy
ZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwpAQCAtMjQxNCw2ICsyNDE2LDIwIEBAIEhS
RVNVTFQgV2ViUHJlZmVyZW5jZXM6OnJlc291cmNlVGltaW5nRW4KICAgICByZXR1cm4gU19PSzsK
IH0KIAorSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0UGFpbnRUaW1pbmdFbmFibGVkKEJPT0wg
ZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUoV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJl
ZmVyZW5jZUtleSwgZW5hYmxlZCk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2Vi
UHJlZmVyZW5jZXM6OnBhaW50VGltaW5nRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQorewor
ICAgIGlmICghZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKyAgICAqZW5hYmxl
ZCA9IGJvb2xWYWx1ZUZvcktleShXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5
KTsKKyAgICByZXR1cm4gU19PSzsKK30KKwogSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2VydmVy
VGltaW5nRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQogewogICAgIGlmICghZW5hYmxlZCkK
SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAkocmV2aXNpb24g
MjYwMDQ1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAkod29y
a2luZyBjb3B5KQpAQCAtMzA3LDYgKzMwNyw4IEBAIHB1YmxpYzoKICAgICAvLyBJV2ViUHJlZmVy
ZW5jZXNQcml2YXRlOAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBhbGxv
d1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKF9PdXRfIEJPT0wqKTsKICAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhCT09M
KTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcGFpbnRUaW1pbmdFbmFi
bGVkKF9PdXRfIEJPT0wqKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
c2V0UGFpbnRUaW1pbmdFbmFibGVkKEJPT0wpOwogCiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIApJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAJKHJldmlzaW9uIDI2MDA0NSkKKysr
IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
Mjg1LDYgKzUyODUsMTEgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5n
ZQogICAgICAgICByZXR1cm4gaHI7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5hYmxlZCghIWVuYWJsZWQpOwogCisgICAgaHIgPSBw
cmVmc1ByaXZhdGUtPnBhaW50VGltaW5nRW5hYmxlZCgmZW5hYmxlZCk7CisgICAgaWYgKEZBSUxF
RChocikpCisgICAgICAgIHJldHVybiBocjsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLnNldFBhaW50VGltaW5nRW5hYmxlZCghIWVuYWJsZWQpOworCiAgICAg
aHIgPSBwcmVmc1ByaXZhdGUtPnJlc291cmNlVGltaW5nRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAg
aWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKSW5kZXg6IFNvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGwJKHJl
dmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdl
YlByZWZlcmVuY2VzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKSW5kZXg6IFNvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmlkbAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4v
SW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjY1LDQgKzI2NSw2IEBAIGludGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOCA6IElXZWIK
IHsKICAgICBIUkVTVUxUIGFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoW291dCwgcmV0dmFs
XSBCT09MKiBlbmFibGVkKTsKICAgICBIUkVTVUxUIHNldEFsbG93VG9wTmF2aWdhdGlvblRvRGF0
YVVSTHMoW2luXSBCT09MIGVuYWJsZWQpOworICAgIEhSRVNVTFQgcGFpbnRUaW1pbmdFbmFibGVk
KFtvdXQsIHJldHZhbF0gQk9PTCopOworICAgIEhSRVNVTFQgc2V0UGFpbnRUaW1pbmdFbmFibGVk
KFtpbl0gQk9PTCBlbmFibGVkKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0lu
dGVyZmFjZXMvV2ViS2l0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9JbnRlcmZhY2VzL1dlYktpdC5pZGwJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL0ludGVyZmFjZXMvV2ViS2l0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQs
NyArMjQsNyBAQAogICovCiAKIGNwcF9xdW90ZSgiLyoiKQotY3BwX3F1b3RlKCIgKiBDb3B5cmln
aHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLiIpCitjcHBfcXVvdGUoIiAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAw
NywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxNSwgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuIikKIGNwcF9xdW90ZSgiICoiKQogY3BwX3F1b3RlKCIgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQiKQogY3Bw
X3F1b3RlKCIgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMiKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjYwMDQ1KQorKysgVG9vbHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDQtMTMgIE5vYW0gUm9zZW50
aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgcHJlZmVyZW5jZSBrZXkgZm9yIHBhaW50LXRpbWluZy4KKworICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0V2Vi
UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9D
b25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVyZW5jZXNU
b0NvbnNpc3RlbnRWYWx1ZXMpOgorCiAyMDIwLTA0LTEzICBLYXRlIENoZW5leSAgPGthdGhlcmlu
ZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXIt
cHJpdmFjeS9hcHAtYm91bmQtZG9tYWluLmh0bWwgaXMgYSBjb25zdGFudCBmYWlsdXJlIG9uIGlP
UwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2
aXNpb24gMjYwMDQ1KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDA0LDYgKzEwMDQsNyBAQCBzdGF0aWMgdm9pZCByZXNl
dFdlYlByZWZlcmVuY2VzVG9Db25zaXN0CiAgICAgW3ByZWZlcmVuY2VzIHNldE1vZGVybk1lZGlh
Q29udHJvbHNFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFJlc291cmNlVGltaW5n
RW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRVc2VyVGltaW5nRW5hYmxlZDpZRVNd
OworICAgIFtwcmVmZXJlbmNlcyBzZXRQYWludFRpbWluZ0VuYWJsZWQ6WUVTXTsKIAogICAgIFtw
cmVmZXJlbmNlcyBzZXRDYWNoZUFQSUVuYWJsZWQ6Tk9dOwogICAgIHByZWZlcmVuY2VzLm1lZGlh
Q2FwYWJpbGl0aWVzRW5hYmxlZCA9IFlFUzsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9EdW1wUmVuZGVyVHJlZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUv
d2luL0R1bXBSZW5kZXJUcmVlLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgVG9vbHMvRHVtcFJl
bmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTIxLDYg
KzkyMSw3IEBAIHN0YXRpYyB2b2lkIHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGkKICAgICBw
cmVmc1ByaXZhdGUtPnNldEFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMob3B0aW9ucy5hbGxv
d1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKTsKICAgICBwcmVmZXJlbmNlcy0+c2V0UHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZChvcHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24pOwogICAgIHByZWZlcmVu
Y2VzLT5zZXRVc2VzUGFnZUNhY2hlKG9wdGlvbnMuZW5hYmxlQmFja0ZvcndhcmRDYWNoZSk7Cisg
ICAgcHJlZnNQcml2YXRlLT5zZXRQYWludFRpbWluZ0VuYWJsZWQoVFJVRSk7CiB9CiAKIHN0YXRp
YyBTdHJpbmcgYXBwbGljYXRpb25JZCgpCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzMSw2ICs5MzEsNyBA
QCB2b2lkIFRlc3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2VzVG9DCiAgICAgV0tQcmVmZXJl
bmNlc1NldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAg
V0tQcmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7
CiAgICAgV0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVl
KTsKKyAgICBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0
cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZChwcmVmZXJl
bmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldE1lZGlhUGxheWJhY2tBbGxvd3NJbmxp
bmUocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRJbmxpbmVNZWRpYVBs
YXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZShwcmVmZXJlbmNlcywgZmFsc2UpOwpJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gMjYwMDQ1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjAtMDQtMTMgIE5vYW0gUm9zZW50aGFsICA8
bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGRlZCB0ZXN0cyBmb3Igc29tZSBmaXJzdC1jb250ZW50ZnVsLXBhaW50IChGQ1ApIHVzZS1j
YXNlcy4KKyAgICAgICAgRW5zdXJlIHRoYXQgRkNQIHdvcmtzIHdlbGwgd2l0aCBWTkUgKGZpcnN0
IHBhaW50IGRlbGF5IHVudGlsIGNvbnRlbnRzIGFyZSB2aXN1YWxseSBub24tZW1wdHkpLgorCisg
ICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5n
LWFwaS5qczogQWRkZWQuCisgICAgICAgICAgICAgICAgVGVzdCBleGlzdGVuY2Ugb2YgcGFpbnQg
dGltaW5nIEFQSSBvbiB0aGUgd2luZG93IG9iamVjdC4KKworICAgICAgICAqIHBlcmZvcm1hbmNl
LWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LWZyYW1lcy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1w
YWludC13aXRoLXdvcmtlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1h
bmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LXdpdGgtd29ya2VyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAgICAgICAgIFRlc3QgdGhhdCBGQ1AgaXMgbm90IGF2YWlsYWJsZSBmb3Ig
Y3Jvc3Mtb3JpZ2luIGZyYW1lcyBhbmQgd29ya2Vycy4KKworICAgICAgICAqIHBlcmZvcm1hbmNl
LWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2Vy
dmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9y
bWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanM6IEFkZGVkLgorICAgICAgICAo
YXN5bmMgd2FpdEZvckZDUCk6CisgICAgICAgICAgICAgICAgVGVzdCB0aGF0IHBlcmZvcm1hbmNl
IG9ic2VydmVycyBhcmUgY2FsbGVkIGZvciBGQ1AuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Bl
cmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9u
LWVtcHR5LWZvci1zdHlsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZv
cm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVt
cHR5LWZvci1zdHlsZS1leHBlY3RlZC50eHQ6IEFkZGVkCisgICAgICAgICogaHR0cC90ZXN0cy9w
ZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3N0eWxlLnBocDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc3R5bGUuY3NzOiAgQWRkZWQuCisgICAgICAg
ICAgICAgICAgSWYgYSBwZW5kaW5nIHN0eWxlc2hlZXQgYmxvY2tzIHBhaW50aW5nLCBtYWtlIHN1
cmUgRkNQIGlzIHJlcG9ydGVkIG9ubHkgYWZ0ZXIgc3R5bGVzaGVldCBoYXMgbG9hZGVkLgorCisg
ICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Bl
cmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9u
LWVtcHR5LWZvci1udW0tY2hhcnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3BlcmZvcm1hbmNlL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVy
Zm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51
bS1jaGFycy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jl
c291cmNlcy9zbG93c2NyaXB0LnBocDogQWRkZWQuCisgICAgICAgICAgICAgICAgSWYgVk5FIGR1
ZSB0byBudW1iZXIgb2YgY2hhcmFjdGVycyBibG9ja3MgcGFpbnRpbmcsIG1ha2Ugc3VyZSBGQ1Ag
aXMgcmVwb3J0ZWQgb25seSBhZnRlciBwYWludGluZyBpcyB1bmJsb2NrZWQuCisKIDIwMjAtMDQt
MTMgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAg
aHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1kb21haW4uaHRtbCBp
cyBhIGNvbnN0YW50IGZhaWx1cmUgb24gaU9TCkluZGV4OiBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlz
aW9uIDI2MDA0NSkKKysrIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29w
eSkKQEAgLTIwNiw2ICsyMDYsOSBAQCBmYXN0L3Zpc3VhbC12aWV3cG9ydC9ydWJiZXJiYW5kaW5n
LXZpZXdwCiAjIERhdGFEZXRlY3RvcnMgdGVzdHMgb25seSBtYWtlIHNlbnNlIG9uIE1hYwogZmFz
dC9ldmVudHMvZG8tbm90LWRyYWctYW5kLWRyb3AtZGF0YS1kZXRlY3RvcnMtbGluay5odG1sIFsg
U2tpcCBdCiAKKyMgQSByb3VuZGluZyBlcnJvciBtYXkgY2F1c2UgOTBkZWcgM2Qtcm90YXRlZCBl
bGVtZW50cyB0byBjb3VudCBhcyBwYWludGVkCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5k
YW50Lmh0bWwKKwogd2Via2l0Lm9yZy9iLzIwMjYxNyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BpY3R1cmUtaW4tcGljdHVyZSBbIFNraXAgXQogCiAjIFBpUCBBUEkgdGVzdHMgYXJl
IG9ubHkgcmVsZXZhbnQgb24gbWFjIGFuZCBpUGFkCkluZGV4OiBMYXlvdXRUZXN0cy90ZXN0cy1v
cHRpb25zLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29u
CShyZXZpc2lvbiAyNjAwNDUpCisrKyBMYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24JKHdv
cmtpbmcgY29weSkKQEAgLTE3LDYgKzE3LDkgQEAKICAgICAiaW1wb3J0ZWQvdzNjL2Nzcy9jc3Mt
dmFsdWVzL3ZoX25vdF9yZWZyZXNoaW5nX29uX2Nocm9tZS5odG1sIjogWwogICAgICAgICAic2xv
dyIKICAgICBdLAorICAgICJpbXBvcnRlZC93M2MvcGFpbnQtdGltaW5nL2ZpcnN0LWltYWdlLWNo
aWxkLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCiAgICAgImltcG9ydGVkL3czYy93
ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy91cGRhdGluZy10aGUtZmluaXNo
ZWQtc3RhdGUuaHRtbCI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1h
ZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1w
YWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZv
cm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVt
cHR5LWZvci1udW0tY2hhcnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MyBAQAorUEFTUyBwYWludEVudHJ5LnN0YXJ0VGltZSA+IHRpbWVzdGFtcHNbZXhwZWN0ZWRJdGVy
YXRpb25zXSBpcyB0cnVlCitQQVNTIHBhaW50RW50cnkuc3RhcnRUaW1lIDwgdGltZXN0YW1wc1tl
eHBlY3RlZEl0ZXJhdGlvbnMgKyAyXSBpcyB0cnVlCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1
YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1h
ZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy5odG1sCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQt
dGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpCisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworICAgIH0KKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgdmFyIHN0eWxlRW50cnkgPSBudWxs
CisgICAgdmFyIHBhaW50RW50cnkgPSBudWxsCisgICAgdmFyIHRpbWVzdGFtcHMgPSBbXQorICAg
IHZhciBjaGFyc1Blckl0ZXJhdGlvbiA9IDgwCisgICAgdmFyIGNoYXJUaHJlc2hvbGQgPSAyMDAK
KyAgICB2YXIgZXhwZWN0ZWRJdGVyYXRpb25zID0gTWF0aC5jZWlsKGNoYXJUaHJlc2hvbGQgLyBj
aGFyc1Blckl0ZXJhdGlvbikKKworICAgIGZ1bmN0aW9uIHNsb3dTdHJpbmcoc3RyLCBkZWxheSkg
eworICAgICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQn
KQorICAgICAgICBjb25zdCBzb3VyY2UgPSBgZG9jdW1lbnQud3JpdGUoJyR7c3RyfScpOyB0aW1l
c3RhbXBzLnB1c2goJHtwZXJmb3JtYW5jZS5ub3coKX0pOyBjaGVjaygpO2AKKyAgICAgICAgc2Ny
aXB0LnNyYyA9IGAuL3Jlc291cmNlcy9zbG93c2NyaXB0LnBocD9jYWNoZUJ1c3Rlcj0ke3BlcmZv
cm1hbmNlLm5vdygpfSZkZWxheT0ke2RlbGF5fSZzY3JpcHQ9JHtzb3VyY2V9YAorICAgICAgICBk
b2N1bWVudC53cml0ZShzY3JpcHQub3V0ZXJIVE1MKQorICAgIH0KKworICAgIGZ1bmN0aW9uIGNo
ZWNrKCkgeworICAgICAgICBpZiAodGltZXN0YW1wcy5sZW5ndGggPCBleHBlY3RlZEl0ZXJhdGlv
bnMgKyAzIHx8ICFwYWludEVudHJ5KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGRv
Y3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJycKKworICAgICAgICBzaG91bGRCZVRydWUoInBhaW50
RW50cnkuc3RhcnRUaW1lID4gdGltZXN0YW1wc1tleHBlY3RlZEl0ZXJhdGlvbnNdIikKKyAgICAg
ICAgc2hvdWxkQmVUcnVlKCJwYWludEVudHJ5LnN0YXJ0VGltZSA8IHRpbWVzdGFtcHNbZXhwZWN0
ZWRJdGVyYXRpb25zICsgMl0iKQorICAgICAgICAKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCkKKyAgICB9CisKKyAgICBj
b25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAg
ICBwYWludEVudHJ5ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncGFpbnQnKVswXQor
ICAgICAgICBpZiAocGFpbnRFbnRyeSkKKyAgICAgICAgICAgIGNoZWNrKCkKKyAgICB9KTsKKyAg
ICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbInBhaW50Il19KQorCisgICAgZnVuY3Rp
b24gbmV4dCgpIHsKKyAgICAgICAgc2xvd1N0cmluZygnXHQgJyArIEFycmF5KGNoYXJzUGVySXRl
cmF0aW9uIC8gMikuZmlsbCgnIDAgXHQgQScpLmpvaW4oJycpICsgIiAgIFxuXHQiLCAwLjMsIGNo
YXJzUGVySXRlcmF0aW9uKQorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAg
PHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAg
IDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAg
ICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4K
KyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+
CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0
PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3Njcmlw
dD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3Jp
cHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGlt
aW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1h
bmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJm
b3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1l
bXB0eS1mb3Itc3R5bGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMiBA
QAorUEFTUyBwYWludEVudHJ5LnN0YXJ0VGltZSA+PSBzdHlsZUVudHJ5LnN0YXJ0VGltZSArIHN0
eWxlRW50cnkuZHVyYXRpb24gaXMgdHJ1ZQorVEVYVApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3Vh
bGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXIt
dmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZj
cC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCkKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgfQorPC9z
Y3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKyAgICB2YXIgc3R5bGVFbnRyeSA9IG51bGw7CisgICAgdmFyIHBh
aW50RW50cnkgPSBudWxsOworICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIobGlzdCA9PiB7CisgICAgICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNl
LmdldEVudHJpZXNCeVR5cGUoJ3BhaW50Jyk7CisgICAgICAgIGlmIChwYWludEVudHJpZXMubGVu
Z3RoKQorICAgICAgICAgICAgcGFpbnRFbnRyeSA9IHBhaW50RW50cmllc1swXTsKKworICAgICAg
ICBjb25zdCByZXNvdXJjZUVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdy
ZXNvdXJjZScpLmZpbHRlcihyID0+IHIubmFtZS5pbmNsdWRlcygnc2xvd3N0eWxlLnBocCcpKTsK
KyAgICAgICAgaWYgKHJlc291cmNlRW50cmllcy5sZW5ndGgpCisgICAgICAgICAgICBzdHlsZUVu
dHJ5ID0gcmVzb3VyY2VFbnRyaWVzWzBdOworCisgICAgICAgIGlmICghc3R5bGVFbnRyeSB8fCAh
cGFpbnRFbnRyeSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBzaG91bGRCZVRydWUo
InBhaW50RW50cnkuc3RhcnRUaW1lID49IHN0eWxlRW50cnkuc3RhcnRUaW1lICsgc3R5bGVFbnRy
eS5kdXJhdGlvbiIpOworICAgICAgICAgICAgICAgIAorICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9KTsKKyAg
ICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbInBhaW50IiwgInJlc291cmNlIl19KTsK
Kzwvc2NyaXB0PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuL3Jlc291cmNlcy9zbG93
c3R5bGUucGhwP2RlbGF5PTAuNSIgLz4KKzwvaGVhZD4KKzxib2R5PgorVEVYVAorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJj
ZXMvc2xvd3NjcmlwdC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9w
ZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3NjcmlwdC5waHAJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3NjcmlwdC5waHAJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5IEBACis8P3BocAoraWYgKGlzc2V0KCRfR0VUWyJk
ZWxheSJdKSkKKyAgICBzbGVlcCgkX0dFVFsiZGVsYXkiXSk7CitoZWFkZXIoJ0NhY2hlLUNvbnRy
b2w6IG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUnKTsKK2hlYWRlcignQ29udGVudC1UeXBlOiB0
ZXh0L2phdmFzY3JpcHQnKTsKKworZWNobygkX0dFVFsic2NyaXB0Il0pCis/PgorCkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c3R5bGUucGhw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3Vy
Y2VzL3Nsb3dzdHlsZS5waHAJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3N0eWxlLnBocAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDYgQEAKKzw/cGhwCitpZiAoaXNzZXQoJF9HRVRbImRlbGF5Il0pKQorICAgIHNsZWVw
KCRfR0VUWyJkZWxheSJdKTsKK2hlYWRlcignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG11c3Qt
cmV2YWxpZGF0ZScpOworaGVhZGVyKCdMb2NhdGlvbjogc3R5bGUuY3NzJyk7Cis/PgpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc3R5bGUuY3NzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2Vz
L3N0eWxlLmNzcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZv
cm1hbmNlL3Jlc291cmNlcy9zdHlsZS5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBA
Citib2R5IHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbgorfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDI2MDQyMCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSw4NSBAQAorMjAyMC0wNC0yMSAgTm9hbSBSb3NlbnRoYWwgIDxub2Ft
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBw
YWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
ODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElt
cG9ydGVkIHczYyB0ZXN0cyBmb3IgZmlyc3QgY29udGVudGZ1bCBwYWludCBhbmQgdXBkYXRlZCB0
ZXN0IGhhcm5lc3MuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5q
c29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmc6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHk6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Ut
dHdvLXN0ZXBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Y2FudmFzLWNvbnRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1n
cmFkaWVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3Rh
dGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUt
dHJhbnNpdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNs
YXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3V0LW9mLWJvdW5kcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmls
aXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10
ZXh0LWlucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBv
Z3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L3czYy1p
bXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL3Jlc291cmNlczogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2ZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmc6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1l
LXBhaW50aW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMu
anM6IEFkZGVkLgorICAgICAgICAod2FpdEZvckFuaW1hdGlvbkZyYW1lcyk6CisgICAgICAgIChh
c3luYyBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKGFzeW5jIGFzc2Vy
dEZpcnN0Q29udGVudGZ1bFBhaW50LnJldHVybi5uZXcuUHJvbWlzZSk6CisgICAgICAgIChhc3lu
YyBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCk6CisgICAgICAgIChhc3luYyB0ZXN0X2ZjcCk6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qczoK
KyAgICAgICAgKHByb21pc2VfcmVqZWN0c19qcyk6CisgICAgICAgIChwcm9taXNlX3JlamVjdHNf
ZG9tKToKKyAgICAgICAgKHByb21pc2VfcmVqZWN0c19leGFjdGx5KToKKyAgICAgICAgKGZvcm1h
dF92YWx1ZSk6CisKIDIwMjAtMDQtMTUgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGln
YWxpYS5jb20+CiAKICAgICAgICAgW1dlYlhSXSBVcGRhdGUgV2ViWFJTZXNzaW9uIGFuZCBXZWJY
UlN5c3RlbSBpbnRlcmZhY2VzCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3Vy
Y2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgkocmV2aXNpb24g
MjYwMDQ1KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhw
ZWN0YXRpb25zLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTEzLDYgKzEzLDExIEBACiAgICAgImNz
cy9nZW9tZXRyeSI6ICJpbXBvcnQiLCAKICAgICAiY3NzL3N1cHBvcnQiOiAiaW1wb3J0IiwgCiAg
ICAgImN1c3RvbS1lbGVtZW50cyI6ICJpbXBvcnQiLCAKKyAgICAicGFpbnQtdGltaW5nLyI6ICJp
bXBvcnQiLCAKKyAgICAicGFpbnQtdGltaW5nL2ZjcC1vbmx5IjogImltcG9ydCIsIAorICAgICJw
YWludC10aW1pbmcvcmVzb3VyY2VzIjogImltcG9ydCIsIAorICAgICJwYWludC10aW1pbmcvcmVz
b3VyY2VzLyI6ICJpbXBvcnQiLCAKKyAgICAicmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIjogImlt
cG9ydCIsIAogICAgICJzaGFkb3ctZG9tIjogImltcG9ydCIsIAogICAgICJ0b29scyI6ICJpbXBv
cnQiLCAKICAgICAid2ViLWFuaW1hdGlvbnMiOiAiaW1wb3J0IiwgCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNr
Z3JvdW5kIHNpemUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZv
cm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tncm91bmQgc2l6ZTwvdGl0
bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cisg
ICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFj
a2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIGJh
Y2tncm91bmQtc2l6ZTogMCAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMg
ZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7Cisg
ICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOworICAgIH0KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemUuIik7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0LiAKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmct
aW1hZ2Utc2V0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldDwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNw
IHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgYmFja2dyb3VuZC1p
bWFnZTogLXdlYmtpdC1pbWFnZS1zZXQodXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZykgMXgp
OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS1zZXQodXJsKC4uL3Jlc291cmNlcy9j
aXJjbGVzLnBuZykgMXgpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+
Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldC4iKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVw
cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4g
dmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+
UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgZmlyZSBmb3IgYmFja2dy
b3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQor
CisgICAgLyogY29udGVudGZ1bCBhbmQgcHJlRkNQIGNsYXNzZXMgYXJlIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLnByZUZDUCB7CisgICAgICAgIHZpc2liaWxpdHk6
IGhpZGRlbjsKKyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVsLCAgI21haW4ucHJlRkNQIHsK
KyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7
CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHZpc2liaWxpdHk6IHZp
c2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+
CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZm9yIGJhY2tncm91
bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGUuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ2FudmFzIHNob3VsZCBjb3VudCBh
cyBjb250ZW50ZnVsIHdoZW4gY29udGV4dCBpcyBjcmVhdGVkIAorCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtY2FudmFzLWNvbnRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFz
LWNvbnRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRl
eHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agd2hlbiBj
YW52YXMgY29udGV4dCBpcyBjcmVhdGVkPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdp
ZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgIGF3YWl0IG5l
dyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAg
YXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgICBjb25zdCBjYW52YXMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FudmFzJyk7CisgICAgY29uc3QgY29udGV4dCA9
IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworICAgIGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgMTAw
LCAxMDApOworICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICB9LCAn
Q2FudmFzIHNob3VsZCBjb3VudCBhcyBjb250ZW50ZnVsIHdoZW4gY29udGV4dCBpcyBjcmVhdGVk
Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdy
YWRpZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgR3JhZGllbnRz
IHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdy
YWRpZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBub3QgZmlyZSB3aXRoIGdyYWRpZW50
LW9ubHkgYmFja2dyb3VuZHM8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAg
d2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBvcmFuZ2UsIGJsdWUpOworICAgIH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rl
c3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFu
Y2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBh
d2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikp
OworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgICdH
cmFkaWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsJyk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUt
ZGVzY2VuZGFudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVu
dGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90YXRpbmcgaW50
byB2aWV3LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2Vu
ZGFudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRl
LWRlc2NlbmRhbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIGR1ZSB0byAzZCByZXZlYWxpbmcgb2YgZGVzY2VuZGFudHM8L3RpdGxlPgor
PHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2
ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVkZWcpOwor
ICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOworICAgIH0KKworICAgIC8qCisg
ICAgICAgVGhpcyB0ZXN0cyB0aGF0IGdpdmVuIG11bHRpcGxpY2F0aW9uIGVmZmVjdCBvZiAzZCB0
cmFuc2Zvcm1zIG9uIGJvdW5kaW5nIHJlY3QsCisgICAgICAgQW4gZWxlbWVudCBjb3VudHMgYXMg
Y29udGVudGZ1bC9wYWludGFibGUgb25seSB3aGVuIGl0cyBib3VuZGluZyByZWN0IGlzIHRydWx5
IG5vbi1lbXB0eSAqLworICAgICNjaGlsZCB7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCg0
NWRlZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRl
c3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNm
b3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBp
ZD0iY2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90
YXRpbmcgaW50byB2aWV3LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXcuIAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50
IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldzwvdGl0bGU+Cis8
c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZ
KDkwZGVnKTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7Cisg
ICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNj
cmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25l
OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
dXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+VGV4dDwvZGl2PgorPHNjcmlwdD4K
KyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gM2Qgcm90
YXRpb24gaW50byB2aWV3LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVl
IHRvIHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIHJldmVhbGVkIGR1cmluZyB0cmFuc2l0aW9uLiAKKwpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVh
ZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGluIHRyYW5zaXRp
b248L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5z
Zm9ybTogc2NhbGUoMCk7CisgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxczsKKyAgICAg
ICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAgLyog
Y29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAj
bWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKKyAgICB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRFWFQ8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcgdHJh
bnNpdGlvbi4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtc2NhbGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXNjYWxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1
ZSB0byBzY2FsZSBjaGFuZ2U8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAg
d2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7
CisgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2
ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVz
b3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlz
IGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgewor
ICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWlu
Ij48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQg
ZmlyZXMgZHVlIHRvIHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiIpCis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorSU5WSVNJQkxFCisKK1BBU1MgRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcg
dmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgc3RpbGwgZmlyZSBmb3IgaW52aXNpYmxlIHRl
eHQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7
CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNw
IHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTog
dmlzaWJsZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIElOVklTSUJM
RQorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiIpCis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRh
bnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2Nl
bmRhbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5
LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAor
VGV4dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNl
c3RvciBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS1kZXNjZW5kYW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkt
ZGVzY2VuZGFudC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRl
c2NlbmRhbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
ZHVlIHRvIGFuY2VzdG9yIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAg
ICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0
OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAg
IH0KKworICAgICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyog
Y29udGVudGZ1bCBhbmQgaW50ZXJtZWRpYXRlIGNsYXNzZXMgYXJlIGRlZmluZWQgaW4gdGVzdF9m
Y3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI2NoaWxkIHsKKyAgICAgICAgb3Bh
Y2l0eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgI2NoaWxkIHsKKyAgICAg
ICAgb3BhY2l0eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgeworICAgICAg
ICBvcGFjaXR5OiAwOworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBv
cGFjaXR5OiAwLjU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2
IGlkPSJjaGlsZCI+VGV4dDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBw
b3NpdGl2ZSBvcGFjaXR5LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
cGFjaXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFT
UyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVs
ZW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LW9wYWNpdHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
ZHVlIHRvIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lk
dGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7Cisg
ICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNr
Z3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgb3Bh
Y2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4g
dGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFj
aXR5OiAwLjE7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3Jp
cHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIG9w
YWNpdHktcmV2ZWFsZWQgZWxlbWVudC4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBk
dWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIGR1ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1l
bnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHRyYW5z
Zm9ybS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudDwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMDBw
eCk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAg
ICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9
CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0
LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7Cisg
ICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVz
dF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1iYXNl
ZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWlu
ZyBUZXN0OiBGQ1AgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50PC90aXRsZT4KKzxz
dHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgbGVmdDogLTEwMDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9y
ZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3Mg
aXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7
CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwv
ZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBkdWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIikKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNw
bGF5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBA
CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1l
bnQgdGV4dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhl
YWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNl
dWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJU
RVhUIjsKKyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVs
IGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRl
bnRmdWw6YWZ0ZXIgeworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC1pbWFnZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVk
by1lbGVtZW50IGltYWdlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWlt
YWdlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdl
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdl
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBw
c2V1ZG8tZWxlbWVudCBpbWFnZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAg
ICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQg
aW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAg
ICAgICBjb250ZW50OiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4i
KQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4gCisKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVy
Zm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0
dGluZyBwb3NpdGl2ZSBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAg
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVu
dDogIlRFWFQiOworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRm
dWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29u
dGVudGZ1bDphZnRlciB7CisgICAgICAgIG9wYWNpdHk6IDAuNTsKKyAgICB9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0
aXZlIG9wYWNpdHkuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LXRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9D
VFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6
IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21h
aW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsK
KyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNz
IGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6
YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAiVEVYVCIKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYg
aWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4K
KzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZp
c2liaWxpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBk
dWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21p
bmcgdmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsK
KyAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwg
Y2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVu
dGZ1bDphZnRlciB7CisgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcg
dmlzaWJsZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atc3ZnLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIHdoZW4gU1ZHIGJlY29tZXMgY29udGVudGZ1bC4gCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1zdmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFp
bnQgVGltaW5nIFRlc3Q6IEZDUCB3aXRoIFNWRzwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
IGxlZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgIH0KKworICAgICNj
aXJjbGUgeworICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVs
IGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRl
bnRmdWwgI2NpcmNsZSB7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0
PgorPGRpdiBpZD0ibWFpbiI+CisgIDxzdmcgdmlld0JveD0iMCAwIDEwIDEwIiB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciCisgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hsaW5rIj4KKyAgICA8ZGVmcz4KKyAgICAgIDxjaXJjbGUgaWQ9Im15Q2lyY2xl
IiBjeD0iNSIgY3k9IjUiIHI9IjQiIHN0cm9rZT0iYmx1ZSIvPgorICAgIDwvZGVmcz4KKyAgICA8
dXNlIGlkPSJjaXJjbGUiIGhyZWY9IiNteUNpcmNsZSIgZmlsbD0iZ3JlZW4iIC8+CisgIDwvc3Zn
PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIHdoZW4gU1ZHIGJlY29tZXMgY29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+
CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVGV4dCBpbnB1dCBzaG91bGQgYmVjb21l
IGNvbnRlbnRmdWwgd2hlbiBpdHMgdmFsdWUgaXMgbm9uLWVtcHR5IAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdGV4dC1pbnB1dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlu
cHV0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIGZvciBub24tZW1w
dHkgdGV4dCBpbnB1dDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGlucHV0IGlkPSJpbnB1dCIgdHlwZT0idGV4dCIgLz4K
KzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9pbXBs
ZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0
IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVu
dGZ1bFBhaW50KHQpOworICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnaW5wdXQnKTsKKyAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgndmFsdWUnLCAnICAnKTsKKyAg
ICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCk7CisgICAgICBpbnB1dC5z
ZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ3ZhbHVlJyk7CisgICAgICBhd2FpdCBhc3NlcnRGaXJzdENv
bnRlbnRmdWxQYWludCh0KTsKKyAgfSwgJ1RleHQgaW5wdXQgc2hvdWxkIGJlY29tZSBjb250ZW50
ZnVsIHdoZW4gaXRzIHZhbHVlIGlzIG5vbi1lbXB0eScpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK0EKKworUEFTUyBGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIG9ubHkgd2hlbiBzb21lIG9mIHRoZSB0ZXh0IGlzIHZp
c2libGUsIGNvbnNpZGVyaW5nIDo6Zmlyc3QtbGV0dGVyLiAKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXR5cG9ncmFwaGljLXBzZXVkby5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBv
Z3JhcGhpYy1wc2V1ZG8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dy
YXBoaWMtcHNldWRvLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDog
RkNQIHNob3VsZCBub3QgZmlyZSB3aGVuIGFsbCB0ZXh0IGlzIGhpZGRlbiBkdWUgdG8gdHlwb2dy
YXBoaWMgcHNldWRvLWVsZW1lbnRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAg
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluICo6OmZpcnN0LWxldHRlciB7CisgICAg
ICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZp
bmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICo6OmZpcnN0
LWxldHRlciB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlk
PSJtYWluIj4KKyAgICA8ZGl2PkE8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2Zj
cCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBvbmx5IHdoZW4gc29tZSBvZiB0aGUgdGV4
dCBpcyB2aXNpYmxlLCBjb25zaWRlcmluZyA6OmZpcnN0LWxldHRlci4iKQorPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFZpZGVvIHNob3VsZCBiZWNv
bWUgY29udGVudGZ1bCB3aGVuIGZpcnN0IGZyYW1lIGlzIGxvYWRlZCAKKwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVv
LWZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVh
ZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBsb2Fk
ZWQgdmlkZW8gZnJhbWU8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIGF1dG9wbGF5Pjwvdmlk
ZW8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRf
aW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBp
c24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENv
bnRlbnRmdWxQYWludCh0KTsKKyAgICAgIC8vIFNldCBhY3R1YWwgdmlkZW8gY29udGVudCB0byB0
cmlnZ2VyIEZDUC4KKyAgICAgIGNvbnN0IHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3ZpZGVvJyk7CisgICAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3NyYycsICcvbWVkaWEvdGVzdC5t
cDQnKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICB2aWRl
by5vbmNhbnBsYXkgPSByZXNvbHZlOworICAgICAgfSk7CisgICAgICBhd2FpdCBhc3NlcnRGaXJz
dENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgJ1ZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1
bCB3aGVuIGZpcnN0IGZyYW1lIGlzIGxvYWRlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVu
dGZ1bCB3aGVuIHBvc3RlciBpcyBsb2FkZWQgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1w
b3N0ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+
UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gbG9hZGVkIHZpZGVvIHBv
c3RlcjwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
dXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHZpZGVvIGlkPSJ2aWRlbyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48
L3ZpZGVvPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGFzc2Vy
dF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5n
IGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250
ZW50ZnVsUGFpbnQodCk7CisgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndmlkZW8nKTsKKyAgICBjb25zdCBzcmMgPSAnLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nJzsK
KyAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpOworICAgIGltYWdlLnNyYyA9IHNyYzsKKyAg
ICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3Bvc3RlcicsIHNyYyk7CisgICAgYXdhaXQgbmV3IFByb21p
c2UocmVzb2x2ZSA9PiB7CisgICAgICAgIGltYWdlLm9ubG9hZCA9IGFzeW5jICgpID0+IHJlc29s
dmUoKTsKKyAgICB9KQorICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQpOwor
ICB9LCAnVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9zdGVyIGlzIGxvYWRl
ZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hp
dGVzcGFjZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3Bh
Y2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNl
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RFWFQKKworUEFT
UyBXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bC4gCisKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdo
aXRlc3BhY2UuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhl
YWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IFdoaXRlc3BhY2Ugc2hv
dWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7
CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVz
b3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDA7CisgICAg
fQorCisgICAgI3RleHQgeworICAgICAgICBkaXNwbGF5OiBub25lOworICAgIH0KKworICAgIC8q
IGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAg
I21haW4uY29udGVudGZ1bCAjdGV4dHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJ3aGl0ZXNwYWNlIj4gICA8
L2Rpdj4KKyAgICA8ZGl2IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+Cisg
ICAgdGVzdF9mY3AoIldoaXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsLiIp
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0
bC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNTIEZDUCBzaG91
bGQgZmlyZSB3aGVuIGNvb3JkaW5hdGVzIGFyZSBuZWdhdGl2ZSwgaWYgd2l0aGluIGRvY3VtZW50
IHNjcm9sbGFibGUgYXJlYSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIGR1ZSB0byBkaXJlY3Rpb24gY2hhbmdlPC90aXRsZT4KKzxzdHlsZT4KKyAg
I3RleHQgeworICAgIHJpZ2h0OiAtMTAwcHg7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICB9
CisKKyAgYm9keSB7CisgICAgZGlyZWN0aW9uOiBydGw7CisgIH0KKworICAjZHVtbXkgeworICAg
IGJhY2tncm91bmQ6IHllbGxvdzsKKyAgICB3aWR0aDogMTBweDsKKyAgICBoZWlnaHQ6IDEwcHg7
CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIGxlZnQ6IDA7CisgICAgdG9wOiAwOworICB9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0
aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9ImR1bW15Ij48L2Rpdj4KKzxkaXYgaWQ9InRleHQiPlRFWFQ8
L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2Vy
dF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5n
IGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0
Q29udGVudGZ1bFBhaW50KHQpOworICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5kaXJlY3Rpb24g
PSAnbHRyJworICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1bW15Jykuc3R5bGUuYmFj
a2dyb3VuZCA9ICdncmVlbicKKyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50
KHQpOworICB9LCAnRkNQIHNob3VsZCBmaXJlIHdoZW4gY29vcmRpbmF0ZXMgYXJlIG5lZ2F0aXZl
LCBpZiB3aXRoaW4gZG9jdW1lbnQgc2Nyb2xsYWJsZSBhcmVhJyk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy9jaXJjbGUuc3ZnCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3Zn
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSI+CisgICA8Y2lyY2xlIGN4PSIxMDAiIGN5PSI1
MCIgcj0iNDAiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgLz4K
Kzwvc3ZnPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KKzxkaXYgaWQ9ImltYWdlIj48L2Rpdj4K
KzxzY3JpcHQ+CisgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0lNRycpOwor
ICBpbWcuc3JjID0gJ2NpcmNsZXMucG5nJzsKKyAgaW1nLm9ubG9hZCA9IGZ1bmN0aW9uKCkgewor
ICAgIGZ1bmN0aW9uIHNlbmRQYWludEVudHJpZXMoKSB7CisgICAgICBjb25zdCBwYWludEVudHJp
ZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdwYWludCcpOworICAgICAgaWYgKHBh
aW50RW50cmllcy5sZW5ndGggPCAyKSB7CisgICAgICAgIHNldFRpbWVvdXQoc2VuZFBhaW50RW50
cmllcywgMjApOworICAgICAgICByZXR1cm47CisgICAgICB9CisgICAgICBsZXQgZW50cnlDb250
ZW50cyA9IHBhaW50RW50cmllcy5sZW5ndGggKyAnJzsKKyAgICAgIGZvciAobGV0IGkgPSAwOyBp
IDwgcGFpbnRFbnRyaWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gcGFp
bnRFbnRyaWVzW2ldOworICAgICAgICBlbnRyeUNvbnRlbnRzICs9ICcgJyArIGVudHJ5LmVudHJ5
VHlwZSArICcgJyAgKyBlbnRyeS5uYW1lOworICAgICAgfQorICAgICAgcGFyZW50LnBvc3RNZXNz
YWdlKGVudHJ5Q29udGVudHMsICcqJyk7CisgICAgfTsKKyAgICBzZW5kUGFpbnRFbnRyaWVzKCk7
CisgIH07CisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWFnZScpLmFwcGVuZENoaWxkKGlt
Zyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFt
ZS1zZW5kaW5nLXBhaW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNl
bmRpbmctcGFpbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2Vu
ZGluZy1wYWludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPHNjcmlwdD4KKyAgc2VsZi5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVu
Y3Rpb24oZSkgeworICAgIC8vIFNlbmQgcGFpbnQtdGltaW5nIGVudHJpZXMgdXBvbiByZWNlaXZp
bmcgYSBtZXNzYWdlLgorICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeVR5cGUoJ3BhaW50Jyk7CisgICAgbGV0IGVudHJ5Q29udGVudHMgPSBwYWludEVudHJp
ZXMubGVuZ3RoICsgJyc7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYWludEVudHJpZXMubGVu
Z3RoOyBpKyspIHsKKyAgICAgIGNvbnN0IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAgICAg
ZW50cnlDb250ZW50cyArPSAnICcgKyBlbnRyeS5lbnRyeVR5cGUgKyAnICcgICsgZW50cnkubmFt
ZTsKKyAgICB9CisgICAgcGFyZW50LnBvc3RNZXNzYWdlKGVudHJ5Q29udGVudHMsICcqJyk7Cisg
IH0pOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3V0aWxzLmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ4IEBACitmdW5jdGlvbiB3YWl0Rm9yQW5pbWF0aW9u
RnJhbWVzKGNvdW50KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBp
ZiAoY291bnQtLSA8PSAwKSB7CisgICAgICByZXNvbHZlKCk7CisgICAgfSBlbHNlIHsKKyAgICAg
IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgIHdhaXRGb3JBbmltYXRpb25G
cmFtZXMoY291bnQpLnRoZW4ocmVzb2x2ZSk7CisgICAgICB9KTsKKyAgICB9CisgIH0pOworfQor
CisvLyBBc3NlcnRzIHRoYXQgdGhlcmUgaXMgY3VycmVudGx5IG5vIEZDUCByZXBvcnRlZC4gUGFz
cyB0IHRvIGFkZCBzb21lIHdhaXQsIGluIGNhc2UgQ1NTIGlzIGxvYWRlZAorLy8gYW5kIEZDUCBp
cyBpbmNvcnJlY3RseSBmaXJlZCBhZnRlcndhcmRzLgorYXN5bmMgZnVuY3Rpb24gYXNzZXJ0Tm9G
aXJzdENvbnRlbnRmdWxQYWludCh0KSB7CisgIGF3YWl0IHdhaXRGb3JBbmltYXRpb25GcmFtZXMo
Myk7CisgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3Qt
Y29udGVudGZ1bC1wYWludCcpLmxlbmd0aCwgMCwgJ0ZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgbWFy
a2VkIHRvbyBlYXJseS4gJyk7Cit9CisKKy8vIEZ1bmN0aW9uIHRoYXQgaXMgcmVzb2x2ZWQgb25j
ZSBGQ1AgaXMgcmVwb3J0ZWQsIHVzaW5nIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuIEl0IHJlamVjdHMg
YWZ0ZXIgYSBsb25nCisvLyB3YWl0IHRpbWUgc28gdGhhdCBmYWlsaW5nIHRlc3RzIGRvbid0IHRp
bWVvdXQuCithc3luYyBmdW5jdGlvbiBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KSB7Cisg
IHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlICA9PiB7CisgICAgZnVuY3Rpb24gY2hlY2tGQ1Ao
KSB7CisgICAgICBpZiAocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVu
dGZ1bC1wYWludCcpLmxlbmd0aCA9PT0gMSkgeworICAgICAgICByZXNvbHZlKCk7CisgICAgICB9
IGVsc2UgeworICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoY2hlY2tGQ1ApCisgICAgICB9
CisgICAgfQorICAgIHQuc3RlcChjaGVja0ZDUCk7CisgIH0pOworfQorCithc3luYyBmdW5jdGlv
biB0ZXN0X2ZjcChsYWJlbCkgeworICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ3N0eWxlJyk7CisgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOworICBhd2Fp
dCBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93
LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIp
OworICAgIGNvbnN0IG1haW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbicpOworICAg
IGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBy
KSk7CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgICBtYWlu
LmNsYXNzTmFtZSA9ICdwcmVGQ1AnOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVs
UGFpbnQodCk7CisgICAgbWFpbi5jbGFzc05hbWUgPSAnY29udGVudGZ1bCc7CisgICAgYXdhaXQg
YXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQodCk7CisgIH0sIGxhYmVsKTsKK30KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9y
dC5sb2cJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMjEgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0
cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBX
ZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgor
CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoK
K05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQor
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL2NpcmNsZXMucG5nCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxz
LmpzCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcwkocmV2aXNp
b24gMjYwMDQ1KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTYzOCwzMSArNjM4
LDg3IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAgICB9KTsK
ICAgICB9CiAKLSAgICBmdW5jdGlvbiBwcm9taXNlX3JlamVjdHModGVzdCwgZXhwZWN0ZWQsIHBy
b21pc2UsIGRlc2NyaXB0aW9uKSB7Ci0gICAgICAgIHJldHVybiBwcm9taXNlLnRoZW4odGVzdC51
bnJlYWNoZWRfZnVuYygiU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6ICIgKyBkZXNjcmlwdGlvbikpLmNh
dGNoKGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3MoZXhwZWN0ZWQsIGZ1
bmN0aW9uKCkgeyB0aHJvdyBlIH0sIGRlc2NyaXB0aW9uKTsKLSAgICAgICAgfSk7CisgICAgLyoq
CisgICAgICogTWFrZSBhIGNvcHkgb2YgYSBQcm9taXNlIGluIHRoZSBjdXJyZW50IHJlYWxtLgor
ICAgICAqCisgICAgICogQHBhcmFtIHtQcm9taXNlfSBwcm9taXNlIHRoZSBnaXZlbiBwcm9taXNl
IHRoYXQgbWF5IGJlIGZyb20gYSBkaWZmZXJlbnQKKyAgICAgKiAgICAgICAgICAgICAgICAgICAg
ICAgICAgcmVhbG0KKyAgICAgKiBAcmV0dXJucyB7UHJvbWlzZX0KKyAgICAgKgorICAgICAqIEFu
IGFyYml0cmFyeSBwcm9taXNlIHByb3ZpZGVkIGJ5IHRoZSBjYWxsZXIgbWF5IGhhdmUgb3JpZ2lu
YXRlZCBpbgorICAgICAqIGFub3RoZXIgZnJhbWUgdGhhdCBoYXZlIHNpbmNlIG5hdmlnYXRlZCBh
d2F5LCByZW5kZXJpbmcgdGhlIGZyYW1lJ3MKKyAgICAgKiBkb2N1bWVudCBpbmFjdGl2ZS4gU3Vj
aCBhIHByb21pc2UgY2Fubm90IGJlIHVzZWQgd2l0aCBgYXdhaXRgIG9yCisgICAgICogUHJvbWlz
ZS5yZXNvbHZlKCksIGFzIG1pY3JvdGFza3MgYXNzb2NpYXRlZCB3aXRoIGl0IG1heSBiZSBwcmV2
ZW50ZWQKKyAgICAgKiBmcm9tIGJlaW5nIHJ1bi4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0
d2cvaHRtbC9pc3N1ZXMvNTMxOSBmb3IgYQorICAgICAqIHBhcnRpY3VsYXIgY2FzZS4KKyAgICAg
KgorICAgICAqIEluIGZ1bmN0aW9ucyB3ZSBkZWZpbmUgaGVyZSwgdGhlcmUgaXMgYW4gZXhwZWN0
YXRpb24gZnJvbSB0aGUgY2FsbGVyCisgICAgICogdGhhdCB0aGUgcHJvbWlzZSBpcyBmcm9tIHRo
ZSBjdXJyZW50IHJlYWxtLCB0aGF0IGNhbiBhbHdheXMgYmUgdXNlZCB3aXRoCisgICAgICogYGF3
YWl0YCwgZXRjLiBXZSB0aGVyZWZvcmUgY3JlYXRlIGEgbmV3IHByb21pc2UgaW4gdGhpcyByZWFs
bSB0aGF0CisgICAgICogaW5oZXJpdCB0aGUgdmFsdWUgYW5kIHN0YXR1cyBmcm9tIHRoZSBnaXZl
biBwcm9taXNlLgorICAgICAqLworCisgICAgZnVuY3Rpb24gYnJpbmdfcHJvbWlzZV90b19jdXJy
ZW50X3JlYWxtKHByb21pc2UpIHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHByb21pc2Uu
dGhlbi5iaW5kKHByb21pc2UpKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBwcm9taXNlX3JlamVj
dHNfanModGVzdCwgY29uc3RydWN0b3IsIHByb21pc2UsIGRlc2NyaXB0aW9uKSB7CisgICAgICAg
IHJldHVybiBicmluZ19wcm9taXNlX3RvX2N1cnJlbnRfcmVhbG0ocHJvbWlzZSkKKyAgICAgICAg
ICAgIC50aGVuKHRlc3QudW5yZWFjaGVkX2Z1bmMoIlNob3VsZCBoYXZlIHJlamVjdGVkOiAiICsg
ZGVzY3JpcHRpb24pKQorICAgICAgICAgICAgLmNhdGNoKGZ1bmN0aW9uKGUpIHsKKyAgICAgICAg
ICAgICAgICBhc3NlcnRfdGhyb3dzX2pzX2ltcGwoY29uc3RydWN0b3IsIGZ1bmN0aW9uKCkgeyB0
aHJvdyBlIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0
aW9uLCAicHJvbWlzZV9yZWplY3RzX2pzIik7CisgICAgICAgICAgICB9KTsKICAgICB9CiAKLSAg
ICBmdW5jdGlvbiBwcm9taXNlX3JlamVjdHNfanModGVzdCwgZXhwZWN0ZWQsIHByb21pc2UsIGRl
c2NyaXB0aW9uKSB7Ci0gICAgICAgIHJldHVybiBwcm9taXNlLnRoZW4odGVzdC51bnJlYWNoZWRf
ZnVuYygiU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6ICIgKyBkZXNjcmlwdGlvbikpLmNhdGNoKGZ1bmN0
aW9uKGUpIHsKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3NfanNfaW1wbChleHBlY3RlZCwgZnVu
Y3Rpb24oKSB7IHRocm93IGUgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
ZXNjcmlwdGlvbiwgInByb21pc2VfcmVqZWN0X2pzIik7Ci0gICAgICAgIH0pOwotICAgIH0KKyAg
ICAvKioKKyAgICAgKiBBc3NlcnQgdGhhdCBhIFByb21pc2UgaXMgcmVqZWN0ZWQgd2l0aCB0aGUg
cmlnaHQgRE9NRXhjZXB0aW9uLgorICAgICAqCisgICAgICogQHBhcmFtIHRlc3QgdGhlIHRlc3Qg
YXJndW1lbnQgcGFzc2VkIHRvIHByb21pc2VfdGVzdAorICAgICAqIEBwYXJhbSB7bnVtYmVyfHN0
cmluZ30gdHlwZS4gIFNlZSBkb2N1bWVudGF0aW9uIGZvciBhc3NlcnRfdGhyb3dzX2RvbS4KKyAg
ICAgKgorICAgICAqIEZvciB0aGUgcmVtYWluaW5nIGFyZ3VtZW50cywgdGhlcmUgYXJlIHR3byB3
YXlzIG9mIGNhbGxpbmcKKyAgICAgKiBwcm9taXNlX3JlamVjdHNfZG9tOgorICAgICAqCisgICAg
ICogMSkgSWYgdGhlIERPTUV4Y2VwdGlvbiBpcyBleHBlY3RlZCB0byBjb21lIGZyb20gdGhlIGN1
cnJlbnQgZ2xvYmFsLCB0aGUKKyAgICAgKiB0aGlyZCBhcmd1bWVudCBzaG91bGQgYmUgdGhlIHBy
b21pc2UgZXhwZWN0ZWQgdG8gcmVqZWN0LCBhbmQgYSBmb3VydGgsCisgICAgICogb3B0aW9uYWws
IGFyZ3VtZW50IGlzIHRoZSBhc3NlcnRpb24gZGVzY3JpcHRpb24uCisgICAgICoKKyAgICAgKiAy
KSBJZiB0aGUgRE9NRXhjZXB0aW9uIGlzIGV4cGVjdGVkIHRvIGNvbWUgZnJvbSBzb21lIG90aGVy
IGdsb2JhbCwgdGhlCisgICAgICogdGhpcmQgYXJndW1lbnQgc2hvdWxkIGJlIHRoZSBET01FeGNl
cHRpb24gY29uc3RydWN0b3IgZnJvbSB0aGF0IGdsb2JhbCwKKyAgICAgKiB0aGUgZm91cnRoIGFy
Z3VtZW50IHRoZSBwcm9taXNlIGV4cGVjdGVkIHRvIHJlamVjdCwgYW5kIHRoZSBmaWZ0aCwKKyAg
ICAgKiBvcHRpb25hbCwgYXJndW1lbnQgdGhlIGFzc2VydGlvbiBkZXNjcmlwdGlvbi4KKyAgICAg
Ki8KIAotICAgIGZ1bmN0aW9uIHByb21pc2VfcmVqZWN0c19kb20odGVzdCwgZXhwZWN0ZWQsIHBy
b21pc2UsIGRlc2NyaXB0aW9uKSB7Ci0gICAgICAgIHJldHVybiBwcm9taXNlLnRoZW4odGVzdC51
bnJlYWNoZWRfZnVuYygiU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6ICIgKyBkZXNjcmlwdGlvbikpLmNh
dGNoKGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tX2ltcGwoZXhw
ZWN0ZWQsIGZ1bmN0aW9uKCkgeyB0aHJvdyBlIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRlc2NyaXB0aW9uLCAicHJvbWlzZV9yZWplY3RzX2RvbSIpOwotICAgICAgICB9
KTsKKyAgICBmdW5jdGlvbiBwcm9taXNlX3JlamVjdHNfZG9tKHRlc3QsIHR5cGUsIHByb21pc2VP
ckNvbnN0cnVjdG9yLCBkZXNjcmlwdGlvbk9yUHJvbWlzZSwgbWF5YmVEZXNjcmlwdGlvbikgewor
ICAgICAgICBsZXQgY29uc3RydWN0b3IsIHByb21pc2UsIGRlc2NyaXB0aW9uOworICAgICAgICBp
ZiAodHlwZW9mIHByb21pc2VPckNvbnN0cnVjdG9yID09PSAiZnVuY3Rpb24iICYmCisgICAgICAg
ICAgICBwcm9taXNlT3JDb25zdHJ1Y3Rvci5uYW1lID09PSAiRE9NRXhjZXB0aW9uIikgeworICAg
ICAgICAgICAgY29uc3RydWN0b3IgPSBwcm9taXNlT3JDb25zdHJ1Y3RvcjsKKyAgICAgICAgICAg
IHByb21pc2UgPSBkZXNjcmlwdGlvbk9yUHJvbWlzZTsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
ID0gbWF5YmVEZXNjcmlwdGlvbjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGNvbnN0
cnVjdG9yID0gc2VsZi5ET01FeGNlcHRpb247CisgICAgICAgICAgICBwcm9taXNlID0gcHJvbWlz
ZU9yQ29uc3RydWN0b3I7CisgICAgICAgICAgICBkZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uT3JQ
cm9taXNlOworICAgICAgICAgICAgYXNzZXJ0KG1heWJlRGVzY3JpcHRpb24gPT09IHVuZGVmaW5l
ZCwKKyAgICAgICAgICAgICAgICAgICAiVG9vIG1hbnkgYXJncyBwYXNlZCB0byBuby1jb25zdHJ1
Y3RvciB2ZXJzaW9uIG9mIHByb21pc2VfcmVqZWN0c19kb20iKTsKKyAgICAgICAgfQorICAgICAg
ICByZXR1cm4gYnJpbmdfcHJvbWlzZV90b19jdXJyZW50X3JlYWxtKHByb21pc2UpCisgICAgICAg
ICAgICAudGhlbih0ZXN0LnVucmVhY2hlZF9mdW5jKCJTaG91bGQgaGF2ZSByZWplY3RlZDogIiAr
IGRlc2NyaXB0aW9uKSkKKyAgICAgICAgICAgIC5jYXRjaChmdW5jdGlvbihlKSB7CisgICAgICAg
ICAgICAgICAgYXNzZXJ0X3Rocm93c19kb21faW1wbCh0eXBlLCBmdW5jdGlvbigpIHsgdGhyb3cg
ZSB9LCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJwcm9taXNlX3JlamVjdHNfZG9tIiwgY29uc3RydWN0b3IpOworICAgICAgICAgICAgfSk7CiAg
ICAgfQogCi0gICAgZnVuY3Rpb24gcHJvbWlzZV9yZWplY3RzX2V4YWN0bHkodGVzdCwgZXhwZWN0
ZWQsIHByb21pc2UsIGRlc2NyaXB0aW9uKSB7Ci0gICAgICAgIHJldHVybiBwcm9taXNlLnRoZW4o
dGVzdC51bnJlYWNoZWRfZnVuYygiU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6ICIgKyBkZXNjcmlwdGlv
bikpLmNhdGNoKGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZXhhY3Rs
eV9pbXBsKGV4cGVjdGVkLCBmdW5jdGlvbigpIHsgdGhyb3cgZSB9LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24sICJwcm9taXNlX3JlamVjdHNfZXhh
Y3RseSIpOwotICAgICAgICB9KTsKKyAgICBmdW5jdGlvbiBwcm9taXNlX3JlamVjdHNfZXhhY3Rs
eSh0ZXN0LCBleGNlcHRpb24sIHByb21pc2UsIGRlc2NyaXB0aW9uKSB7CisgICAgICAgIHJldHVy
biBicmluZ19wcm9taXNlX3RvX2N1cnJlbnRfcmVhbG0ocHJvbWlzZSkKKyAgICAgICAgICAgIC50
aGVuKHRlc3QudW5yZWFjaGVkX2Z1bmMoIlNob3VsZCBoYXZlIHJlamVjdGVkOiAiICsgZGVzY3Jp
cHRpb24pKQorICAgICAgICAgICAgLmNhdGNoKGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgICAg
ICBhc3NlcnRfdGhyb3dzX2V4YWN0bHlfaW1wbChleGNlcHRpb24sIGZ1bmN0aW9uKCkgeyB0aHJv
dyBlIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3Jp
cHRpb24sICJwcm9taXNlX3JlamVjdHNfZXhhY3RseSIpOworICAgICAgICAgICAgfSk7CiAgICAg
fQogCiAgICAgLyoqCkBAIC04OTgsNyArOTU0LDYgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlv
biBmb3JtcyBbM10uCiAgICAgZXhwb3NlKHRlc3QsICd0ZXN0Jyk7CiAgICAgZXhwb3NlKGFzeW5j
X3Rlc3QsICdhc3luY190ZXN0Jyk7CiAgICAgZXhwb3NlKHByb21pc2VfdGVzdCwgJ3Byb21pc2Vf
dGVzdCcpOwotICAgIGV4cG9zZShwcm9taXNlX3JlamVjdHMsICdwcm9taXNlX3JlamVjdHMnKTsK
ICAgICBleHBvc2UocHJvbWlzZV9yZWplY3RzX2pzLCAncHJvbWlzZV9yZWplY3RzX2pzJyk7CiAg
ICAgZXhwb3NlKHByb21pc2VfcmVqZWN0c19kb20sICdwcm9taXNlX3JlamVjdHNfZG9tJyk7CiAg
ICAgZXhwb3NlKHByb21pc2VfcmVqZWN0c19leGFjdGx5LCAncHJvbWlzZV9yZWplY3RzX2V4YWN0
bHknKTsKQEAgLTEwMDYsMTIgKzEwNjEsMjAgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBm
b3JtcyBbM10uCiAgICAgICAgICAgICBzZWVuLnB1c2godmFsKTsKICAgICAgICAgfQogICAgICAg
ICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7Ci0gICAgICAgICAgICByZXR1cm4gIlsiICsgdmFs
Lm1hcChmdW5jdGlvbih4KSB7cmV0dXJuIGZvcm1hdF92YWx1ZSh4LCBzZWVuKTt9KS5qb2luKCIs
ICIpICsgIl0iOworICAgICAgICAgICAgbGV0IG91dHB1dCA9ICJbIjsKKyAgICAgICAgICAgIGlm
ICh2YWwuYmVnaW5FbGxpcHNpcyAhPT0gdW5kZWZpbmVkKSB7CisgICAgICAgICAgICAgICAgb3V0
cHV0ICs9ICLigKYsICI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBvdXRwdXQgKz0gdmFs
Lm1hcChmdW5jdGlvbih4KSB7cmV0dXJuIGZvcm1hdF92YWx1ZSh4LCBzZWVuKTt9KS5qb2luKCIs
ICIpOworICAgICAgICAgICAgaWYgKHZhbC5lbmRFbGxpcHNpcyAhPT0gdW5kZWZpbmVkKSB7Cisg
ICAgICAgICAgICAgICAgb3V0cHV0ICs9ICIsIOKApiI7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICByZXR1cm4gb3V0cHV0ICsgIl0iOwogICAgICAgICB9CiAKICAgICAgICAgc3dpdGNoICh0
eXBlb2YgdmFsKSB7CiAgICAgICAgIGNhc2UgInN0cmluZyI6Ci0gICAgICAgICAgICB2YWwgPSB2
YWwucmVwbGFjZSgiXFwiLCAiXFxcXCIpOworICAgICAgICAgICAgdmFsID0gdmFsLnJlcGxhY2Uo
L1xcL2csICJcXFxcIik7CiAgICAgICAgICAgICBmb3IgKHZhciBwIGluIHJlcGxhY2VtZW50cykg
ewogICAgICAgICAgICAgICAgIHZhciByZXBsYWNlID0gIlxcIiArIHJlcGxhY2VtZW50c1twXTsK
ICAgICAgICAgICAgICAgICB2YWwgPSB2YWwucmVwbGFjZShSZWdFeHAoU3RyaW5nLmZyb21DaGFy
Q29kZShwKSwgImciKSwgcmVwbGFjZSk7CkBAIC0xMTc4LDI1ICsxMjQxLDU3IEBAIHBvbGljaWVz
IGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogCiAgICAgZnVuY3Rpb24gYXNzZXJ0X2FycmF5
X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbikKICAgICB7CisgICAgICAgIGNv
bnN0IG1heF9hcnJheV9sZW5ndGggPSAyMDsKKyAgICAgICAgZnVuY3Rpb24gc2hvcnRlbl9hcnJh
eShhcnIsIG9mZnNldCA9IDApIHsKKyAgICAgICAgICAgIC8vIE1ha2UgIiwg4oCmIiBvbmx5IHNo
b3cgdXAgd2hlbiBpdCB3b3VsZCBsaWtlbHkgcmVkdWNlIHRoZSBsZW5ndGgsIG5vdCBhY2NvdW50
aW5nIGZvcgorICAgICAgICAgICAgLy8gZm9udHMuCisgICAgICAgICAgICBpZiAoYXJyLmxlbmd0
aCA8IG1heF9hcnJheV9sZW5ndGggKyAyKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGFycjsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8vIEJ5IGRlZmF1bHQgd2Ugd2FudCBoYWxmIHRo
ZSBlbGVtZW50cyBhZnRlciB0aGUgb2Zmc2V0IGFuZCBoYWxmIGJlZm9yZQorICAgICAgICAgICAg
Ly8gQnV0IGlmIHRoYXQgdGFrZXMgdXMgcGFzdCB0aGUgZW5kIG9mIHRoZSBhcnJheSwgd2UgaGF2
ZSBtb3JlIGJlZm9yZSwgYW5kCisgICAgICAgICAgICAvLyBpZiBpdCB0YWtlcyB1cyBiZWZvcmUg
dGhlIHN0YXJ0IHdlIGhhdmUgbW9yZSBhZnRlci4KKyAgICAgICAgICAgIGNvbnN0IGxlbmd0aF9h
ZnRlcl9vZmZzZXQgPSBNYXRoLmZsb29yKG1heF9hcnJheV9sZW5ndGggLyAyKTsKKyAgICAgICAg
ICAgIGxldCB1cHBlcl9ib3VuZCA9IE1hdGgubWluKGxlbmd0aF9hZnRlcl9vZmZzZXQgKyBvZmZz
ZXQsIGFyci5sZW5ndGgpOworICAgICAgICAgICAgY29uc3QgbG93ZXJfYm91bmQgPSBNYXRoLm1h
eCh1cHBlcl9ib3VuZCAtIG1heF9hcnJheV9sZW5ndGgsIDApOworCisgICAgICAgICAgICBpZiAo
bG93ZXJfYm91bmQgPT09IDApIHsKKyAgICAgICAgICAgICAgICB1cHBlcl9ib3VuZCA9IG1heF9h
cnJheV9sZW5ndGg7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGNvbnN0IG91dHB1dCA9
IGFyci5zbGljZShsb3dlcl9ib3VuZCwgdXBwZXJfYm91bmQpOworICAgICAgICAgICAgaWYgKGxv
d2VyX2JvdW5kID4gMCkgeworICAgICAgICAgICAgICAgIG91dHB1dC5iZWdpbkVsbGlwc2lzID0g
dHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICh1cHBlcl9ib3VuZCA8IGFyci5s
ZW5ndGgpIHsKKyAgICAgICAgICAgICAgICBvdXRwdXQuZW5kRWxsaXBzaXMgPSB0cnVlOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIG91dHB1dDsKKyAgICAgICAgfQorCiAgICAg
ICAgIGFzc2VydCh0eXBlb2YgYWN0dWFsID09PSAib2JqZWN0IiAmJiBhY3R1YWwgIT09IG51bGwg
JiYgImxlbmd0aCIgaW4gYWN0dWFsLAogICAgICAgICAgICAgICAgImFzc2VydF9hcnJheV9lcXVh
bHMiLCBkZXNjcmlwdGlvbiwKICAgICAgICAgICAgICAgICJ2YWx1ZSBpcyAke2FjdHVhbH0sIGV4
cGVjdGVkIGFycmF5IiwKICAgICAgICAgICAgICAgIHthY3R1YWw6YWN0dWFsfSk7CiAgICAgICAg
IGFzc2VydChhY3R1YWwubGVuZ3RoID09PSBleHBlY3RlZC5sZW5ndGgsCiAgICAgICAgICAgICAg
ICAiYXNzZXJ0X2FycmF5X2VxdWFscyIsIGRlc2NyaXB0aW9uLAotICAgICAgICAgICAgICAgImxl
bmd0aHMgZGlmZmVyLCBleHBlY3RlZCAke2V4cGVjdGVkfSBnb3QgJHthY3R1YWx9IiwKLSAgICAg
ICAgICAgICAgIHtleHBlY3RlZDpleHBlY3RlZC5sZW5ndGgsIGFjdHVhbDphY3R1YWwubGVuZ3Ro
fSk7CisgICAgICAgICAgICAgICAibGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIGFycmF5ICR7ZXhw
ZWN0ZWR9IGxlbmd0aCAke2V4cGVjdGVkTGVuZ3RofSwgZ290ICR7YWN0dWFsfSBsZW5ndGggJHth
Y3R1YWxMZW5ndGh9IiwKKyAgICAgICAgICAgICAgIHtleHBlY3RlZDpzaG9ydGVuX2FycmF5KGV4
cGVjdGVkLCBleHBlY3RlZC5sZW5ndGggLSAxKSwgZXhwZWN0ZWRMZW5ndGg6ZXhwZWN0ZWQubGVu
Z3RoLAorICAgICAgICAgICAgICAgIGFjdHVhbDpzaG9ydGVuX2FycmF5KGFjdHVhbCwgYWN0dWFs
Lmxlbmd0aCAtIDEpLCBhY3R1YWxMZW5ndGg6YWN0dWFsLmxlbmd0aAorICAgICAgICAgICAgICAg
fSk7CiAKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhY3R1YWwubGVuZ3RoOyBpKyspIHsK
ICAgICAgICAgICAgIGFzc2VydChhY3R1YWwuaGFzT3duUHJvcGVydHkoaSkgPT09IGV4cGVjdGVk
Lmhhc093blByb3BlcnR5KGkpLAogICAgICAgICAgICAgICAgICAgICJhc3NlcnRfYXJyYXlfZXF1
YWxzIiwgZGVzY3JpcHRpb24sCi0gICAgICAgICAgICAgICAgICAgInByb3BlcnR5ICR7aX0sIHBy
b3BlcnR5IGV4cGVjdGVkIHRvIGJlICR7ZXhwZWN0ZWR9IGJ1dCB3YXMgJHthY3R1YWx9IiwKKyAg
ICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQgcHJvcGVydHkgJHtpfSB0byBiZSAke2V4cGVjdGVk
fSBidXQgd2FzICR7YWN0dWFsfSAoZXhwZWN0ZWQgYXJyYXkgJHthcnJheUV4cGVjdGVkfSBnb3Qg
JHthcnJheUFjdHVhbH0pIiwKICAgICAgICAgICAgICAgICAgICB7aTppLCBleHBlY3RlZDpleHBl
Y3RlZC5oYXNPd25Qcm9wZXJ0eShpKSA/ICJwcmVzZW50IiA6ICJtaXNzaW5nIiwKLSAgICAgICAg
ICAgICAgICAgICBhY3R1YWw6YWN0dWFsLmhhc093blByb3BlcnR5KGkpID8gInByZXNlbnQiIDog
Im1pc3NpbmcifSk7CisgICAgICAgICAgICAgICAgICAgIGFjdHVhbDphY3R1YWwuaGFzT3duUHJv
cGVydHkoaSkgPyAicHJlc2VudCIgOiAibWlzc2luZyIsCisgICAgICAgICAgICAgICAgICAgIGFy
cmF5RXhwZWN0ZWQ6c2hvcnRlbl9hcnJheShleHBlY3RlZCwgaSksIGFycmF5QWN0dWFsOnNob3J0
ZW5fYXJyYXkoYWN0dWFsLCBpKX0pOwogICAgICAgICAgICAgYXNzZXJ0KHNhbWVfdmFsdWUoZXhw
ZWN0ZWRbaV0sIGFjdHVhbFtpXSksCiAgICAgICAgICAgICAgICAgICAgImFzc2VydF9hcnJheV9l
cXVhbHMiLCBkZXNjcmlwdGlvbiwKLSAgICAgICAgICAgICAgICAgICAicHJvcGVydHkgJHtpfSwg
ZXhwZWN0ZWQgJHtleHBlY3RlZH0gYnV0IGdvdCAke2FjdHVhbH0iLAotICAgICAgICAgICAgICAg
ICAgIHtpOmksIGV4cGVjdGVkOmV4cGVjdGVkW2ldLCBhY3R1YWw6YWN0dWFsW2ldfSk7CisgICAg
ICAgICAgICAgICAgICAgImV4cGVjdGVkIHByb3BlcnR5ICR7aX0gdG8gYmUgJHtleHBlY3RlZH0g
YnV0IGdvdCAke2FjdHVhbH0gKGV4cGVjdGVkIGFycmF5ICR7YXJyYXlFeHBlY3RlZH0gZ290ICR7
YXJyYXlBY3R1YWx9KSIsCisgICAgICAgICAgICAgICAgICAge2k6aSwgZXhwZWN0ZWQ6ZXhwZWN0
ZWRbaV0sIGFjdHVhbDphY3R1YWxbaV0sCisgICAgICAgICAgICAgICAgICAgIGFycmF5RXhwZWN0
ZWQ6c2hvcnRlbl9hcnJheShleHBlY3RlZCwgaSksIGFycmF5QWN0dWFsOnNob3J0ZW5fYXJyYXko
YWN0dWFsLCBpKX0pOwogICAgICAgICB9CiAgICAgfQogICAgIGV4cG9zZShhc3NlcnRfYXJyYXlf
ZXF1YWxzLCAiYXNzZXJ0X2FycmF5X2VxdWFscyIpOwpAQCAtMTIxNiw3ICsxMzExLDcgQEAgcG9s
aWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICAgICAgICAgICAgICAgImFz
c2VydF9hcnJheV9hcHByb3hfZXF1YWxzIiwgZGVzY3JpcHRpb24sCiAgICAgICAgICAgICAgICAg
ICAgInByb3BlcnR5ICR7aX0sIHByb3BlcnR5IGV4cGVjdGVkIHRvIGJlICR7ZXhwZWN0ZWR9IGJ1
dCB3YXMgJHthY3R1YWx9IiwKICAgICAgICAgICAgICAgICAgICB7aTppLCBleHBlY3RlZDpleHBl
Y3RlZC5oYXNPd25Qcm9wZXJ0eShpKSA/ICJwcmVzZW50IiA6ICJtaXNzaW5nIiwKLSAgICAgICAg
ICAgICAgICAgICBhY3R1YWw6YWN0dWFsLmhhc093blByb3BlcnR5KGkpID8gInByZXNlbnQiIDog
Im1pc3NpbmcifSk7CisgICAgICAgICAgICAgICAgICAgIGFjdHVhbDphY3R1YWwuaGFzT3duUHJv
cGVydHkoaSkgPyAicHJlc2VudCIgOiAibWlzc2luZyJ9KTsKICAgICAgICAgICAgIGFzc2VydCh0
eXBlb2YgYWN0dWFsW2ldID09PSAibnVtYmVyIiwKICAgICAgICAgICAgICAgICAgICAiYXNzZXJ0
X2FycmF5X2FwcHJveF9lcXVhbHMiLCBkZXNjcmlwdGlvbiwKICAgICAgICAgICAgICAgICAgICAi
cHJvcGVydHkgJHtpfSwgZXhwZWN0ZWQgYSBudW1iZXIgYnV0IGdvdCBhICR7dHlwZV9hY3R1YWx9
IiwKQEAgLTEzODgsNyArMTQ4Myw5IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMg
WzNdLgogICAgIGZ1bmN0aW9uIF9hc3NlcnRfaW5oZXJpdHMobmFtZSkgewogICAgICAgICByZXR1
cm4gZnVuY3Rpb24gKG9iamVjdCwgcHJvcGVydHlfbmFtZSwgZGVzY3JpcHRpb24pCiAgICAgICAg
IHsKLSAgICAgICAgICAgIGFzc2VydCh0eXBlb2Ygb2JqZWN0ID09PSAib2JqZWN0IiB8fCB0eXBl
b2Ygb2JqZWN0ID09PSAiZnVuY3Rpb24iLAorICAgICAgICAgICAgYXNzZXJ0KHR5cGVvZiBvYmpl
Y3QgPT09ICJvYmplY3QiIHx8IHR5cGVvZiBvYmplY3QgPT09ICJmdW5jdGlvbiIgfHwKKyAgICAg
ICAgICAgICAgICAgICAvLyBPciBoYXMgW1tJc0hUTUxEREFdXSBzbG90CisgICAgICAgICAgICAg
ICAgICAgU3RyaW5nKG9iamVjdCkgPT09ICJbb2JqZWN0IEhUTUxBbGxDb2xsZWN0aW9uXSIsCiAg
ICAgICAgICAgICAgICAgICAgbmFtZSwgZGVzY3JpcHRpb24sCiAgICAgICAgICAgICAgICAgICAg
InByb3ZpZGVkIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QiKTsKIApAQCAtMTQyOCwxNTYgKzE1MjUs
NiBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICBleHBvc2UoYXNz
ZXJ0X3JlYWRvbmx5LCAiYXNzZXJ0X3JlYWRvbmx5Iik7CiAKICAgICAvKioKLSAgICAgKiBBc3Nl
cnQgYW4gRXhjZXB0aW9uIHdpdGggdGhlIGV4cGVjdGVkIGNvZGUgaXMgdGhyb3duLgotICAgICAq
Ci0gICAgICogQHBhcmFtIHtvYmplY3R8bnVtYmVyfHN0cmluZ30gY29kZSBUaGUgZXhwZWN0ZWQg
ZXhjZXB0aW9uIGNvZGUuCi0gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBGdW5jdGlvbiB3
aGljaCBzaG91bGQgdGhyb3cuCi0gICAgICogQHBhcmFtIHtzdHJpbmd9IGRlc2NyaXB0aW9uIEVy
cm9yIGRlc2NyaXB0aW9uIGZvciB0aGUgY2FzZSB0aGF0IHRoZSBlcnJvciBpcyBub3QgdGhyb3du
LgotICAgICAqLwotICAgIGZ1bmN0aW9uIGFzc2VydF90aHJvd3MoY29kZSwgZnVuYywgZGVzY3Jp
cHRpb24pCi0gICAgewotICAgICAgICB0cnkgewotICAgICAgICAgICAgZnVuYy5jYWxsKHRoaXMp
OwotICAgICAgICAgICAgYXNzZXJ0KGZhbHNlLCAiYXNzZXJ0X3Rocm93cyIsIGRlc2NyaXB0aW9u
LAotICAgICAgICAgICAgICAgICAgICIke2Z1bmN9IGRpZCBub3QgdGhyb3ciLCB7ZnVuYzpmdW5j
fSk7Ci0gICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgIGlmIChlIGluc3RhbmNlb2Yg
QXNzZXJ0aW9uRXJyb3IpIHsKLSAgICAgICAgICAgICAgICB0aHJvdyBlOwotICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICBhc3NlcnQodHlwZW9mIGUgPT09ICJvYmplY3QiLAotICAgICAgICAg
ICAgICAgICAgICJhc3NlcnRfdGhyb3dzIiwgZGVzY3JpcHRpb24sCi0gICAgICAgICAgICAgICAg
ICAgIiR7ZnVuY30gdGhyZXcgJHtlfSB3aXRoIHR5cGUgJHt0eXBlfSwgbm90IGFuIG9iamVjdCIs
Ci0gICAgICAgICAgICAgICAgICAge2Z1bmM6ZnVuYywgZTplLCB0eXBlOnR5cGVvZiBlfSk7Ci0K
LSAgICAgICAgICAgIGFzc2VydChlICE9PSBudWxsLAotICAgICAgICAgICAgICAgICAgICJhc3Nl
cnRfdGhyb3dzIiwgZGVzY3JpcHRpb24sCi0gICAgICAgICAgICAgICAgICAgIiR7ZnVuY30gdGhy
ZXcgbnVsbCwgbm90IGFuIG9iamVjdCIsCi0gICAgICAgICAgICAgICAgICAge2Z1bmM6ZnVuY30p
OwotCi0gICAgICAgICAgICBpZiAoY29kZSA9PT0gbnVsbCkgewotICAgICAgICAgICAgICAgIHRo
cm93IG5ldyBBc3NlcnRpb25FcnJvcignVGVzdCBidWc6IG5lZWQgdG8gcGFzcyBleGNlcHRpb24g
dG8gYXNzZXJ0X3Rocm93cygpJyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAodHlw
ZW9mIGNvZGUgPT09ICJvYmplY3QiKSB7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KCJuYW1lIiBp
biBlICYmIGUubmFtZSA9PSBjb2RlLm5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICJhc3Nl
cnRfdGhyb3dzIiwgZGVzY3JpcHRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICIke2Z1bmN9
IHRocmV3ICR7YWN0dWFsfSAoJHthY3R1YWxfbmFtZX0pIGV4cGVjdGVkICR7ZXhwZWN0ZWR9ICgk
e2V4cGVjdGVkX25hbWV9KSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7
ZnVuYzpmdW5jLCBhY3R1YWw6ZSwgYWN0dWFsX25hbWU6ZS5uYW1lLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkOmNvZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfbmFtZTpjb2RlLm5hbWV9KTsKLSAgICAgICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHZhciBjb2RlX25hbWVf
bWFwID0gewotICAgICAgICAgICAgICAgIElOREVYX1NJWkVfRVJSOiAnSW5kZXhTaXplRXJyb3In
LAotICAgICAgICAgICAgICAgIEhJRVJBUkNIWV9SRVFVRVNUX0VSUjogJ0hpZXJhcmNoeVJlcXVl
c3RFcnJvcicsCi0gICAgICAgICAgICAgICAgV1JPTkdfRE9DVU1FTlRfRVJSOiAnV3JvbmdEb2N1
bWVudEVycm9yJywKLSAgICAgICAgICAgICAgICBJTlZBTElEX0NIQVJBQ1RFUl9FUlI6ICdJbnZh
bGlkQ2hhcmFjdGVyRXJyb3InLAotICAgICAgICAgICAgICAgIE5PX01PRElGSUNBVElPTl9BTExP
V0VEX0VSUjogJ05vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yJywKLSAgICAgICAgICAgICAgICBO
T1RfRk9VTkRfRVJSOiAnTm90Rm91bmRFcnJvcicsCi0gICAgICAgICAgICAgICAgTk9UX1NVUFBP
UlRFRF9FUlI6ICdOb3RTdXBwb3J0ZWRFcnJvcicsCi0gICAgICAgICAgICAgICAgSU5VU0VfQVRU
UklCVVRFX0VSUjogJ0luVXNlQXR0cmlidXRlRXJyb3InLAotICAgICAgICAgICAgICAgIElOVkFM
SURfU1RBVEVfRVJSOiAnSW52YWxpZFN0YXRlRXJyb3InLAotICAgICAgICAgICAgICAgIFNZTlRB
WF9FUlI6ICdTeW50YXhFcnJvcicsCi0gICAgICAgICAgICAgICAgSU5WQUxJRF9NT0RJRklDQVRJ
T05fRVJSOiAnSW52YWxpZE1vZGlmaWNhdGlvbkVycm9yJywKLSAgICAgICAgICAgICAgICBOQU1F
U1BBQ0VfRVJSOiAnTmFtZXNwYWNlRXJyb3InLAotICAgICAgICAgICAgICAgIElOVkFMSURfQUND
RVNTX0VSUjogJ0ludmFsaWRBY2Nlc3NFcnJvcicsCi0gICAgICAgICAgICAgICAgVFlQRV9NSVNN
QVRDSF9FUlI6ICdUeXBlTWlzbWF0Y2hFcnJvcicsCi0gICAgICAgICAgICAgICAgU0VDVVJJVFlf
RVJSOiAnU2VjdXJpdHlFcnJvcicsCi0gICAgICAgICAgICAgICAgTkVUV09SS19FUlI6ICdOZXR3
b3JrRXJyb3InLAotICAgICAgICAgICAgICAgIEFCT1JUX0VSUjogJ0Fib3J0RXJyb3InLAotICAg
ICAgICAgICAgICAgIFVSTF9NSVNNQVRDSF9FUlI6ICdVUkxNaXNtYXRjaEVycm9yJywKLSAgICAg
ICAgICAgICAgICBRVU9UQV9FWENFRURFRF9FUlI6ICdRdW90YUV4Y2VlZGVkRXJyb3InLAotICAg
ICAgICAgICAgICAgIFRJTUVPVVRfRVJSOiAnVGltZW91dEVycm9yJywKLSAgICAgICAgICAgICAg
ICBJTlZBTElEX05PREVfVFlQRV9FUlI6ICdJbnZhbGlkTm9kZVR5cGVFcnJvcicsCi0gICAgICAg
ICAgICAgICAgREFUQV9DTE9ORV9FUlI6ICdEYXRhQ2xvbmVFcnJvcicKLSAgICAgICAgICAgIH07
Ci0KLSAgICAgICAgICAgIHZhciBuYW1lID0gY29kZSBpbiBjb2RlX25hbWVfbWFwID8gY29kZV9u
YW1lX21hcFtjb2RlXSA6IGNvZGU7Ci0KLSAgICAgICAgICAgIHZhciBuYW1lX2NvZGVfbWFwID0g
ewotICAgICAgICAgICAgICAgIEluZGV4U2l6ZUVycm9yOiAxLAotICAgICAgICAgICAgICAgIEhp
ZXJhcmNoeVJlcXVlc3RFcnJvcjogMywKLSAgICAgICAgICAgICAgICBXcm9uZ0RvY3VtZW50RXJy
b3I6IDQsCi0gICAgICAgICAgICAgICAgSW52YWxpZENoYXJhY3RlckVycm9yOiA1LAotICAgICAg
ICAgICAgICAgIE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yOiA3LAotICAgICAgICAgICAgICAg
IE5vdEZvdW5kRXJyb3I6IDgsCi0gICAgICAgICAgICAgICAgTm90U3VwcG9ydGVkRXJyb3I6IDks
Ci0gICAgICAgICAgICAgICAgSW5Vc2VBdHRyaWJ1dGVFcnJvcjogMTAsCi0gICAgICAgICAgICAg
ICAgSW52YWxpZFN0YXRlRXJyb3I6IDExLAotICAgICAgICAgICAgICAgIFN5bnRheEVycm9yOiAx
MiwKLSAgICAgICAgICAgICAgICBJbnZhbGlkTW9kaWZpY2F0aW9uRXJyb3I6IDEzLAotICAgICAg
ICAgICAgICAgIE5hbWVzcGFjZUVycm9yOiAxNCwKLSAgICAgICAgICAgICAgICBJbnZhbGlkQWNj
ZXNzRXJyb3I6IDE1LAotICAgICAgICAgICAgICAgIFR5cGVNaXNtYXRjaEVycm9yOiAxNywKLSAg
ICAgICAgICAgICAgICBTZWN1cml0eUVycm9yOiAxOCwKLSAgICAgICAgICAgICAgICBOZXR3b3Jr
RXJyb3I6IDE5LAotICAgICAgICAgICAgICAgIEFib3J0RXJyb3I6IDIwLAotICAgICAgICAgICAg
ICAgIFVSTE1pc21hdGNoRXJyb3I6IDIxLAotICAgICAgICAgICAgICAgIFF1b3RhRXhjZWVkZWRF
cnJvcjogMjIsCi0gICAgICAgICAgICAgICAgVGltZW91dEVycm9yOiAyMywKLSAgICAgICAgICAg
ICAgICBJbnZhbGlkTm9kZVR5cGVFcnJvcjogMjQsCi0gICAgICAgICAgICAgICAgRGF0YUNsb25l
RXJyb3I6IDI1LAotCi0gICAgICAgICAgICAgICAgRW5jb2RpbmdFcnJvcjogMCwKLSAgICAgICAg
ICAgICAgICBOb3RSZWFkYWJsZUVycm9yOiAwLAotICAgICAgICAgICAgICAgIFVua25vd25FcnJv
cjogMCwKLSAgICAgICAgICAgICAgICBDb25zdHJhaW50RXJyb3I6IDAsCi0gICAgICAgICAgICAg
ICAgRGF0YUVycm9yOiAwLAotICAgICAgICAgICAgICAgIFRyYW5zYWN0aW9uSW5hY3RpdmVFcnJv
cjogMCwKLSAgICAgICAgICAgICAgICBSZWFkT25seUVycm9yOiAwLAotICAgICAgICAgICAgICAg
IFZlcnNpb25FcnJvcjogMCwKLSAgICAgICAgICAgICAgICBPcGVyYXRpb25FcnJvcjogMCwKLSAg
ICAgICAgICAgICAgICBOb3RBbGxvd2VkRXJyb3I6IDAKLSAgICAgICAgICAgIH07Ci0KLSAgICAg
ICAgICAgIHZhciBjb2RlX25hbWVfbWFwID0ge307Ci0gICAgICAgICAgICBmb3IgKHZhciBrZXkg
aW4gbmFtZV9jb2RlX21hcCkgewotICAgICAgICAgICAgICAgIGlmIChuYW1lX2NvZGVfbWFwW2tl
eV0gPiAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvZGVfbmFtZV9tYXBbbmFtZV9jb2RlX21h
cFtrZXldXSA9IGtleTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIHZhciByZXF1aXJlZF9wcm9wcyA9IHsgY29kZTogY29kZSB9OwotCi0gICAgICAgICAg
ICBpZiAodHlwZW9mIGNvZGUgPT09ICJudW1iZXIiKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGNv
ZGUgPT09IDApIHsKLSAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEFzc2VydGlvbkVycm9y
KCdUZXN0IGJ1ZzogYW1iaWd1b3VzIERPTUV4Y2VwdGlvbiBjb2RlIDAgcGFzc2VkIHRvIGFzc2Vy
dF90aHJvd3MoKScpOwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIShjb2RlIGluIGNvZGVf
bmFtZV9tYXApKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBBc3NlcnRpb25FcnJv
cignVGVzdCBidWc6IHVucmVjb2duaXplZCBET01FeGNlcHRpb24gY29kZSAiJyArIGNvZGUgKyAn
IiBwYXNzZWQgdG8gYXNzZXJ0X3Rocm93cygpJyk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIG5hbWUgPSBjb2RlX25hbWVfbWFwW2NvZGVdOwotICAgICAgICAgICAgfSBlbHNl
IGlmICh0eXBlb2YgY29kZSA9PT0gInN0cmluZyIpIHsKLSAgICAgICAgICAgICAgICBpZiAoIShu
YW1lIGluIG5hbWVfY29kZV9tYXApKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBB
c3NlcnRpb25FcnJvcignVGVzdCBidWc6IHVucmVjb2duaXplZCBET01FeGNlcHRpb24gY29kZSAi
JyArIGNvZGUgKyAnIiBwYXNzZWQgdG8gYXNzZXJ0X3Rocm93cygpJyk7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIHJlcXVpcmVkX3Byb3BzLmNvZGUgPSBuYW1lX2NvZGVfbWFw
W25hbWVdOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAocmVxdWlyZWRfcHJvcHMu
Y29kZSA9PT0gMCB8fAotICAgICAgICAgICAgICAgKCJuYW1lIiBpbiBlICYmCi0gICAgICAgICAg
ICAgICAgZS5uYW1lICE9PSBlLm5hbWUudG9VcHBlckNhc2UoKSAmJgotICAgICAgICAgICAgICAg
IGUubmFtZSAhPT0gIkRPTUV4Y2VwdGlvbiIpKSB7Ci0gICAgICAgICAgICAgICAgLy8gTmV3IHN0
eWxlIGV4Y2VwdGlvbjogYWxzbyB0ZXN0IHRoZSBuYW1lIHByb3BlcnR5LgotICAgICAgICAgICAg
ICAgIHJlcXVpcmVkX3Byb3BzLm5hbWUgPSBuYW1lOwotICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICAvL1dlJ2QgbGlrZSB0byB0ZXN0IHRoYXQgZSBpbnN0YW5jZW9mIHRoZSBhcHByb3ByaWF0
ZSBpbnRlcmZhY2UsCi0gICAgICAgICAgICAvL2J1dCB3ZSBjYW4ndCwgYmVjYXVzZSB3ZSBkb24n
dCBrbm93IHdoYXQgd2luZG93IGl0IHdhcyBjcmVhdGVkCi0gICAgICAgICAgICAvL2luLiAgSXQg
bWlnaHQgYmUgYW4gaW5zdGFuY2VvZiB0aGUgYXBwcm9wcmlhdGUgaW50ZXJmYWNlIG9uIHNvbWUK
LSAgICAgICAgICAgIC8vdW5rbm93biBvdGhlciB3aW5kb3cuICBUT0RPOiBXb3JrIGFyb3VuZCB0
aGlzIHNvbWVob3c/Ci0KLSAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gcmVxdWlyZWRfcHJv
cHMpIHsKLSAgICAgICAgICAgICAgICBhc3NlcnQocHJvcCBpbiBlICYmIGVbcHJvcF0gPT0gcmVx
dWlyZWRfcHJvcHNbcHJvcF0sCi0gICAgICAgICAgICAgICAgICAgICAgICJhc3NlcnRfdGhyb3dz
IiwgZGVzY3JpcHRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICIke2Z1bmN9IHRocmV3ICR7
ZX0gdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gIiArIGNvZGUgKyAiOiBwcm9wZXJ0eSAke3By
b3B9IGlzIGVxdWFsIHRvICR7YWN0dWFsfSwgZXhwZWN0ZWQgJHtleHBlY3RlZH0iLAotICAgICAg
ICAgICAgICAgICAgICAgICB7ZnVuYzpmdW5jLCBlOmUsIHByb3A6cHJvcCwgYWN0dWFsOmVbcHJv
cF0sIGV4cGVjdGVkOnJlcXVpcmVkX3Byb3BzW3Byb3BdfSk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICB9Ci0gICAgZXhwb3NlKGFzc2VydF90aHJvd3MsICJhc3NlcnRfdGhyb3dzIik7
Ci0KLSAgICAvKioKICAgICAgKiBBc3NlcnQgYSBKUyBFcnJvciB3aXRoIHRoZSBleHBlY3RlZCBj
b25zdHJ1Y3RvciBpcyB0aHJvd24uCiAgICAgICoKICAgICAgKiBAcGFyYW0ge29iamVjdH0gY29u
c3RydWN0b3IgVGhlIGV4cGVjdGVkIGV4Y2VwdGlvbiBjb25zdHJ1Y3Rvci4KQEAgLTE2NTgsMjAg
KzE2MDUsNDQgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICog
ICAgICAgIGVpdGhlciBiZSBhbiBleGNlcHRpb24gbmFtZSAoZS5nLiAiSGllcmFyY2h5UmVxdWVz
dEVycm9yIiwKICAgICAgKiAgICAgICAgIldyb25nRG9jdW1lbnRFcnJvciIpIG9yIHRoZSBuYW1l
IG9mIHRoZSBjb3JyZXNwb25kaW5nIGVycm9yIGNvZGUKICAgICAgKiAgICAgICAgKGUuZy4gIkhJ
RVJBUkNIWV9SRVFVRVNUX0VSUiIsICJXUk9OR19ET0NVTUVOVF9FUlIiKS4KLSAgICAgKiBAcGFy
YW0ge0Z1bmN0aW9ufSBmdW5jIEZ1bmN0aW9uIHdoaWNoIHNob3VsZCB0aHJvdy4KLSAgICAgKiBA
cGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb24gRXJyb3IgZGVzY3JpcHRpb24gZm9yIHRoZSBjYXNl
IHRoYXQgdGhlIGVycm9yIGlzIG5vdCB0aHJvd24uCi0gICAgICovCi0gICAgZnVuY3Rpb24gYXNz
ZXJ0X3Rocm93c19kb20odHlwZSwgZnVuYywgZGVzY3JpcHRpb24pCi0gICAgewotICAgICAgICBh
c3NlcnRfdGhyb3dzX2RvbV9pbXBsKHR5cGUsIGZ1bmMsIGRlc2NyaXB0aW9uLCAiYXNzZXJ0X3Ro
cm93c19kb20iKQorICAgICAqCisgICAgICogRm9yIHRoZSByZW1haW5pbmcgYXJndW1lbnRzLCB0
aGVyZSBhcmUgdHdvIHdheXMgb2YgY2FsbGluZworICAgICAqIHByb21pc2VfcmVqZWN0c19kb206
CisgICAgICoKKyAgICAgKiAxKSBJZiB0aGUgRE9NRXhjZXB0aW9uIGlzIGV4cGVjdGVkIHRvIGNv
bWUgZnJvbSB0aGUgY3VycmVudCBnbG9iYWwsIHRoZQorICAgICAqIHNlY29uZCBhcmd1bWVudCBz
aG91bGQgYmUgdGhlIGZ1bmN0aW9uIGV4cGVjdGVkIHRvIHRocm93IGFuZCBhIHRoaXJkLAorICAg
ICAqIG9wdGlvbmFsLCBhcmd1bWVudCBpcyB0aGUgYXNzZXJ0aW9uIGRlc2NyaXB0aW9uLgorICAg
ICAqCisgICAgICogMikgSWYgdGhlIERPTUV4Y2VwdGlvbiBpcyBleHBlY3RlZCB0byBjb21lIGZy
b20gc29tZSBvdGhlciBnbG9iYWwsIHRoZQorICAgICAqIHNlY29uZCBhcmd1bWVudCBzaG91bGQg
YmUgdGhlIERPTUV4Y2VwdGlvbiBjb25zdHJ1Y3RvciBmcm9tIHRoYXQgZ2xvYmFsLAorICAgICAq
IHRoZSB0aGlyZCBhcmd1bWVudCB0aGUgZnVuY3Rpb24gZXhwZWN0ZWQgdG8gdGhyb3csIGFuZCB0
aGUgZm91cnRoLCBvcHRpb25hbCwKKyAgICAgKiBhcmd1bWVudCB0aGUgYXNzZXJ0aW9uIGRlc2Ny
aXB0aW9uLgorICAgICAqLworICAgIGZ1bmN0aW9uIGFzc2VydF90aHJvd3NfZG9tKHR5cGUsIGZ1
bmNPckNvbnN0cnVjdG9yLCBkZXNjcmlwdGlvbk9yRnVuYywgbWF5YmVEZXNjcmlwdGlvbikKKyAg
ICB7CisgICAgICAgIGxldCBjb25zdHJ1Y3RvciwgZnVuYywgZGVzY3JpcHRpb247CisgICAgICAg
IGlmIChmdW5jT3JDb25zdHJ1Y3Rvci5uYW1lID09PSAiRE9NRXhjZXB0aW9uIikgeworICAgICAg
ICAgICAgY29uc3RydWN0b3IgPSBmdW5jT3JDb25zdHJ1Y3RvcjsKKyAgICAgICAgICAgIGZ1bmMg
PSBkZXNjcmlwdGlvbk9yRnVuYzsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uID0gbWF5YmVEZXNj
cmlwdGlvbjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yID0gc2Vs
Zi5ET01FeGNlcHRpb247CisgICAgICAgICAgICBmdW5jID0gZnVuY09yQ29uc3RydWN0b3I7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uT3JGdW5jOworICAgICAgICAgICAg
YXNzZXJ0KG1heWJlRGVzY3JpcHRpb24gPT09IHVuZGVmaW5lZCwKKyAgICAgICAgICAgICAgICAg
ICAiVG9vIG1hbnkgYXJncyBwYXNlZCB0byBuby1jb25zdHJ1Y3RvciB2ZXJzaW9uIG9mIGFzc2Vy
dF90aHJvd3NfZG9tIik7CisgICAgICAgIH0KKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb21faW1w
bCh0eXBlLCBmdW5jLCBkZXNjcmlwdGlvbiwgImFzc2VydF90aHJvd3NfZG9tIiwgY29uc3RydWN0
b3IpCiAgICAgfQogICAgIGV4cG9zZShhc3NlcnRfdGhyb3dzX2RvbSwgImFzc2VydF90aHJvd3Nf
ZG9tIik7CiAKICAgICAvKioKLSAgICAgKiBMaWtlIGFzc2VydF90aHJvd3NfZG9tIGJ1dCBhbGxv
d3Mgc3BlY2lmeWluZyB0aGUgYXNzZXJ0aW9uIHR5cGUKLSAgICAgKiAoYXNzZXJ0X3Rocm93c19k
b20gb3IgcHJvbWlzZV9yZWplY3RzX2RvbSwgaW4gcHJhY3RpY2UpLgorICAgICAqIFNpbWlsYXIg
dG8gYXNzZXJ0X3Rocm93c19kb20gYnV0IGFsbG93cyBzcGVjaWZ5aW5nIHRoZSBhc3NlcnRpb24g
dHlwZQorICAgICAqIChhc3NlcnRfdGhyb3dzX2RvbSBvciBwcm9taXNlX3JlamVjdHNfZG9tLCBp
biBwcmFjdGljZSkuICBUaGUKKyAgICAgKiAiY29uc3RydWN0b3IiIGFyZ3VtZW50IG11c3QgYmUg
dGhlIERPTUV4Y2VwdGlvbiBjb25zdHJ1Y3RvciBmcm9tIHRoZQorICAgICAqIGdsb2JhbCB3ZSBl
eHBlY3QgdGhlIGV4Y2VwdGlvbiB0byBjb21lIGZyb20uCiAgICAgICovCi0gICAgZnVuY3Rpb24g
YXNzZXJ0X3Rocm93c19kb21faW1wbCh0eXBlLCBmdW5jLCBkZXNjcmlwdGlvbiwgYXNzZXJ0aW9u
X3R5cGUpCisgICAgZnVuY3Rpb24gYXNzZXJ0X3Rocm93c19kb21faW1wbCh0eXBlLCBmdW5jLCBk
ZXNjcmlwdGlvbiwgYXNzZXJ0aW9uX3R5cGUsIGNvbnN0cnVjdG9yKQogICAgIHsKICAgICAgICAg
dHJ5IHsKICAgICAgICAgICAgIGZ1bmMuY2FsbCh0aGlzKTsKQEAgLTE2ODIsNiArMTY1Myw3IEBA
IHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAgICAgICAgICAgIHRo
cm93IGU7CiAgICAgICAgICAgICB9CiAKKyAgICAgICAgICAgIC8vIEJhc2ljIHNhbml0eS1jaGVj
a3Mgb24gdGhlIHRocm93biBleGNlcHRpb24uCiAgICAgICAgICAgICBhc3NlcnQodHlwZW9mIGUg
PT09ICJvYmplY3QiLAogICAgICAgICAgICAgICAgICAgIGFzc2VydGlvbl90eXBlLCBkZXNjcmlw
dGlvbiwKICAgICAgICAgICAgICAgICAgICAiJHtmdW5jfSB0aHJldyAke2V9IHdpdGggdHlwZSAk
e3R5cGV9LCBub3QgYW4gb2JqZWN0IiwKQEAgLTE3OTUsMTkgKzE3NjcsMjEgQEAgcG9saWNpZXMg
YW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICAgICAgICAgICAgcmVxdWlyZWRfcHJv
cHMubmFtZSA9IG5hbWU7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIC8vV2UnZCBsaWtl
IHRvIHRlc3QgdGhhdCBlIGluc3RhbmNlb2YgdGhlIGFwcHJvcHJpYXRlIGludGVyZmFjZSwKLSAg
ICAgICAgICAgIC8vYnV0IHdlIGNhbid0LCBiZWNhdXNlIHdlIGRvbid0IGtub3cgd2hhdCB3aW5k
b3cgaXQgd2FzIGNyZWF0ZWQKLSAgICAgICAgICAgIC8vaW4uICBJdCBtaWdodCBiZSBhbiBpbnN0
YW5jZW9mIHRoZSBhcHByb3ByaWF0ZSBpbnRlcmZhY2Ugb24gc29tZQotICAgICAgICAgICAgLy91
bmtub3duIG90aGVyIHdpbmRvdy4gIFRPRE86IFdvcmsgYXJvdW5kIHRoaXMgc29tZWhvdz8gIE1h
eWJlIGhhdmUKLSAgICAgICAgICAgIC8vdGhlIGZpcnN0IGFyZyBqdXN0IGJlIGEgRE9NRXhjZXB0
aW9uIHdpdGggdGhlIHJpZ2h0IG5hbWUgaW5zdGVhZAotICAgICAgICAgICAgLy9vZiB0aGUgc3Ry
aW5nLW9yLWNvZGUgdGhpbmcgd2UgaGF2ZSBub3c/Ci0KICAgICAgICAgICAgIGZvciAodmFyIHBy
b3AgaW4gcmVxdWlyZWRfcHJvcHMpIHsKICAgICAgICAgICAgICAgICBhc3NlcnQocHJvcCBpbiBl
ICYmIGVbcHJvcF0gPT0gcmVxdWlyZWRfcHJvcHNbcHJvcF0sCiAgICAgICAgICAgICAgICAgICAg
ICAgIGFzc2VydGlvbl90eXBlLCBkZXNjcmlwdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAg
IiR7ZnVuY30gdGhyZXcgJHtlfSB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiAiICsgdHlwZSAr
ICI6IHByb3BlcnR5ICR7cHJvcH0gaXMgZXF1YWwgdG8gJHthY3R1YWx9LCBleHBlY3RlZCAke2V4
cGVjdGVkfSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHtmdW5jOmZ1bmMsIGU6ZSwgcHJvcDpw
cm9wLCBhY3R1YWw6ZVtwcm9wXSwgZXhwZWN0ZWQ6cmVxdWlyZWRfcHJvcHNbcHJvcF19KTsKICAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgZXhjZXB0aW9uIGlz
IGZyb20gdGhlIHJpZ2h0IGdsb2JhbC4gIFRoaXMgY2hlY2sgaXMgbGFzdAorICAgICAgICAgICAg
Ly8gc28gbW9yZSBzcGVjaWZpYywgYW5kIG1vcmUgaW5mb3JtYXRpdmUsIGNoZWNrcyBvbiB0aGUg
cHJvcGVydGllcyBjYW4KKyAgICAgICAgICAgIC8vIGhhcHBlbiBpbiBjYXNlIGEgdG90YWxseSBp
bmNvcnJlY3QgZXhjZXB0aW9uIGlzIHRocm93bi4KKyAgICAgICAgICAgIGFzc2VydChlLmNvbnN0
cnVjdG9yID09PSBjb25zdHJ1Y3RvciwKKyAgICAgICAgICAgICAgICAgICBhc3NlcnRpb25fdHlw
ZSwgZGVzY3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAgIiR7ZnVuY30gdGhyZXcgYW4gZXhj
ZXB0aW9uIGZyb20gdGhlIHdyb25nIGdsb2JhbCIsCisgICAgICAgICAgICAgICAgICAge2Z1bmN9
KTsKKwogICAgICAgICB9CiAgICAgfQogCkBAIC0xODc0LDYgKzE4NDgsNDkgQEAgcG9saWNpZXMg
YW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgfQogICAgIGV4cG9zZShhc3NlcnRfYW55
LCAiYXNzZXJ0X2FueSIpOwogCisgICAgLyoqCisgICAgICogQXNzZXJ0IHRoYXQgYSBmZWF0dXJl
IGlzIGltcGxlbWVudGVkLCBiYXNlZCBvbiBhICd0cnV0aHknIGNvbmRpdGlvbi4KKyAgICAgKgor
ICAgICAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgdG8gZWFybHktZXhpdCBmcm9tIHRl
c3RzIGluIHdoaWNoIHRoZXJlIGlzCisgICAgICogbm8gcG9pbnQgY29udGludWluZyB3aXRob3V0
IHN1cHBvcnQgZm9yIGEgbm9uLW9wdGlvbmFsIHNwZWMgb3Igc3BlYworICAgICAqIGZlYXR1cmUu
IEZvciBleGFtcGxlOgorICAgICAqCisgICAgICogICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRv
dy5Gb28sICdGb28gaXMgbm90IHN1cHBvcnRlZCcpOworICAgICAqCisgICAgICogQHBhcmFtIHtv
YmplY3R9IGNvbmRpdGlvbiBUaGUgdHJ1dGh5IHZhbHVlIHRvIHRlc3QKKyAgICAgKiBAcGFyYW0g
e3N0cmluZ30gZGVzY3JpcHRpb24gRXJyb3IgZGVzY3JpcHRpb24gZm9yIHRoZSBjYXNlIHRoYXQg
dGhlIGNvbmRpdGlvbiBpcyBub3QgdHJ1dGh5LgorICAgICAqLworICAgIGZ1bmN0aW9uIGFzc2Vy
dF9pbXBsZW1lbnRzKGNvbmRpdGlvbiwgZGVzY3JpcHRpb24pIHsKKyAgICAgICAgYXNzZXJ0KCEh
Y29uZGl0aW9uLCAiYXNzZXJ0X2ltcGxlbWVudHMiLCBkZXNjcmlwdGlvbik7CisgICAgfQorICAg
IGV4cG9zZShhc3NlcnRfaW1wbGVtZW50cywgImFzc2VydF9pbXBsZW1lbnRzIikKKworICAgIC8q
KgorICAgICAqIEFzc2VydCB0aGF0IGFuIG9wdGlvbmFsIGZlYXR1cmUgaXMgaW1wbGVtZW50ZWQs
IGJhc2VkIG9uIGEgJ3RydXRoeScgY29uZGl0aW9uLgorICAgICAqCisgICAgICogVGhpcyBmdW5j
dGlvbiBzaG91bGQgYmUgdXNlZCB0byBlYXJseS1leGl0IGZyb20gdGVzdHMgaW4gd2hpY2ggdGhl
cmUgaXMKKyAgICAgKiBubyBwb2ludCBjb250aW51aW5nIHdpdGhvdXQgc3VwcG9ydCBmb3IgYW4g
ZXhwbGljaXRseSBvcHRpb25hbCBzcGVjIG9yCisgICAgICogc3BlYyBmZWF0dXJlLiBGb3IgZXhh
bXBsZToKKyAgICAgKgorICAgICAqICAgICBhc3NlcnRfaW1wbGVtZW50c19vcHRpb25hbCh2aWRl
by5jYW5QbGF5VHlwZSgidmlkZW8vd2VibSIpLAorICAgICAqICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAid2VibSB2aWRlbyBwbGF5YmFjayBub3Qgc3VwcG9ydGVkIik7CisgICAgICoK
KyAgICAgKiBAcGFyYW0ge29iamVjdH0gY29uZGl0aW9uIFRoZSB0cnV0aHkgdmFsdWUgdG8gdGVz
dAorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBkZXNjcmlwdGlvbiBFcnJvciBkZXNjcmlwdGlvbiBm
b3IgdGhlIGNhc2UgdGhhdCB0aGUgY29uZGl0aW9uIGlzIG5vdCB0cnV0aHkuCisgICAgICovCisg
ICAgZnVuY3Rpb24gYXNzZXJ0X2ltcGxlbWVudHNfb3B0aW9uYWwoY29uZGl0aW9uLCBkZXNjcmlw
dGlvbikgeworICAgICAgICBpZiAoIWNvbmRpdGlvbikgeworICAgICAgICAgICAgLy8gRHVlIHRv
IHRoZSBkaWZmaWN1bHR5IG9mIGNoYW5naW5nIGxvZ2dpbmcgc3RhdHVzZXMsIHdlIHJlLXVzZQor
ICAgICAgICAgICAgLy8gdGhlIFBSRUNPTkRJVElPTl9GQUlMRUQgc3RhdHVzIGZvciBhc3NlcnRf
aW1wbGVtZW50c19vcHRpb25hbC4KKyAgICAgICAgICAgIC8vIFNlZSB0aGUgUkZDOiBodHRwczov
L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3JmY3MvcHVsbC80OAorICAgICAgICAgICAg
Ly8KKyAgICAgICAgICAgIC8vIFRPRE8oc21jZ3J1ZXIpOiBPbmNlIGFzc2VydF9wcmVjb25kaXRp
b24gaXMgcmVtb3ZlZCwgcmVuYW1lIHRoZQorICAgICAgICAgICAgLy8gZXhjZXB0aW9uIGFuZCBt
b3ZlIHRoaXMgY29tbWVudCB0byB3aGVyZSBQUkVDT05ESVRJT05fRkFJTEVEIGlzIHVzZWQuCisg
ICAgICAgICAgICB0aHJvdyBuZXcgUHJlY29uZGl0aW9uRmFpbGVkRXJyb3IoZGVzY3JpcHRpb24p
OworICAgICAgICB9CisgICAgfQorICAgIGV4cG9zZShhc3NlcnRfaW1wbGVtZW50c19vcHRpb25h
bCwgImFzc2VydF9pbXBsZW1lbnRzX29wdGlvbmFsIikKKwogICAgIGZ1bmN0aW9uIGFzc2VydF9w
cmVjb25kaXRpb24ocHJlY29uZGl0aW9uLCBkZXNjcmlwdGlvbikgewogICAgICAgICBpZiAoIXBy
ZWNvbmRpdGlvbikgewogICAgICAgICAgICAgdGhyb3cgbmV3IFByZWNvbmRpdGlvbkZhaWxlZEVy
cm9yKGRlc2NyaXB0aW9uKTsKQEAgLTI4NjYsMjQgKzI4ODMsOCBAQCBwb2xpY2llcyBhbmQgY29u
dHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgdmFyIG1lc3NhZ2VfcG9ydDsKIAogICAgICAg
ICBpZiAoaXNfc2VydmljZV93b3JrZXIod29ya2VyKSkgewotICAgICAgICAgICAgaWYgKHdpbmRv
dy5NZXNzYWdlQ2hhbm5lbCkgewotICAgICAgICAgICAgICAgIC8vIFRoZSBTZXJ2aWNlV29ya2Vy
J3MgaW1wbGljaXQgTWVzc2FnZVBvcnQgaXMgY3VycmVudGx5IG5vdAotICAgICAgICAgICAgICAg
IC8vIHJlbGlhYmx5IGFjY2Vzc2libGUgZnJvbSB0aGUgU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
IGR1ZSB0bwotICAgICAgICAgICAgICAgIC8vIEJsaW5rIHNldHRpbmcgTWVzc2FnZUV2ZW50LnNv
dXJjZSB0byBudWxsIGZvciBtZXNzYWdlcyBzZW50Ci0gICAgICAgICAgICAgICAgLy8gdmlhIFNl
cnZpY2VXb3JrZXIucG9zdE1lc3NhZ2UoKS4gVW50aWwgdGhhdCdzIHJlc29sdmVkLAotICAgICAg
ICAgICAgICAgIC8vIGNyZWF0ZSBhbiBleHBsaWNpdCBNZXNzYWdlQ2hhbm5lbCBhbmQgcGFzcyBv
bmUgZW5kIHRvIHRoZQotICAgICAgICAgICAgICAgIC8vIHdvcmtlci4KLSAgICAgICAgICAgICAg
ICB2YXIgbWVzc2FnZV9jaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7Ci0gICAgICAgICAg
ICAgICAgbWVzc2FnZV9wb3J0ID0gbWVzc2FnZV9jaGFubmVsLnBvcnQxOwotICAgICAgICAgICAg
ICAgIG1lc3NhZ2VfcG9ydC5zdGFydCgpOwotICAgICAgICAgICAgICAgIHdvcmtlci5wb3N0TWVz
c2FnZSh7dHlwZTogImNvbm5lY3QifSwgW21lc3NhZ2VfY2hhbm5lbC5wb3J0Ml0pOwotICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBJZiBNZXNzYWdlQ2hhbm5lbCBpcyBu
b3QgYXZhaWxhYmxlLCB0aGVuIHRyeSB0aGUKLSAgICAgICAgICAgICAgICAvLyBTZXJ2aWNlV29y
a2VyLnBvc3RNZXNzYWdlKCkgYXBwcm9hY2ggdXNpbmcgTWVzc2FnZUV2ZW50LnNvdXJjZQotICAg
ICAgICAgICAgICAgIC8vIG9uIHRoZSBvdGhlciBlbmQuCi0gICAgICAgICAgICAgICAgbWVzc2Fn
ZV9wb3J0ID0gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXI7Ci0gICAgICAgICAgICAgICAgd29ya2Vy
LnBvc3RNZXNzYWdlKHt0eXBlOiAiY29ubmVjdCJ9KTsKLSAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIG1lc3NhZ2VfcG9ydCA9IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyOworICAgICAgICAgICAg
d29ya2VyLnBvc3RNZXNzYWdlKHt0eXBlOiAiY29ubmVjdCJ9KTsKICAgICAgICAgfSBlbHNlIGlm
IChpc19zaGFyZWRfd29ya2VyKHdvcmtlcikpIHsKICAgICAgICAgICAgIG1lc3NhZ2VfcG9ydCA9
IHdvcmtlci5wb3J0OwogICAgICAgICAgICAgbWVzc2FnZV9wb3J0LnN0YXJ0KCk7CkluZGV4OiBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmct
YXBpcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDEzIEBACitCYXNpYyBJbnRlcmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQZXJmb3JtYW5jZVBhaW50VGltaW5n
CitQQVNTIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaXMgZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5wcm90b3R5cGUudG9KU09OIGlzIGRlZmluZWQuCitQQVNTIG5ldyBQZXJm
b3JtYW5jZVBhaW50VGltaW5nKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogZnVuY3Rpb24g
aXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBQZXJmb3JtYW5jZVBhaW50VGlt
aW5nKCknKS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGlt
aW5nLWFwaXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBA
Cis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVz
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKK1BhaW50IEFQSSBzaG91bGQgYmUgYXZhaWxh
YmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4vc2FuZGJv
eGVkIGZyYW1lcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgcmVjZWl2
ZWRFdmVudC5zb3VyY2UgaXMgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNhbmRib3hlZCcp
LmNvbnRlbnRXaW5kb3cKK1BBU1MgcmVjZWl2ZWRFbnRyeS5uYW1lIGlzICdmaXJzdC1jb250ZW50
ZnVsLXBhaW50JworUEFTUyBkaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUgaXMg
ZmFsc2UKK1BBU1MgQXJyYXkuaXNBcnJheShub25TYW5kYm94U3VwcG9ydGVkVHlwZXMpIGlzIHRy
dWUKK1BBU1MgQXJyYXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVkVHlwZXMpIGlzIHRydWUKK1BB
U1MgZGlkUmVjZWl2ZU1lc3NhZ2UgaXMgdHJ1ZQorUEFTUyBub25TYW5kYm94U3VwcG9ydGVkVHlw
ZXMuaW5jbHVkZXMoInBhaW50IikgaXMgdHJ1ZQorUEFTUyBzYW5kYm94U3VwcG9ydGVkVHlwZXMu
aW5jbHVkZXMoInBhaW50IikgaXMgZmFsc2UKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJz
dC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBmaXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJh
bWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKworCitURVhUCkluZGV4OiBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFt
ZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY3IEBACis8IURPQ1RZUEUgSFRNTD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2Pgor
ICAgIDxpZnJhbWUgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGlkPSJub25TYW5kYm94ZWQiIHNy
Yz0iLi9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwiPjwvaWZyYW1lPgorPGRpdiBjbGFzcz0i
c3BhY2VyIj48L2Rpdj4KKzxpZnJhbWUgaWQ9InNhbmRib3hlZCIgc3JjPSIuL3Jlc291cmNlcy9m
Y3Atc3ViZnJhbWUuaHRtbCIgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyI+PC9pZnJhbWU+Cis8ZGl2
IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorCisgICAgVEVYVAorCis8c2NyaXB0PgorZGVzY3JpcHRp
b24oIlBhaW50IEFQSSBzaG91bGQgYmUgYXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMg
YnV0IG5vdCB0byBjcm9zcy1vcmlnaW4vc2FuZGJveGVkIGZyYW1lcy4iKTsKK3dpbmRvdy5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5kaWRSZWNlaXZlTWVzc2FnZSA9IGZhbHNlOworCit3
aW5kb3cub25sb2FkID0gYXN5bmMgKCkgPT4geworICAgIGNvbnN0IHNhbmRib3hlZCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdzYW5kYm94ZWQnKTsKKyAgICBjb25zdCBub25TYW5kYm94ZWQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJyk7CisgICAgY29uc3QgZmNw
TWVzc2FnZVByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgd2luZG93
Lm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5yZWNlaXZlZEV2ZW50
ID0gZXZlbnQ7CisgICAgICAgICAgICBjb25zdCBpc0Zyb21TYW5kYm94ZWQgPSBldmVudC5zb3Vy
Y2UgPT09IHNhbmRib3hlZC5jb250ZW50V2luZG93OworICAgICAgICAgICAgY29uc3QgbWVzc2Fn
ZSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAgICAgICAgICBzd2l0Y2ggKG1lc3NhZ2Uu
dHlwZSkgeworICAgICAgICAgICAgICAgIGNhc2UgJ3N1cHBvcnRlZCc6CisgICAgICAgICAgICAg
ICAgICAgIGlmIChpc0Zyb21TYW5kYm94ZWQpCisgICAgICAgICAgICAgICAgICAgICAgICB3aW5k
b3cuc2FuZGJveFN1cHBvcnRlZFR5cGVzID0gbWVzc2FnZS5zdXBwb3J0ZWQ7CisgICAgICAgICAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5ub25TYW5kYm94
U3VwcG9ydGVkVHlwZXMgPSBtZXNzYWdlLnN1cHBvcnRlZDsKKyAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSAncmVjZWl2ZWQnOgorICAgICAgICAgICAgICAg
ICAgICB3aW5kb3cuZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1lID0gaXNGcm9t
U2FuZGJveGVkOworICAgICAgICAgICAgICAgICAgICB3aW5kb3cucmVjZWl2ZWRFbnRyeSA9IG1l
c3NhZ2UuZW50cnk7CisgICAgICAgICAgICAgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlID0gdHJ1
ZTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ3JlY2VpdmVkRXZlbnQuc291cmNlJywg
ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKS5jb250ZW50V2luZG93Iik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCdyZWNlaXZlZEVudHJ5Lm5hbWUnLCAiJ2Zp
cnN0LWNvbnRlbnRmdWwtcGFpbnQnIik7CisgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsK
KyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH07Cisg
ICAgfSk7CisKKyAgICBzYW5kYm94ZWQuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgicGFpbnQi
LCAiKiIpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBub25TYW5kYm94ZWQuY29udGVu
dFdpbmRvdy5wb3N0TWVzc2FnZSgicGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRGb3JGQ1Ao
KTsKKyAgICBhd2FpdCBmY3BNZXNzYWdlUHJvbWlzZTsKKyAgICBzaG91bGRCZUZhbHNlKCdkaWRS
ZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUnKTsKKyAgICBzaG91bGRCZVRydWUoJ0Fy
cmF5LmlzQXJyYXkobm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzKScpOworICAgIHNob3VsZEJlVHJ1
ZSgnQXJyYXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVkVHlwZXMpJyk7CisgICAgc2hvdWxkQmVU
cnVlKCdkaWRSZWNlaXZlTWVzc2FnZScpOworICAgIHNob3VsZEJlVHJ1ZSgnbm9uU2FuZGJveFN1
cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnc2Fu
ZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgdGVzdFBhc3NlZCgi
UGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBm
aXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1l
Iik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdv
cmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorUGFpbnQgQVBJIHNo
b3VsZCBub3QgYmUgYXZhaWxhYmxlIGluIHdvcmtlciBjb250ZXh0cy4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRy
eVR5cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIHRydWUKK1BBU1Mgd29ya2VyU3VwcG9ydGVkRW50
cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyBmYWxzZQorUEFTUyB3b3JrZXJTdXBwb3J0ZWRF
bnRyeVR5cGVzLmluY2x1ZGVzKCJtYXJrIikgaXMgdHJ1ZQorUEFTUyBQZXJmb3JtYW5jZU9ic2Vy
dmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNsdWRlICdwYWludCcgZm9yIHdvcmtl
cnMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCklu
ZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2Vy
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRp
bWluZy13aXRoLXdvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50IEFQSSBzaG91bGQgbm90IGJlIGF2YWls
YWJsZSBpbiB3b3JrZXIgY29udGV4dHMuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
Citjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKCIuL3Jlc291cmNlcy93b3JrZXIuaHRtbCIpOwor
d29ya2VyLm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICB3aW5kb3cud29ya2VyU3VwcG9ydGVk
RW50cnlUeXBlcyA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAgc2hvdWxkQmVUcnVlKCdQ
ZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50Iikn
KTsKKyAgICBzaG91bGRCZUZhbHNlKCd3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVz
KCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVUcnVlKCd3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVz
LmluY2x1ZGVzKCJtYXJrIiknKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVy
LnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNsdWRlICdwYWludCcgZm9yIHdvcmtlcnMi
KTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK3dvcmtlci5wb3N0TWVzc2FnZSgic3RhcnQi
KTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZv
cm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNl
cnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDEwIEBACitQQVNTIGRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCBpcyB0
cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKS5sZW5ndGggaXMgMQorUEFTUyBwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikubGVuZ3Ro
IGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1
bC1wYWludCIsICJwYWludCIpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeVR5cGUoInBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBm
aXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorVEVYVDIKSW5kZXg6
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1j
b250ZW50ZnVsLXBhaW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Ut
b2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiRW5zdXJlIFBlcmZvcm1hbmNlT2JzZXJ2ZXJzIGFyZSBu
b3RpZmllZCBvbmNlIGZvciBmaXJzdC1jb250ZW50ZnVsLXBhaW50LiIpOword2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOworIAorKGFzeW5jICgpID0+IHsKKyAgICB3aW5kb3cuZGlkUmVjZWl2
ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gZmFsc2U7CisgICAgd2luZG93LnN0YXJ0VGltZSA9IHBl
cmZvcm1hbmNlLm5vdygpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBhd2FpdCBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9y
bWFuY2VPYnNlcnZlcihlbnRyeUxpc3QgPT4geworICAgICAgICAgICAgd2luZG93LmVudHJ5TGlz
dCA9IGVudHJ5TGlzdDsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmll
cygpLmxlbmd0aCcsICIxIik7CisgICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0LmdldEVu
dHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAxKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5sZW5n
dGgnLCAiMSIpOworICAgICAgICAgICAgd2luZG93LmZjcEVudHJ5ID0gZW50cnlMaXN0LmdldEVu
dHJpZXMoKVswXTsKKyAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVGaXJzdENv
bnRlbnRmdWxQYWludCcpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5Lm5hbWUnLCAn
ImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiJyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50
cnkuZW50cnlUeXBlJywgJyJwYWludCInKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgnZmNw
RW50cnkuc3RhcnRUaW1lID4gd2luZG93LnN0YXJ0VGltZScpOworICAgICAgICAgICAgc2hvdWxk
QmVUcnVlKCdmY3BFbnRyeS5zdGFydFRpbWUgPCBwZXJmb3JtYW5jZS5ub3coKScpOworICAgICAg
ICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5LmR1cmF0aW9uJywgIjAiKTsKKyAgICAgICAgICAgIGRp
ZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCA9IHRydWU7CisgICAgICAgICAgICByZXNvbHZl
KCk7CisgICAgICAgIH0pOworCisgICAgICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6
IFsncGFpbnQnXX0pOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICdURVhUJzsK
KyAgICB9KQorICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQyJzsKKyAgICBhd2Fp
dCB3YWl0Rm9yRkNQKCk7CisgICAgc2hvdWxkQmVUcnVlKCdkaWRSZWNlaXZlRmlyc3RDb250ZW50
ZnVsUGFpbnQnKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllcygpLmxlbmd0
aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImZp
cnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHNob3VsZEJlKCdwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IiwgInBhaW50
IikubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNl
T2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXNuJ3QgZmlyZWQgYWdh
aW4gIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KSgpOworCisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3At
c3ViZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdD4KKyAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3Qg
PT4geworICAgICAgICBsaXN0LmdldEVudHJpZXMoKS5mb3JFYWNoKGVudHJ5ID0+IHsKKyAgICAg
ICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3R5cGU6ICdy
ZWNlaXZlZCcsIGVudHJ5fSksICcqJyk7CisgICAgICAgIH0pOworICAgIH0pOworCisgICAgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJwYWludCJdfSk7CisgICAgd2luZG93Lm9ubWVz
c2FnZSA9IGUgPT4geworICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKEpTT04uc3Ry
aW5naWZ5KHtzdXBwb3J0ZWQ6IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBl
cywgdHlwZTogJ3N1cHBvcnRlZCd9KSwgJyonKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5l
clRleHQgPSAiVEVYVCI7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMv
cGFpbnQtYXBpLXV0aWxzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNSBAQAorYXN5bmMgZnVuY3Rpb24gd2FpdEZvckZDUCgpCit7
CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUo
KCkgPT4gcmVzb2x2ZSgpKSk7CisgICAgcmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRy
aWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoID09IDE7Cit9ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWlu
Zy1hcGkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAoraWYgKHNlbGYuaW1wb3J0
U2NyaXB0cykKKyAgICBpbXBvcnRTY3JpcHRzKCIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiKTsKKworaWYgKHNlbGYud2luZG93KQorICAgIGRlc2NyaXB0aW9uKCJCYXNpYyBJbnRlcmZh
Y2UgdGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuIik7CisKK2RlYnVnKCJQZXJmb3JtYW5jZVBh
aW50VGltaW5nIik7CitzaG91bGRCZURlZmluZWQoIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmciKTsK
K3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUudG9KU09O
YCk7CitzaG91bGRUaHJvdyhgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKWApOworCitpZiAo
c2VsZi5pbXBvcnRTY3JpcHRzKQorICAgIGZpbmlzaEpTVGVzdCgpOwpJbmRleDogTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACitzZWxmLm9ubWVzc2FnZSA9ICgpID0+
IHsKKyAgICBzZWxmLnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KFBlcmZvcm1hbmNlT2JzZXJ2
ZXIuc3VwcG9ydGVkRW50cnlUeXBlcykpOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBm
aWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmcKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCitpbWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNRQUFBQklDQVlBQUFD
ZU5sZTVBQUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0Zw
ckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJo
CkIvK0FIbnJ3WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExT
TlBXQUJPUU54MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRX
dzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQ
T1U1NWVNRzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVa
c2JJCkVMMVBrS2E3ek82cllxR2NUdllPa0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80
bUhocE9iRWhqMGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FP
TXBrWVlCeldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1H
Z3lhRFVoUUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQx
R2szVHorCktDSnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdo
N1gwOGpqYzAxZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5
bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZK
UG1WZmxQWHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpI
NkpOVmdZSnE4CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitU
M2l1ZWZLQUl2Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnEx
U05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJP
WlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4
L1VYQWVJdUpBQUFBCkNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUdaMGxFUVZSb0JlMmFVVzlW
UlJESGQ2OHRFVkpMVzJLQ3hDWStpZ1FEb1lrS2ZnSjgKOU1rbkV2RWR2b0Nta1MrQTcycENRc0tU
ai9JSkJDU0IxTlNvUEpxVTFDYWtnTmlBYWVOZGYvK1pPVDIzNTk3U0Z1N2w2VXl5NSt6TwoyWjJa
blozZG5abDdjNXJQSmUwS1NzcHBocDc3VTBtUHFEL2RIRlVSeUp1WVJKOEQ5SmtHODR6NlE5NjlY
M3M2TnFwampYYWpLU0xkCkVHUWY5UldJTyttU3pzTDFCSzFaeWlHS2hGamx1VVNIWHhoem5mWlRF
eU9udytEWFE3Q085ZVF4RUo0amtGaVBRVkRFbG0xd0taL3kKUHBkS09jM2JoYkFQelFkRFRiaDhr
L2VWbFBNUDFpT25JN1FmVU4rZ0ROWlk3bDh5MTBwS2t3d1paeUN6TG1jUjRtdmFwNHh3U2I5Qwo3
eWJ0aFZUeUg3ei9EdnpCbE10Um1KNWt6R253eHdOL0Y2RytZc3gxMm9mNExvR2VVUHExMVJDb1hp
S3R1MXFsZk1mamMyb3NYYjZHCkFKZkIzNkVObW1KOXJGWFhoUk9VTkllQUY2SHhHUzJZNSsraGNU
N0d6ZkNXYlcwVnFpRlFaYmdQYlZEcS9zeUFEeWczR1BjRjczc20KUUxKbEZDSE5WTGJSNVMyQmhK
T3RTYlBDdWMybDlDN05iMm1mb2R5RzFvZEJweEtxbW9LTVpCTTAzMG1LcEFhNnYvTTRDcGR2S0Jl
RAp3Q3pNdFR3cjZnSFVoTlFTQlllcXBtVS9DT3BlS3AyUDZYQ1pjc0ZwZDk0REwxN2lxZVZ6V3Bw
U05NWkJqUnZSZ21heUNhTjFsekJ2CjAyZUtiK3lndEJiOXR3b0RzZ2YwVFdVdHhrdzVEV2dsYkVt
MHhjT1hYTnBVMlNLUXR2YWJJRmRaYzJ5R1pTcW1tVXZnMzJIZ1g1VEgKTWFpYVBjMGR3Vmxxckdp
SVZzcVhuRFk4bkJjOGpYZTE3UE81K0FHRzNiQ2JVdm1SRGpkTXhkS01DTGs5N01oOUZ4MDYwSDRM
bXZkVAo3djdFRzV2S24yRG8ybjJ5cDBleVFzMUNoZ2l3dFkyNUdiQVFXcDcvVkJrU2lKWm9Bc1lE
clJoUElTUkRTUjIvRHRnTmR1aWQ4cTF0CnUwa0dYQzJUQmd3RHN0SE1uTzVGUERoR0VtZWI4MTVC
ZXpQU2tPNG13VGw3SnM0WmdlK21zSG4vTXFSbkoyaERMbmpaNlcvVTk2ZU8KWDVSOHM1TjFFZlFk
Sk5WMW9hM29vbHJmb1QxRTgwbndFSy9GNEMxdTJKQnViVjJVUlVkNnZoVnNSNkdaNW95Y2gzZ2Fi
MlNRTElFOQpFYjI1bTZ5bUU5alBoU2FaNGJSRmV5TjRMVGhKOHh6OElnRXg2MGk3S0ZWZDkvWklu
K3MrWlhnNnVBeGpyaEYzSlhScmU5c1BxVkhLClU5OS9GVTk1QVpzYUdpWHJ2ZEhHcUFYeTlHVGwr
RE84L2RZMjFNZ2U0aUZlNHVtZ0syUlRRN28wQVhPdVZJbVRXOVdSd1Q0M0QzZzYKdUF5K3kvQ0JI
VTZhbEg3N3VqWEZoeUcvUkZ2ZWhRRHZVaEF5WU5TS0RuUzV5VlhGVjdaZW96ZnE2c0xXZ2V3bW82
RGdnQTdHYVZOZApNWWRjUHZBY2JUbGdjcHg4RGxTR0NLSTVHVHpFNnpnSHNvSUJjWnZXd2ZnczJG
NXhwdmpBQXZmMFJxRXArVjVoeU1FcktUSXhycEpsCkhnSHQ3dUxHNzhwNXg0NDZ4NUJZL3JPOHhN
Y21udlYvNllkOGRxZVo4Yk5MOXpjb0xzQnZqdmRoZUsxSVE1SXRUbWFGS2tLWlEwNDEKVFZCZVUy
VklJRnFpQ1JnUHNSZFBnV1NJQThmRGtTUG11V1ZDRmZQa2NNak5zN05yaFlHMFhodzBWdWVPL0tE
N2tCTHRNL0JUV0tRTgpwUURTZzR1SU91U2pQR0NBYnZ6ekREaUdTM0FCM0NwdCtkVnk4dVd3YS9u
MklweTBMNXVaNGozQitEK2gvV1hRdm0yOGpLZEZzMDQzCkJOSU1kUHR1TUJnZ2Jpb0tnOHk5bEpB
ZUJ2a01GUWJKVnhLNEtYcTk5MWxwOHcxNnlJQ1hmRElSQnBWRXRBc1BnVWV4dFhjUkF1bVQKaUl2
UkRBWDFLVzVTb0tnNHFyQTlYemhRRk0zK1FCRWtFTHg2SmlZOTlZQ1dUbXVwam9pb1diRE9Gbkd5
STNLNXluZnRDSjFUeTlTVgpPSkRHL29taW0xdTRaUXE3MWtMcHEweE11MGtSQmpZVG12RW9RN3ky
aXNDMmIrYUhmTjExZUcyZmJGaUUrQzIrUHkvWjhCSGYzNGVoCmx1VXV4c3R1Mm51eXdjYkhRM2Fn
KzBZQnBHWU00VWpIMkJYenZIU005ZVlxNGdTMlF5L1NNYjZiOXB5T01XcnhjRzE1cUNRUFFNc0EK
SDRyODhJemJXZXhZY0FmUElsOFpNQmVsSjZ5OHJ5Y25kcGV3R3JCa0lVdmZxOHFNdkk0UWlocDBE
QXdHRjNpQ1BwTjArSmQrc2hWaApkNGF0RnJWei81SDM2Tm4yZzNpOTdKS3RtVjVlV1k1eDBKSVpq
a2ViWTlRQ1N4dHV3TDdjVmIweTN6YkgyTnpLdFUxVnRUYkg2TGF6Ci9kT3RUSDVVbTJQY1hrdTlY
OW9jWTY4MnRxdTNPY2J0Tk5QRXU2UFI1aGliZXFuYmJZNngxc1ZlYW0yT3NkWldtMk9zZFRHNDFq
VjAKbTJQczEwNmJZK3pYU1kxcGM0eTFMcnhXaGVKdGpqSE9GRXZQS1kvVSsyZVVOc2RJaW5mZ0g1
cmFIR1AvbitMOGQ2OGxRdjVYbW1QVQpYek5HOTdmQi93RlpiZzA1RUVOdU53QUFBQUJKUlU1RXJr
SmdnZz09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397087</attachid>
            <date>2020-04-21 09:20:45 -0700</date>
            <delta_ts>2020-04-23 01:47:56 -0700</delta_ts>
            <desc>Patch: using fake paint</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>144550</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI2MDA0NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDIwLTA0LTEzICBOb2FtIFJvc2VudGhhbCAg
PG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50
ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkZWQgdGVzdHMgZm9yIHNvbWUgZmlyc3QtY29udGVudGZ1bC1wYWludCAoRkNQKSB1c2Ut
Y2FzZXMuCisgICAgICAgIEVuc3VyZSB0aGF0IEZDUCB3b3JrcyB3ZWxsIHdpdGggVk5FIChmaXJz
dCBwYWludCBkZWxheSB1bnRpbCBjb250ZW50cyBhcmUgdmlzdWFsbHkgbm9uLWVtcHR5KS4KKwor
ICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWlu
Zy1hcGkuanM6IEFkZGVkLgorICAgICAgICAgICAgICAgIFRlc3QgZXhpc3RlbmNlIG9mIHBhaW50
IHRpbWluZyBBUEkgb24gdGhlIHdpbmRvdyBvYmplY3QuCisKKyAgICAgICAgKiBwZXJmb3JtYW5j
ZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMu
aHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQtd2l0aC13b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3Jt
YW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sOiBB
ZGRlZC4KKyAgICAgICAgICAgICAgICBUZXN0IHRoYXQgRkNQIGlzIG5vdCBhdmFpbGFibGUgZm9y
IGNyb3NzLW9yaWdpbiBmcmFtZXMgYW5kIHdvcmtlcnMuCisKKyAgICAgICAgKiBwZXJmb3JtYW5j
ZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNl
cnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZv
cm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzOiBBZGRlZC4KKyAgICAgICAg
KGFzeW5jIHdhaXRGb3JGQ1ApOgorICAgICAgICAgICAgICAgIFRlc3QgdGhhdCBwZXJmb3JtYW5j
ZSBvYnNlcnZlcnMgYXJlIGNhbGxlZCBmb3IgRkNQLgorCisgICAgICAgICogaHR0cC90ZXN0cy9w
ZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5v
bi1lbXB0eS1mb3Itc3R5bGUuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wZXJm
b3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1l
bXB0eS1mb3Itc3R5bGUtZXhwZWN0ZWQudHh0OiBBZGRlZAorICAgICAgICAqIGh0dHAvdGVzdHMv
cGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dzdHlsZS5waHA6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3N0eWxlLmNzczogIEFkZGVkLgorICAgICAg
ICAgICAgICAgIElmIGEgcGVuZGluZyBzdHlsZXNoZWV0IGJsb2NrcyBwYWludGluZywgbWFrZSBz
dXJlIEZDUCBpcyByZXBvcnRlZCBvbmx5IGFmdGVyIHN0eWxlc2hlZXQgaGFzIGxvYWRlZC4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2UvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9w
ZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5v
bi1lbXB0eS1mb3ItbnVtLWNoYXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9wZXJmb3JtYW5jZS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Bl
cmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1u
dW0tY2hhcnMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9y
ZXNvdXJjZXMvc2xvd3NjcmlwdC5waHA6IEFkZGVkLgorICAgICAgICAgICAgICAgIElmIFZORSBk
dWUgdG8gbnVtYmVyIG9mIGNoYXJhY3RlcnMgYmxvY2tzIHBhaW50aW5nLCBtYWtlIHN1cmUgRkNQ
IGlzIHJlcG9ydGVkIG9ubHkgYWZ0ZXIgcGFpbnRpbmcgaXMgdW5ibG9ja2VkLgorCiAyMDIwLTA0
LTEzICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAgICAg
IGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtZG9tYWluLmh0bWwg
aXMgYSBjb25zdGFudCBmYWlsdXJlIG9uIGlPUwpJbmRleDogTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCShyZXZp
c2lvbiAyNjAwNDUpCisrKyBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNv
cHkpCkBAIC0yMDYsNiArMjA2LDkgQEAKICMgRGF0YURldGVjdG9ycyB0ZXN0cyBvbmx5IG1ha2Ug
c2Vuc2Ugb24gTWFjCiBmYXN0L2V2ZW50cy9kby1ub3QtZHJhZy1hbmQtZHJvcC1kYXRhLWRldGVj
dG9ycy1saW5rLmh0bWwgWyBTa2lwIF0KIAorIyBBIHJvdW5kaW5nIGVycm9yIG1heSBjYXVzZSA5
MGRlZyAzZC1yb3RhdGVkIGVsZW1lbnRzIHRvIGNvdW50IGFzIHBhaW50ZWQKK2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorCiB3ZWJraXQub3JnL2IvMjAyNjE3IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGljdHVyZS1pbi1waWN0dXJlIFsgU2tpcCBdCiAKICMg
UGlQIEFQSSB0ZXN0cyBhcmUgb25seSByZWxldmFudCBvbiBtYWMgYW5kIGlQYWQKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5n
LWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3Jt
YW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNo
YXJzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHkt
bm9uLWVtcHR5LWZvci1udW0tY2hhcnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMyBAQAorUEFTUyBwYWludEVudHJ5LnN0YXJ0VGltZSA+IHRpbWVzdGFtcHNbZXhwZWN0
ZWRJdGVyYXRpb25zXSBpcyB0cnVlCitQQVNTIHBhaW50RW50cnkuc3RhcnRUaW1lIDwgdGltZXN0
YW1wc1tleHBlY3RlZEl0ZXJhdGlvbnMgKyAyXSBpcyB0cnVlCisKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRl
ci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5n
LWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2Ut
cGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpCisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOworICAgIH0KKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgdmFyIHN0eWxlRW50cnkg
PSBudWxsCisgICAgdmFyIHBhaW50RW50cnkgPSBudWxsCisgICAgdmFyIHRpbWVzdGFtcHMgPSBb
XQorICAgIHZhciBjaGFyc1Blckl0ZXJhdGlvbiA9IDgwCisgICAgdmFyIGNoYXJUaHJlc2hvbGQg
PSAyMDAKKyAgICB2YXIgZXhwZWN0ZWRJdGVyYXRpb25zID0gTWF0aC5jZWlsKGNoYXJUaHJlc2hv
bGQgLyBjaGFyc1Blckl0ZXJhdGlvbikKKworICAgIGZ1bmN0aW9uIHNsb3dTdHJpbmcoc3RyLCBk
ZWxheSkgeworICAgICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdz
Y3JpcHQnKQorICAgICAgICBjb25zdCBzb3VyY2UgPSBgZG9jdW1lbnQud3JpdGUoJyR7c3RyfScp
OyB0aW1lc3RhbXBzLnB1c2goJHtwZXJmb3JtYW5jZS5ub3coKX0pOyBjaGVjaygpO2AKKyAgICAg
ICAgc2NyaXB0LnNyYyA9IGAuL3Jlc291cmNlcy9zbG93c2NyaXB0LnBocD9jYWNoZUJ1c3Rlcj0k
e3BlcmZvcm1hbmNlLm5vdygpfSZkZWxheT0ke2RlbGF5fSZzY3JpcHQ9JHtzb3VyY2V9YAorICAg
ICAgICBkb2N1bWVudC53cml0ZShzY3JpcHQub3V0ZXJIVE1MKQorICAgIH0KKworICAgIGZ1bmN0
aW9uIGNoZWNrKCkgeworICAgICAgICBpZiAodGltZXN0YW1wcy5sZW5ndGggPCBleHBlY3RlZEl0
ZXJhdGlvbnMgKyAzIHx8ICFwYWludEVudHJ5KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJycKKworICAgICAgICBzaG91bGRCZVRydWUo
InBhaW50RW50cnkuc3RhcnRUaW1lID4gdGltZXN0YW1wc1tleHBlY3RlZEl0ZXJhdGlvbnNdIikK
KyAgICAgICAgc2hvdWxkQmVUcnVlKCJwYWludEVudHJ5LnN0YXJ0VGltZSA8IHRpbWVzdGFtcHNb
ZXhwZWN0ZWRJdGVyYXRpb25zICsgMl0iKQorICAgICAgICAKKyAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCkKKyAgICB9CisK
KyAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4gewor
ICAgICAgICBwYWludEVudHJ5ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncGFpbnQn
KVswXQorICAgICAgICBpZiAocGFpbnRFbnRyeSkKKyAgICAgICAgICAgIGNoZWNrKCkKKyAgICB9
KTsKKyAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbInBhaW50Il19KQorCisgICAg
ZnVuY3Rpb24gbmV4dCgpIHsKKyAgICAgICAgc2xvd1N0cmluZygnXHQgJyArIEFycmF5KGNoYXJz
UGVySXRlcmF0aW9uIC8gMikuZmlsbCgnIDAgXHQgQScpLmpvaW4oJycpICsgIiAgIFxuXHQiLCAw
LjMsIGNoYXJzUGVySXRlcmF0aW9uKQorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0
PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3Njcmlw
dD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3Jp
cHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2Ny
aXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3Nj
cmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9z
Y3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwv
c2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8
L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgp
PC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFp
bnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Bl
cmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1z
dHlsZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5
LW5vbi1lbXB0eS1mb3Itc3R5bGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMiBAQAorUEFTUyBwYWludEVudHJ5LnN0YXJ0VGltZSA+PSBzdHlsZUVudHJ5LnN0YXJ0VGlt
ZSArIHN0eWxlRW50cnkuZHVyYXRpb24gaXMgdHJ1ZQorVEVYVApJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVy
LXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3At
YWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGlt
aW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCkKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAg
fQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICB2YXIgc3R5bGVFbnRyeSA9IG51bGw7CisgICAg
dmFyIHBhaW50RW50cnkgPSBudWxsOworICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1h
bmNlT2JzZXJ2ZXIobGlzdCA9PiB7CisgICAgICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZv
cm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3BhaW50Jyk7CisgICAgICAgIGlmIChwYWludEVudHJp
ZXMubGVuZ3RoKQorICAgICAgICAgICAgcGFpbnRFbnRyeSA9IHBhaW50RW50cmllc1swXTsKKwor
ICAgICAgICBjb25zdCByZXNvdXJjZUVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlU
eXBlKCdyZXNvdXJjZScpLmZpbHRlcihyID0+IHIubmFtZS5pbmNsdWRlcygnc2xvd3N0eWxlLnBo
cCcpKTsKKyAgICAgICAgaWYgKHJlc291cmNlRW50cmllcy5sZW5ndGgpCisgICAgICAgICAgICBz
dHlsZUVudHJ5ID0gcmVzb3VyY2VFbnRyaWVzWzBdOworCisgICAgICAgIGlmICghc3R5bGVFbnRy
eSB8fCAhcGFpbnRFbnRyeSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBzaG91bGRC
ZVRydWUoInBhaW50RW50cnkuc3RhcnRUaW1lID49IHN0eWxlRW50cnkuc3RhcnRUaW1lICsgc3R5
bGVFbnRyeS5kdXJhdGlvbiIpOworICAgICAgICAgICAgICAgIAorICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9
KTsKKyAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbInBhaW50IiwgInJlc291cmNl
Il19KTsKKzwvc2NyaXB0PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuL3Jlc291cmNl
cy9zbG93c3R5bGUucGhwP2RlbGF5PTAuNSIgLz4KKzwvaGVhZD4KKzxib2R5PgorVEVYVAorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9y
ZXNvdXJjZXMvc2xvd3NjcmlwdC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3NjcmlwdC5waHAJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3Njcmlw
dC5waHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5IEBACis8P3BocAoraWYgKGlzc2V0KCRf
R0VUWyJkZWxheSJdKSkKKyAgICBzbGVlcCgkX0dFVFsiZGVsYXkiXSk7CitoZWFkZXIoJ0NhY2hl
LUNvbnRyb2w6IG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUnKTsKK2hlYWRlcignQ29udGVudC1U
eXBlOiB0ZXh0L2phdmFzY3JpcHQnKTsKKworZWNobygkX0dFVFsic2NyaXB0Il0pCis/PgorCklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c3R5
bGUucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2Uv
cmVzb3VyY2VzL3Nsb3dzdHlsZS5waHAJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3N0eWxlLnBocAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDYgQEAKKzw/cGhwCitpZiAoaXNzZXQoJF9HRVRbImRlbGF5Il0pKQorICAg
IHNsZWVwKCRfR0VUWyJkZWxheSJdKTsKK2hlYWRlcignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUs
IG11c3QtcmV2YWxpZGF0ZScpOworaGVhZGVyKCdMb2NhdGlvbjogc3R5bGUuY3NzJyk7Cis/PgpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc3R5bGUu
Y3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVz
b3VyY2VzL3N0eWxlLmNzcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zdHlsZS5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzIEBACitib2R5IHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbgorfTsKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI2MDQyMCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSw4NSBAQAorMjAyMC0wNC0yMSAgTm9hbSBSb3NlbnRoYWwg
IDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVu
dGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEltcG9ydGVkIHczYyB0ZXN0cyBmb3IgZmlyc3QgY29udGVudGZ1bCBwYWludCBhbmQgdXBk
YXRlZCB0ZXN0IGhhcm5lc3MuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0
aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmc6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHk6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1z
ZXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmct
aW1hZ2UtdHdvLXN0ZXBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1ncmFkaWVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0z
ZC1yb3RhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
c2NhbGUtdHJhbnNpdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2Nl
bmRhbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMt
dHJhbnNsYXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWlt
YWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12
aXNpYmlsaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1
ZG8uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFt
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0
ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2Uu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL3Jlc291cmNlczogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2ZzogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmc6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1
YmZyYW1lLXBhaW50aW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMv
dXRpbHMuanM6IEFkZGVkLgorICAgICAgICAod2FpdEZvckFuaW1hdGlvbkZyYW1lcyk6CisgICAg
ICAgIChhc3luYyBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKGFzeW5j
IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50LnJldHVybi5uZXcuUHJvbWlzZSk6CisgICAgICAg
IChhc3luYyBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCk6CisgICAgICAgIChhc3luYyB0ZXN0
X2ZjcCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qczoKKyAgICAgICAgKHByb21pc2VfcmVqZWN0c19qcyk6CisgICAgICAgIChwcm9taXNlX3Jl
amVjdHNfZG9tKToKKyAgICAgICAgKHByb21pc2VfcmVqZWN0c19leGFjdGx5KToKKyAgICAgICAg
KGZvcm1hdF92YWx1ZSk6CisKIDIwMjAtMDQtMTUgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmls
bGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dlYlhSXSBVcGRhdGUgV2ViWFJTZXNzaW9uIGFu
ZCBXZWJYUlN5c3RlbSBpbnRlcmZhY2VzCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgkocmV2
aXNpb24gMjYwMDQ1KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBv
cnQtZXhwZWN0YXRpb25zLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTEzLDYgKzEzLDExIEBACiAg
ICAgImNzcy9nZW9tZXRyeSI6ICJpbXBvcnQiLCAKICAgICAiY3NzL3N1cHBvcnQiOiAiaW1wb3J0
IiwgCiAgICAgImN1c3RvbS1lbGVtZW50cyI6ICJpbXBvcnQiLCAKKyAgICAicGFpbnQtdGltaW5n
LyI6ICJpbXBvcnQiLCAKKyAgICAicGFpbnQtdGltaW5nL2ZjcC1vbmx5IjogImltcG9ydCIsIAor
ICAgICJwYWludC10aW1pbmcvcmVzb3VyY2VzIjogImltcG9ydCIsIAorICAgICJwYWludC10aW1p
bmcvcmVzb3VyY2VzLyI6ICJpbXBvcnQiLCAKKyAgICAicmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
IjogImltcG9ydCIsIAogICAgICJzaGFkb3ctZG9tIjogImltcG9ydCIsIAogICAgICJ0b29scyI6
ICJpbXBvcnQiLCAKICAgICAid2ViLWFuaW1hdGlvbnMiOiAiaW1wb3J0IiwgCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0
byBiYWNrZ3JvdW5kIHNpemUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXpl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tncm91bmQgc2l6
ZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRp
dmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAg
ICAgIGJhY2tncm91bmQtc2l6ZTogMCAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xh
c3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1
bCB7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOworICAgIH0KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0
PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemUuIik7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0LiAK
KwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmctaW1hZ2Utc2V0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVz
dDogRkNQIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldDwvdGl0bGU+Cis8c3R5
bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRl
c3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgYmFja2dy
b3VuZC1pbWFnZTogLXdlYmtpdC1pbWFnZS1zZXQodXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBu
ZykgMXgpOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS1zZXQodXJsKC4uL3Jlc291
cmNlcy9jaXJjbGVzLnBuZykgMXgpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldC4iKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVw
cy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3
by1zdGVwcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5
IHdoZW4gdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgZmlyZSBmb3Ig
YmFja2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+CisgICAg
I21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgfQorCisgICAgLyogY29udGVudGZ1bCBhbmQgcHJlRkNQIGNsYXNzZXMgYXJlIGRlZmluZWQg
aW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLnByZUZDUCB7CisgICAgICAgIHZpc2li
aWxpdHk6IGhpZGRlbjsKKyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVsLCAgI21haW4ucHJl
RkNQIHsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVz
LnBuZyk7CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHZpc2liaWxp
dHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxz
Y3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZm9yIGJh
Y2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGUuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ2FudmFzIHNob3VsZCBj
b3VudCBhcyBjb250ZW50ZnVsIHdoZW4gY29udGV4dCBpcyBjcmVhdGVkIAorCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Y2FudmFzLWNvbnRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFz
LWNvbnRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
d2hlbiBjYW52YXMgY29udGV4dCBpcyBjcmVhdGVkPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Y2FudmFzIGlkPSJjYW52
YXMiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8c2NyaXB0PgorICBwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9y
bWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAg
YXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIp
KTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAgIGNvbnN0
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYW52YXMnKTsKKyAgICBjb25zdCBj
b250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CisgICAgY29udGV4dC5maWxsUmVjdCgw
LCAwLCAxMDAsIDEwMCk7CisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQodCk7
CisgIH0sICdDYW52YXMgc2hvdWxkIGNvdW50IGFzIGNvbnRlbnRmdWwgd2hlbiBjb250ZXh0IGlz
IGNyZWF0ZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1n
cmFkaWVudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRp
ZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBH
cmFkaWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsIAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtZ3JhZGllbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIG5vdCBmaXJlIHdpdGgg
Z3JhZGllbnQtb25seSBiYWNrZ3JvdW5kczwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4gewor
ICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGJh
Y2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIG9yYW5nZSwgYmx1ZSk7
CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91
dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgIHBy
b21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93
LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIp
OworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcign
bG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCk7
CisgIH0sICAnR3JhZGllbnRzIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bCcpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4dAorCitQQVNTIEZp
cnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHJv
dGF0aW5nIGludG8gdmlldy4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90
YXRlLWRlc2NlbmRhbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gM2QgcmV2ZWFsaW5nIG9mIGRlc2NlbmRhbnRz
PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVY
KDQ1ZGVnKTsKKyAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKKyAgICB9CisK
KyAgICAvKgorICAgICAgIFRoaXMgdGVzdHMgdGhhdCBnaXZlbiBtdWx0aXBsaWNhdGlvbiBlZmZl
Y3Qgb2YgM2QgdHJhbnNmb3JtcyBvbiBib3VuZGluZyByZWN0LAorICAgICAgIEFuIGVsZW1lbnQg
Y291bnRzIGFzIGNvbnRlbnRmdWwvcGFpbnRhYmxlIG9ubHkgd2hlbiBpdHMgYm91bmRpbmcgcmVj
dCBpcyB0cnVseSBub24tZW1wdHkgKi8KKyAgICAjY2hpbGQgeworICAgICAgICB0cmFuc2Zvcm06
IHJvdGF0ZVgoNDVkZWcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVm
aW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAg
ICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgor
ICAgIDxkaXYgaWQ9ImNoaWxkIj5UZXh0PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVz
dF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBn
ZXR0aW5nIHJvdGF0aW5nIGludG8gdmlldy4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gM2Qgcm90YXRpb24gaW50byB2aWV3LiAK
KwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXc8
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9y
bTogcm90YXRlWSg5MGRlZyk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAg
dG9wOiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0
ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5z
Zm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRleHQ8L2Rpdj4K
KzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVl
IHRvIDNkIHJvdGF0aW9uIGludG8gdmlldy4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byBzY2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4gCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24t
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNT
IEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcgdHJhbnNp
dGlvbi4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlv
bi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJh
bnNpdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBp
biB0cmFuc2l0aW9uPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRo
OiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAg
ICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0g
MXM7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0K
KworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQu
ICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7
CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91
dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj5URVhUPC9kaXY+Cis8c2NyaXB0Pgor
ICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gcmV2ZWFsZWQg
ZHVyaW5nIHRyYW5zaXRpb24uIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS1zY2FsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRl
c3Q6IEZDUCBkdWUgdG8gc2NhbGUgY2hhbmdlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7
CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
bGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAgICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTog
dXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1
bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250
ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBzY2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4iKQorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK0lOVklTSUJMRQor
CitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50
IGJlY29taW5nIHZpc2libGUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBl
cmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIHN0aWxsIGZpcmUgZm9yIGlu
dmlzaWJsZSB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgICAgIGNvbG9yOiByZ2JhKDAs
IDAsIDAsIDApOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBp
biB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHZp
c2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAg
ICBJTlZJU0lCTEUKKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVu
dGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4i
KQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0
eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0
byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiAKKwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGR1ZSB0byBhbmNlc3RvciBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAj
bWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRv
cDogMDsKKyAgICB9CisKKyAgICAjY2hpbGQgeworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0K
KworICAgIC8qIGNvbnRlbnRmdWwgYW5kIGludGVybWVkaWF0ZSBjbGFzc2VzIGFyZSBkZWZpbmVk
IGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICNjaGlsZCB7Cisg
ICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorCisgICAgI21haW4uaW50ZXJtZWRpYXRlICNjaGls
ZCB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorCisgICAgI21haW4uaW50ZXJtZWRpYXRl
IHsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVsIHsK
KyAgICAgICAgb3BhY2l0eTogMC41OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+
CisgICAgPGRpdiBpZD0iY2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0
ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9y
IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gb3BhY2l0eS1y
ZXZlYWxlZCBlbGVtZW50LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGR1ZSB0byBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7Cisg
ICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVm
dDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAg
ICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7Cisg
ICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBk
ZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAg
ICAgICAgb3BhY2l0eTogMC4xOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9k
aXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVsZW1lbnQuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlvbiB3
aXRoIGRvY3VtZW50LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNs
YXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNs
YXRlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJh
bnNsYXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1
ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQ8L3RpdGxlPgor
PHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogdHJhbnNs
YXRlKC0xMDAwcHgpOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDog
MDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBu
Zyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3Rf
ZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3Jt
OiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0
PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byB0cmFu
c2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIikKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQ
YWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudDwv
dGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IC0xMDAwcHg7CisgICAgICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdl
OiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50
ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNv
bnRlbnRmdWwgeworICAgICAgICBsZWZ0OiAwcHg7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlk
PSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiIpCis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1k
aXNwbGF5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBz
ZXVkby1lbGVtZW50IHRleHQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
ZGlzcGxheS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1k
aXNwbGF5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LWRpc3BsYXkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
ZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsK
KyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBj
b250ZW50OiAiVEVYVCI7CisgICAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAgLyog
Y29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAj
bWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2Zj
cCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4
dC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNl
dWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1pbWFnZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC1pbWFnZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC1pbWFnZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZD
UCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgaW1hZ2U8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWlu
IHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7Cisg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBp
cyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFm
dGVyIHsKKyAgICAgICAgY29udGVudDogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7Cisg
ICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0
ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1l
bnQgaW1hZ2UuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZlIG9wYWNp
dHkuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1l
bGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21h
aW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsK
KyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAg
ICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAv
KiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAg
ICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBvcGFjaXR5OiAwLjU7CisgICAgfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2Zj
cCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0
dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIAorCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRp
bWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQ8L3RpdGxlPgorPHN0eWxl
PgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0
aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVu
dGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5j
b250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiCisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4iKQor
PC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIAorCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRp
dGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVt
ZW50IGJlY29taW5nIHZpc2libGU8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAg
ICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBjb250ZW50
OiAiVEVYVCI7CisgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICB9CisKKyAgICAvKiBj
b250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNt
YWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOworICAg
IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMu
anMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVz
dF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50
IGJlY29taW5nIHZpc2libGUuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXN2Zy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIFNWRyBiZWNvbWVzIGNvbnRlbnRmdWwuIAorCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZv
cm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agd2l0aCBTVkc8L3RpdGxlPgorPHN0eWxlPgor
ICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICB9
CisKKyAgICAjY2lyY2xlIHsKKyAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAgLyog
Y29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAj
bWFpbi5jb250ZW50ZnVsICNjaXJjbGUgeworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICA8c3ZnIHZpZXdCb3g9IjAgMCAxMCAxMCIg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgorICAgICB4bWxuczp4bGluaz0iaHR0
cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CisgICAgPGRlZnM+CisgICAgICA8Y2lyY2xlIGlk
PSJteUNpcmNsZSIgY3g9IjUiIGN5PSI1IiByPSI0IiBzdHJva2U9ImJsdWUiLz4KKyAgICA8L2Rl
ZnM+CisgICAgPHVzZSBpZD0iY2lyY2xlIiBocmVmPSIjbXlDaXJjbGUiIGZpbGw9ImdyZWVuIiAv
PgorICA8L3N2Zz4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVu
dGZ1bCBwYWludCBmaXJlcyB3aGVuIFNWRyBiZWNvbWVzIGNvbnRlbnRmdWwuIikKKzwvc2NyaXB0
PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFRleHQgaW5wdXQgc2hv
dWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gaXRzIHZhbHVlIGlzIG5vbi1lbXB0eSAKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdGV4dC1pbnB1dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlu
cHV0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSBm
b3Igbm9uLWVtcHR5IHRleHQgaW5wdXQ8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9
InRleHQiIC8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBh
c3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQg
VGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4g
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3NlcnRO
b0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnaW5wdXQnKTsKKyAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgndmFsdWUn
LCAnICAnKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCk7Cisg
ICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ3ZhbHVlJyk7CisgICAgICBhd2FpdCBh
c3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgJ1RleHQgaW5wdXQgc2hvdWxkIGJl
Y29tZSBjb250ZW50ZnVsIHdoZW4gaXRzIHZhbHVlIGlzIG5vbi1lbXB0eScpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRv
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNl
dWRvLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBo
aWMtcHNldWRvLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK0EK
KworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIG9ubHkgd2hlbiBzb21lIG9mIHRo
ZSB0ZXh0IGlzIHZpc2libGUsIGNvbnNpZGVyaW5nIDo6Zmlyc3QtbGV0dGVyLiAKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBU
aW1pbmcgVGVzdDogRkNQIHNob3VsZCBub3QgZmlyZSB3aGVuIGFsbCB0ZXh0IGlzIGhpZGRlbiBk
dWUgdG8gdHlwb2dyYXBoaWMgcHNldWRvLWVsZW1lbnRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAj
bWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4
OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluICo6OmZpcnN0LWxl
dHRlciB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBj
bGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50
ZnVsICo6OmZpcnN0LWxldHRlciB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2PkE8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4K
KyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBvbmx5IHdoZW4gc29t
ZSBvZiB0aGUgdGV4dCBpcyB2aXNpYmxlLCBjb25zaWRlcmluZyA6OmZpcnN0LWxldHRlci4iKQor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJh
bWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFZpZGVv
IHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGZpcnN0IGZyYW1lIGlzIGxvYWRlZCAKKwpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZp
ZGVvLWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IGR1ZSB0byBsb2FkZWQgdmlkZW8gZnJhbWU8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIGF1
dG9wbGF5PjwvdmlkZW8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Cisg
ICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAi
UGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNl
KHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBh
c3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAgICAgLy8gU2V0IGFjdHVhbCB2aWRl
byBjb250ZW50IHRvIHRyaWdnZXIgRkNQLgorICAgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndmlkZW8nKTsKKyAgICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgnc3JjJywg
Jy9tZWRpYS90ZXN0Lm1wNCcpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7
CisgICAgICAgIHZpZGVvLm9uY2FucGxheSA9IHJlc29sdmU7CisgICAgICB9KTsKKyAgICAgIGF3
YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICB9LCAnVmlkZW8gc2hvdWxkIGJl
Y29tZSBjb250ZW50ZnVsIHdoZW4gZmlyc3QgZnJhbWUgaXMgbG9hZGVkJyk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVmlkZW8gc2hvdWxk
IGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9zdGVyIGlzIGxvYWRlZCAKKwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVy
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBs
b2FkZWQgdmlkZW8gcG9zdGVyPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8dmlkZW8gaWQ9InZpZGVvIiB3aWR0aD0iNTAi
IGhlaWdodD0iNTAiPjwvdmlkZW8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9
PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWlu
ZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgYXdhaXQgbmV3IFByb21p
c2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICBhd2FpdCBh
c3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAgIGNvbnN0IHZpZGVvID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpZGVvJyk7CisgICAgY29uc3Qgc3JjID0gJy4uL3Jlc291cmNl
cy9jaXJjbGVzLnBuZyc7CisgICAgY29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTsKKyAgICBpbWFn
ZS5zcmMgPSBzcmM7CisgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdwb3N0ZXInLCBzcmMpOworICAg
IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICBpbWFnZS5vbmxvYWQgPSBh
c3luYyAoKSA9PiByZXNvbHZlKCk7CisgICAgfSkKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRl
bnRmdWxQYWludCh0KTsKKyAgfSwgJ1ZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVu
IHBvc3RlciBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
IEBACitURVhUCisKK1BBU1MgV2hpdGVzcGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRm
dWwuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXdoaXRlc3BhY2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0
OiBXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bDwvdGl0bGU+Cis8c3R5
bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1p
bWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIGJhY2tncm91bmQt
c2l6ZTogMCAwOworICAgIH0KKworICAgICN0ZXh0IHsKKyAgICAgICAgZGlzcGxheTogbm9uZTsK
KyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Ag
c2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI3RleHR7CisgICAgICAgIGRpc3BsYXk6
IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0i
d2hpdGVzcGFjZSI+ICAgPC9kaXY+CisgICAgPGRpdiBpZD0idGV4dCI+VEVYVDwvZGl2PgorPC9k
aXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQg
YXMgY29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC13aXRoLXJ0bC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdp
dGgtcnRsLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RFWFQK
KworUEFTUyBGQ1Agc2hvdWxkIGZpcmUgd2hlbiBjb29yZGluYXRlcyBhcmUgbmVnYXRpdmUsIGlm
IHdpdGhpbiBkb2N1bWVudCBzY3JvbGxhYmxlIGFyZWEgCisKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13
aXRoLXJ0bC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNDEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gZGlyZWN0aW9uIGNoYW5nZTwvdGl0
bGU+Cis8c3R5bGU+CisgICN0ZXh0IHsKKyAgICByaWdodDogLTEwMHB4OworICAgIHBvc2l0aW9u
OiBhYnNvbHV0ZTsKKyAgfQorCisgIGJvZHkgeworICAgIGRpcmVjdGlvbjogcnRsOworICB9CisK
KyAgI2R1bW15IHsKKyAgICBiYWNrZ3JvdW5kOiB5ZWxsb3c7CisgICAgd2lkdGg6IDEwcHg7Cisg
ICAgaGVpZ2h0OiAxMHB4OworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICBsZWZ0OiAwOwor
ICAgIHRvcDogMDsKKyAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJkdW1teSI+PC9kaXY+Cis8ZGl2
IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9
PiB7CisgICAgICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWlu
ZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJv
bWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdh
aXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgICAgIGRvY3VtZW50LmJvZHku
c3R5bGUuZGlyZWN0aW9uID0gJ2x0cicKKyAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdk
dW1teScpLnN0eWxlLmJhY2tncm91bmQgPSAnZ3JlZW4nCisgICAgICBhd2FpdCBhc3NlcnRGaXJz
dENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgJ0ZDUCBzaG91bGQgZmlyZSB3aGVuIGNvb3JkaW5h
dGVzIGFyZSBuZWdhdGl2ZSwgaWYgd2l0aGluIGRvY3VtZW50IHNjcm9sbGFibGUgYXJlYScpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2Zwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2Zwkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNv
dXJjZXMvY2lyY2xlLnN2Zwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKzxzdmcgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiPgorICAgPGNpcmNs
ZSBjeD0iMTAwIiBjeT0iNTAiIHI9IjQwIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIi
IGZpbGw9Im5vbmUiIC8+Cis8L3N2Zz4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46
bWltZS10eXBlID0gaW1hZ2UvcG5nCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2ly
Y2xlcy5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCitp
bWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2Vz
L3N1YmZyYW1lLXBhaW50aW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1l
LXBhaW50aW5nLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50
aW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8Ym9keT4KKzxkaXYgaWQ9ImltYWdlIj48L2Rpdj4KKzxzY3JpcHQ+CisgIGNvbnN0IGltZyA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0lNRycpOworICBpbWcuc3JjID0gJ2NpcmNsZXMucG5n
JzsKKyAgaW1nLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGZ1bmN0aW9uIHNlbmRQYWludEVu
dHJpZXMoKSB7CisgICAgICBjb25zdCBwYWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRy
aWVzQnlUeXBlKCdwYWludCcpOworICAgICAgaWYgKHBhaW50RW50cmllcy5sZW5ndGggPCAyKSB7
CisgICAgICAgIHNldFRpbWVvdXQoc2VuZFBhaW50RW50cmllcywgMjApOworICAgICAgICByZXR1
cm47CisgICAgICB9CisgICAgICBsZXQgZW50cnlDb250ZW50cyA9IHBhaW50RW50cmllcy5sZW5n
dGggKyAnJzsKKyAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFpbnRFbnRyaWVzLmxlbmd0aDsg
aSsrKSB7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAgICAgICBl
bnRyeUNvbnRlbnRzICs9ICcgJyArIGVudHJ5LmVudHJ5VHlwZSArICcgJyAgKyBlbnRyeS5uYW1l
OworICAgICAgfQorICAgICAgcGFyZW50LnBvc3RNZXNzYWdlKGVudHJ5Q29udGVudHMsICcqJyk7
CisgICAgfTsKKyAgICBzZW5kUGFpbnRFbnRyaWVzKCk7CisgIH07CisgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdpbWFnZScpLmFwcGVuZENoaWxkKGltZyk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdD4KKyAgc2Vs
Zi5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZSkgeworICAgIC8vIFNlbmQg
cGFpbnQtdGltaW5nIGVudHJpZXMgdXBvbiByZWNlaXZpbmcgYSBtZXNzYWdlLgorICAgIGNvbnN0
IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3BhaW50Jyk7Cisg
ICAgbGV0IGVudHJ5Q29udGVudHMgPSBwYWludEVudHJpZXMubGVuZ3RoICsgJyc7CisgICAgZm9y
IChsZXQgaSA9IDA7IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgIGNvbnN0
IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAgICAgZW50cnlDb250ZW50cyArPSAnICcgKyBl
bnRyeS5lbnRyeVR5cGUgKyAnICcgICsgZW50cnkubmFtZTsKKyAgICB9CisgICAgcGFyZW50LnBv
c3RNZXNzYWdlKGVudHJ5Q29udGVudHMsICcqJyk7CisgIH0pOworPC9zY3JpcHQ+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9y
ZXNvdXJjZXMvdXRpbHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQ4IEBACitmdW5jdGlvbiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKGNvdW50KSB7CisgIHJldHVy
biBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBpZiAoY291bnQtLSA8PSAwKSB7CisgICAg
ICByZXNvbHZlKCk7CisgICAgfSBlbHNlIHsKKyAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgo
KSA9PiB7CisgICAgICAgIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoY291bnQpLnRoZW4ocmVzb2x2
ZSk7CisgICAgICB9KTsKKyAgICB9CisgIH0pOworfQorCisvLyBBc3NlcnRzIHRoYXQgdGhlcmUg
aXMgY3VycmVudGx5IG5vIEZDUCByZXBvcnRlZC4gUGFzcyB0IHRvIGFkZCBzb21lIHdhaXQsIGlu
IGNhc2UgQ1NTIGlzIGxvYWRlZAorLy8gYW5kIEZDUCBpcyBpbmNvcnJlY3RseSBmaXJlZCBhZnRl
cndhcmRzLgorYXN5bmMgZnVuY3Rpb24gYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KSB7
CisgIGF3YWl0IHdhaXRGb3JBbmltYXRpb25GcmFtZXMoMyk7CisgIGFzc2VydF9lcXVhbHMocGVy
Zm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0
aCwgMCwgJ0ZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgbWFya2VkIHRvbyBlYXJseS4gJyk7Cit9CisK
Ky8vIEZ1bmN0aW9uIHRoYXQgaXMgcmVzb2x2ZWQgb25jZSBGQ1AgaXMgcmVwb3J0ZWQsIHVzaW5n
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuIEl0IHJlamVjdHMgYWZ0ZXIgYSBsb25nCisvLyB3YWl0IHRp
bWUgc28gdGhhdCBmYWlsaW5nIHRlc3RzIGRvbid0IHRpbWVvdXQuCithc3luYyBmdW5jdGlvbiBh
c3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNv
bHZlICA9PiB7CisgICAgZnVuY3Rpb24gY2hlY2tGQ1AoKSB7CisgICAgICBpZiAocGVyZm9ybWFu
Y2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0aCA9PT0g
MSkgeworICAgICAgICByZXNvbHZlKCk7CisgICAgICB9IGVsc2UgeworICAgICAgICByZXF1ZXN0
QW5pbWF0aW9uRnJhbWUoY2hlY2tGQ1ApCisgICAgICB9CisgICAgfQorICAgIHQuc3RlcChjaGVj
a0ZDUCk7CisgIH0pOworfQorCithc3luYyBmdW5jdGlvbiB0ZXN0X2ZjcChsYWJlbCkgeworICBj
b25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CisgIGRvY3VtZW50
LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOworICBhd2FpdCBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9
PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWlu
ZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgY29uc3QgbWFpbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluJyk7CisgICAgYXdhaXQgbmV3IFByb21pc2UociA9
PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICBhd2FpdCBhc3NlcnRO
b0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAgIG1haW4uY2xhc3NOYW1lID0gJ3ByZUZDUCc7
CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgICBtYWluLmNs
YXNzTmFtZSA9ICdjb250ZW50ZnVsJzsKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQ
YWludCh0KTsKKyAgfSwgbGFiZWwpOworfQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMSBA
QAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzND
IHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktp
dC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlo
dHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUg
VG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitE
byBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJv
cGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVz
IHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qg
b2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmcK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1z
ZW5kaW5nLXBhaW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMKSW5kZXg6IExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFp
bnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMg
QEAKK0Jhc2ljIEludGVyZmFjZSB0ZXN0IGZvciBwYWludC10aW1pbmcgQVBJcy4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcKK1BBU1MgUGVy
Zm9ybWFuY2VQYWludFRpbWluZyBpcyBkZWZpbmVkLgorUEFTUyBQZXJmb3JtYW5jZVBhaW50VGlt
aW5nLnByb3RvdHlwZS50b0pTT04gaXMgZGVmaW5lZC4KK1BBU1MgbmV3IFBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBj
b25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKScpLgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10
aW1pbmctYXBpcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQ
RSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL3BhaW50LXRpbWluZy1hcGkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1p
bmctZnJhbWVzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyMCBAQAorUGFpbnQgQVBJIHNob3VsZCBiZSBhdmFpbGFibGUgZm9yIHNh
bWUtb3JpZ2luIGZyYW1lcyBidXQgbm90IHRvIGNyb3NzLW9yaWdpbi9zYW5kYm94ZWQgZnJhbWVz
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyByZWNlaXZlZEV2ZW50LnNv
dXJjZSBpcyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJykuY29udGVudFdp
bmRvdworUEFTUyByZWNlaXZlZEVudHJ5Lm5hbWUgaXMgJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQn
CitQQVNTIGRpZFJlY2VpdmVNZXNzYWdlRnJvbVNhbmRib3hlZElmcmFtZSBpcyBmYWxzZQorUEFT
UyBBcnJheS5pc0FycmF5KG5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcykgaXMgdHJ1ZQorUEFTUyBB
cnJheS5pc0FycmF5KHNhbmRib3hTdXBwb3J0ZWRUeXBlcykgaXMgdHJ1ZQorUEFTUyBkaWRSZWNl
aXZlTWVzc2FnZSBpcyB0cnVlCitQQVNTIG5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRl
cygicGFpbnQiKSBpcyB0cnVlCitQQVNTIHNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygi
cGFpbnQiKSBpcyBmYWxzZQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQgY2FsbGJhY2sgd2FzIGZpcmVkIGZvciBzYW1lLW9yaWdpbiBmcmFtZSBidXQgbm90
IGZvciBjcm9zcy1vcmlnaW4gZnJhbWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCisKK1RFWFQKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9wYWludC10aW1pbmctZnJhbWVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CisgICAgPGlmcmFt
ZSB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgaWQ9Im5vblNhbmRib3hlZCIgc3JjPSIuL3Jlc291
cmNlcy9mY3Atc3ViZnJhbWUuaHRtbCI+PC9pZnJhbWU+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwv
ZGl2PgorPGlmcmFtZSBpZD0ic2FuZGJveGVkIiBzcmM9Ii4vcmVzb3VyY2VzL2ZjcC1zdWJmcmFt
ZS5odG1sIiBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIj48L2lmcmFtZT4KKzxkaXYgY2xhc3M9InNw
YWNlciI+PC9kaXY+CisKKyAgICBURVhUCisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiUGFpbnQg
QVBJIHNob3VsZCBiZSBhdmFpbGFibGUgZm9yIHNhbWUtb3JpZ2luIGZyYW1lcyBidXQgbm90IHRv
IGNyb3NzLW9yaWdpbi9zYW5kYm94ZWQgZnJhbWVzLiIpOword2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOword2luZG93LmRpZFJlY2VpdmVNZXNzYWdlID0gZmFsc2U7CisKK3dpbmRvdy5vbmxv
YWQgPSBhc3luYyAoKSA9PiB7CisgICAgY29uc3Qgc2FuZGJveGVkID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3NhbmRib3hlZCcpOworICAgIGNvbnN0IG5vblNhbmRib3hlZCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKTsKKyAgICBjb25zdCBmY3BNZXNzYWdlUHJv
bWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICB3aW5kb3cub25tZXNzYWdl
ID0gZXZlbnQgPT4geworICAgICAgICAgICAgd2luZG93LnJlY2VpdmVkRXZlbnQgPSBldmVudDsK
KyAgICAgICAgICAgIGNvbnN0IGlzRnJvbVNhbmRib3hlZCA9IGV2ZW50LnNvdXJjZSA9PT0gc2Fu
ZGJveGVkLmNvbnRlbnRXaW5kb3c7CisgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gSlNPTi5w
YXJzZShldmVudC5kYXRhKTsKKyAgICAgICAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7Cisg
ICAgICAgICAgICAgICAgY2FzZSAnc3VwcG9ydGVkJzoKKyAgICAgICAgICAgICAgICAgICAgaWYg
KGlzRnJvbVNhbmRib3hlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zYW5kYm94
U3VwcG9ydGVkVHlwZXMgPSBtZXNzYWdlLnN1cHBvcnRlZDsKKyAgICAgICAgICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93Lm5vblNhbmRib3hTdXBwb3J0ZWRU
eXBlcyA9IG1lc3NhZ2Uuc3VwcG9ydGVkOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgICAgICBjYXNlICdyZWNlaXZlZCc6CisgICAgICAgICAgICAgICAgICAgIHdpbmRv
dy5kaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUgPSBpc0Zyb21TYW5kYm94ZWQ7
CisgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5yZWNlaXZlZEVudHJ5ID0gbWVzc2FnZS5lbnRy
eTsKKyAgICAgICAgICAgICAgICAgICAgZGlkUmVjZWl2ZU1lc3NhZ2UgPSB0cnVlOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgncmVjZWl2ZWRFdmVudC5zb3VyY2UnLCAiZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ25vblNhbmRib3hlZCcpLmNvbnRlbnRXaW5kb3ciKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoJ3JlY2VpdmVkRW50cnkubmFtZScsICInZmlyc3QtY29udGVu
dGZ1bC1wYWludCciKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICB9KTsKKwor
ICAgIHNhbmRib3hlZC5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCJwYWludCIsICIqIik7Cisg
ICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIG5vblNhbmRib3hlZC5jb250ZW50V2luZG93LnBv
c3RNZXNzYWdlKCJwYWludCIsICIqIik7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIGF3
YWl0IGZjcE1lc3NhZ2VQcm9taXNlOworICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVNZXNz
YWdlRnJvbVNhbmRib3hlZElmcmFtZScpOworICAgIHNob3VsZEJlVHJ1ZSgnQXJyYXkuaXNBcnJh
eShub25TYW5kYm94U3VwcG9ydGVkVHlwZXMpJyk7CisgICAgc2hvdWxkQmVUcnVlKCdBcnJheS5p
c0FycmF5KHNhbmRib3hTdXBwb3J0ZWRUeXBlcyknKTsKKyAgICBzaG91bGRCZVRydWUoJ2RpZFJl
Y2VpdmVNZXNzYWdlJyk7CisgICAgc2hvdWxkQmVUcnVlKCdub25TYW5kYm94U3VwcG9ydGVkVHlw
ZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCdzYW5kYm94U3VwcG9y
dGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5j
ZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2FzIGZpcmVkIGZvciBz
YW1lLW9yaWdpbiBmcmFtZSBidXQgbm90IGZvciBjcm9zcy1vcmlnaW4gZnJhbWUiKTsKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK307CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQt
dGltaW5nLXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACitQYWludCBBUEkgc2hvdWxkIG5vdCBi
ZSBhdmFpbGFibGUgaW4gd29ya2VyIGNvbnRleHRzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5j
bHVkZXMoInBhaW50IikgaXMgdHJ1ZQorUEFTUyB3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmlu
Y2x1ZGVzKCJwYWludCIpIGlzIGZhbHNlCitQQVNTIHdvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMu
aW5jbHVkZXMoIm1hcmsiKSBpcyB0cnVlCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9y
dGVkRW50cnlUeXBlcyBkaWQgbm90IGluY2x1ZGUgJ3BhaW50JyBmb3Igd29ya2VycworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgt
d29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3BhaW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MjYgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbigiUGFpbnQgQVBJIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlIGluIHdv
cmtlciBjb250ZXh0cy4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2NvbnN0IHdv
cmtlciA9IG5ldyBXb3JrZXIoIi4vcmVzb3VyY2VzL3dvcmtlci5odG1sIik7Cit3b3JrZXIub25t
ZXNzYWdlID0gZXZlbnQgPT4geworICAgIHdpbmRvdy53b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVz
ID0gSlNPTi5wYXJzZShldmVudC5kYXRhKTsKKyAgICBzaG91bGRCZVRydWUoJ1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKScpOworICAgIHNo
b3VsZEJlRmFsc2UoJ3dvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50Iikn
KTsKKyAgICBzaG91bGRCZVRydWUoJ3dvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMo
Im1hcmsiKScpOworICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVk
RW50cnlUeXBlcyBkaWQgbm90IGluY2x1ZGUgJ3BhaW50JyBmb3Igd29ya2VycyIpOworICAgIGZp
bmlzaEpTVGVzdCgpOworfTsKKword29ya2VyLnBvc3RNZXNzYWdlKCJzdGFydCIpOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
ZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2Jz
ZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0
LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTAgQEAKK1BBU1MgZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50IGlzIHRydWUKK1BBU1Mg
cGVyZm9ybWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGggaXMgMQorUEFT
UyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50Iiwg
InBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgi
cGFpbnQiKS5sZW5ndGggaXMgMQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQgY2FsbGJhY2sgd2Fzbid0IGZpcmVkIGFnYWluIAorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitURVhUMgpJbmRleDogTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVy
Zm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1m
aXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MSBA
QAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
cGFpbnQtYXBpLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4K
K2Rlc2NyaXB0aW9uKCJFbnN1cmUgUGVyZm9ybWFuY2VPYnNlcnZlcnMgYXJlIG5vdGlmaWVkIG9u
Y2UgZm9yIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CisgCisoYXN5bmMgKCkgPT4geworICAgIHdpbmRvdy5kaWRSZWNlaXZlRmlyc3RDb250
ZW50ZnVsUGFpbnQgPSBmYWxzZTsKKyAgICB3aW5kb3cuc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uu
bm93KCk7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJl
c29sdmUgPT4geworICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2Vy
dmVyKGVudHJ5TGlzdCA9PiB7CisgICAgICAgICAgICB3aW5kb3cuZW50cnlMaXN0ID0gZW50cnlM
aXN0OworICAgICAgICAgICAgc2hvdWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzKCkubGVuZ3Ro
JywgIjEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5TmFt
ZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIpLmxlbmd0aCcsIDEpOworICAgICAgICAgICAgc2hv
dWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCcsICIxIik7
CisgICAgICAgICAgICB3aW5kb3cuZmNwRW50cnkgPSBlbnRyeUxpc3QuZ2V0RW50cmllcygpWzBd
OworICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgnZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBh
aW50Jyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50cnkubmFtZScsICciZmlyc3QtY29u
dGVudGZ1bC1wYWludCInKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5lbnRyeVR5
cGUnLCAnInBhaW50IicpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdmY3BFbnRyeS5zdGFy
dFRpbWUgPiB3aW5kb3cuc3RhcnRUaW1lJyk7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoJ2Zj
cEVudHJ5LnN0YXJ0VGltZSA8IHBlcmZvcm1hbmNlLm5vdygpJyk7CisgICAgICAgICAgICBzaG91
bGRCZSgnZmNwRW50cnkuZHVyYXRpb24nLCAiMCIpOworICAgICAgICAgICAgZGlkUmVjZWl2ZUZp
cnN0Q29udGVudGZ1bFBhaW50ID0gdHJ1ZTsKKyAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAg
ICAgfSk7CisKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydwYWludCdd
fSk7CisgICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQnOworICAgIH0pCisg
ICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAnVEVYVDInOworICAgIGF3YWl0IHdhaXRGb3JG
Q1AoKTsKKyAgICBzaG91bGRCZVRydWUoJ2RpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCcp
OworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKCkubGVuZ3RoJywgIjEiKTsK
KyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVu
dGZ1bC1wYWludCIpLmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiLCAicGFpbnQiKS5sZW5ndGgn
LCAiMSIpOworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJwYWlu
dCIpLmxlbmd0aCcsICIxIik7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBm
aXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAiKTsKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30pKCk7CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMv
ZmNwLXN1YmZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDIwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAg
IGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7CisgICAg
ICAgIGxpc3QuZ2V0RW50cmllcygpLmZvckVhY2goZW50cnkgPT4geworICAgICAgICAgICAgd2lu
ZG93LnBhcmVudC5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZTogJ3JlY2VpdmVkJywg
ZW50cnl9KSwgJyonKTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICBvYnNlcnZlci5vYnNl
cnZlKHtlbnRyeVR5cGVzOiBbInBhaW50Il19KTsKKyAgICB3aW5kb3cub25tZXNzYWdlID0gZSA9
PiB7CisgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3N1
cHBvcnRlZDogUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLCB0eXBlOiAn
c3VwcG9ydGVkJ30pLCAnKicpOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICJU
RVhUIjsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGkt
dXRpbHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291
cmNlcy9wYWludC1hcGktdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw1IEBACithc3luYyBmdW5jdGlvbiB3YWl0Rm9yRkNQKCkKK3sKKyAgICBhd2Fp
dCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiByZXNv
bHZlKCkpKTsKKyAgICByZXR1cm4gd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUo
J2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5ndGggPT0gMTsKK30KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2Vz
L3BhaW50LXRpbWluZy1hcGkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACitpZiAoc2VsZi5pbXBvcnRTY3JpcHRzKQor
ICAgIGltcG9ydFNjcmlwdHMoIi4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyIpOworCitp
ZiAoc2VsZi53aW5kb3cpCisgICAgZGVzY3JpcHRpb24oIkJhc2ljIEludGVyZmFjZSB0ZXN0IGZv
ciBwYWludC10aW1pbmcgQVBJcy4iKTsKKworZGVidWcoIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmci
KTsKK3Nob3VsZEJlRGVmaW5lZCgiUGVyZm9ybWFuY2VQYWludFRpbWluZyIpOworc2hvdWxkQmVE
ZWZpbmVkKGBQZXJmb3JtYW5jZVBhaW50VGltaW5nLnByb3RvdHlwZS50b0pTT05gKTsKK3Nob3Vs
ZFRocm93KGBuZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygpYCk7CisKK2lmIChzZWxmLmltcG9y
dFNjcmlwdHMpCisgICAgZmluaXNoSlNUZXN0KCk7CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKK3NlbGYub25tZXNzYWdlID0gKCkgPT4geworICAgIHNl
bGYucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0
ZWRFbnRyeVR5cGVzKSk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5
b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Rl
c3RzLW9wdGlvbnMuanNvbgkocmV2aXNpb24gMjYwMDQ1KQorKysgTGF5b3V0VGVzdHMvdGVzdHMt
b3B0aW9ucy5qc29uCSh3b3JraW5nIGNvcHkpCkBAIC0xNyw2ICsxNyw5IEBACiAgICAgImltcG9y
dGVkL3czYy9jc3MvY3NzLXZhbHVlcy92aF9ub3RfcmVmcmVzaGluZ19vbl9jaHJvbWUuaHRtbCI6
IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWlu
Zy9maXJzdC1pbWFnZS1jaGlsZC5odG1sIjogWworICAgICAgICAic2xvdyIKKyAgICBdLAogICAg
ICJpbXBvcnRlZC93M2Mvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvdXBk
YXRpbmctdGhlLWZpbmlzaGVkLXN0YXRlLmh0bWwiOiBbCiAgICAgICAgICJzbG93IgogICAgIF0s
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTkzNiw2ICs5MzYsNyBAQAog
ICAgIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbAogICAgIHBhZ2UvUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlv
bi5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VTZXJ2ZXJUaW1p
bmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI2MDQyNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDEyNCBAQAorMjAyMC0wNC0yMSAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWlu
dCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVk
IHRoZSBuZWNlc3NhcnkgaW50ZXJmYWNlLCBleHRlbnNpb25zIHRvIHRoZSBwZXJmb3JtYW5jZSBp
bnRlcmZhY2UgYW5kIG9ic2VydmVyLCBuZXcgcnVudGltZSBmbGFnLgorICAgICAgICBEZXRlY3Rp
bmcgY29udGVudGZ1bG5lc3MgYWZ0ZXIgbGF5b3V0IGFuZCBiZWZvcmUgYWN0dWFsIHBhaW50LCBi
eSBydW5uaW5nIGEgImR1bW15IiBwYWludCwgc2ltaWxhciB0byAKKyAgICAgICAgaW52YWxpZGF0
ZUNvbnRyb2xUaW50cygpIC8gaW52YWxpZGF0ZUltYWdlc1dpdGhBc3luY0RlY29kZXMoKS4gU2F2
ZSB0aGUgcmVzdWx0IHRvIHRoZSBHcmFwaGljc0NvbnRleHQgYW5kIHRoZW4gdG8gdGhlIGRvY3Vt
ZW50LgorICAgICAgICBUaGlzIHdvdWxkIHJ1biBmb3IgZXZlcnkgcGFpbnQgdW50aWwgd2UgZGV0
ZWN0IGEgY29udGVudGZ1bCBvbmUuCisKKyAgICAgICAgTm90ZSB0aGF0IGl0IHBhaW50cyB0aGUg
ZW50aXJlIGZyYW1lIGNvbnRlbnRzLCBhcyBGQ1AgaXMgbm90IHZpZXdwb3J0LWRlcGVuZGVudC4K
KworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
YmctaW1hZ2Utc2V0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1n
cmFkaWVudC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5k
YW50Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwKKyAgICAg
ICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLXNjYWxlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vcGFjaXR5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0
ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtaW1hZ2UuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHku
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2
Zy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
dHlwb2dyYXBoaWMtcHNldWRvLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1s
CisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0
ZXNwYWNlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCisgICAgICAgICAgICAg
ICBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMuaHRtbAorICAg
ICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtd2l0aC13
b3JrZXIuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1h
cGlzLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNl
cnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNlcy50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3Jl
QnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmg6
IEFkZGVkLgorICAgICAgICAoaXNUeXBlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFp
bnRUaW1pbmcuaWRsOiBBZGRlZC4KKyAgICAgICAgICAgICAgICBBZGQgUGVyZm9ybWFuY2VQYWlu
dFRpbWluZyBpbnRlcmZhY2UuIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI3Nl
Yy1QZXJmb3JtYW5jZVBhaW50VGltaW5nCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnN1cHBvcnRzUGFpbnRUaW1pbmcgY29uc3QpOgor
ICAgICAgICAgICAgICAgIFdlIG9ubHkgcmVwb3J0IHBhaW50IHRpbWluZyBmb3IgZG9jdW1lbnQg
dGhhdCBjYW4gYWNjZXNzIHRoZSB0b3AgbGV2ZWwgc2VjdXJpdHkgb3JpZ2luLCB0byBhdm9pZCBs
ZWFrYWdlIG9mIGluZm9ybWF0aW9uIHRvIHNhbmRib3hlZCBpZnJhbWVzLgorCisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6cmVwb3J0UGFpbnRUaW1pbmdJZk5lZWRlZCk6CisgICAgICAgICog
ZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICAgICAgICAgUmVwb3J0IHBhaW50IHRpbWluZywgYWNj
b3JkaW5nIHRvIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI3NlYy1yZXBvcnRp
bmctcGFpbnQtdGltaW5nCisKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICAgICAgICAgUmVw
b3J0IGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgYWZ0ZXIgbGF5b3V0LgorICAgICAgICAgICAgICAg
IFNlZSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0
bWwjdXBkYXRlLXRoZS1yZW5kZXJpbmcKKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXMgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeVR5cGUgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeU5hbWUgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KToK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAgICAgICAgICAgICAgU3VwcG9ydCBm
aXJzdC1jb250ZW50ZnVsLXBhaW50IHJlcG9ydGluZy4KKworICAgICAgICAqIHBhZ2UvUGVyZm9y
bWFuY2VFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5OjpwYXJz
ZUVudHJ5VHlwZVN0cmluZyk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc1BhaW50IGNvbnN0KToKKyAgICAg
ICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZU9ic2VydmVyLmg6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVy
LmlkbDoKKyAgICAgICAgICAgICAgICBBZGQgcGFpbnQgcGVyZm9ybWFuY2UgZW50cnkgdHlwZS4K
KworICAgICAgICAqIHBhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2Vi
Q29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0UGFpbnRUaW1pbmdFbmFibGVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnBhaW50VGltaW5nRW5hYmxl
ZCBjb25zdCk6CisgICAgICAgICAgICAgICAgTmV3IHJ1bnRpbWUgZmxhZyBmb3IgcGFpbnQgdGlt
aW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRldGVjdGluZ0NvbnRlbnRmdWxQYWlu
dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OnNldENvbnRlbnRm
dWxQYWludERldGVjdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6Y29u
dGVuZnVsUGFpbnREZXRlY3RlZCBjb25zdCk6CisgICAgICAgICAgICAgICAgQWRkIGEgZmxhZyBp
biBHcmFwaGljc0NvbnRleHQgd2hlcmUgZGlmZmVyZW50IHJlbmRlciBvcGVyYXRpb25zIGNhbiBy
ZXBvcnQgaWYgdGhleSdyZSBjb250ZW50ZnVsLgorCisgICAgICAgICogcmVuZGVyaW5nL0NvbnRl
bnRmdWxQYWludENoZWNrZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRm
dWxQYWludENoZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRmdWxQYWludCk6CisgICAgICAgICAg
ICAgICAgUnVuIGEgImR1bW15IiBwYWludCBvZiB0aGUgRnJhbWVWaWV3LCB0byBkZXRlY3QgY29u
dGVudGZ1bCBlbGVtZW50cy4gCisKKyAgICAgICAgKiByZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50
Q2hlY2tlci5oOiBBZGRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50Rmls
bExheWVyRXh0ZW5kZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckhUTUxDYW52YXM6OnBhaW50UmVwbGFjZWQpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6cGFpbnRSZXBsYWNlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVu
dHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWRlby5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJWaWRlbzo6cGFpbnRSZXBsYWNlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1Rl
eHRQYWludGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRQYWludGVyOjpwYWludFRleHRP
ckVtcGhhc2lzTWFya3MpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSb290OjpwYWludFJlcGxhY2VkKToKKyAg
ICAgICAgICAgICAgICBSZXBvcnQgY29udGVudGZ1bG5lc3Mgd2hlbiB3ZSByZWFjaCBhbnl0aGlu
ZyB0aGF0IHF1YWxpZmllcyBhcyBjb250ZW50ZnVsLAorICAgICAgICAgICAgICAgIGJhc2VkIG9u
IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI2NvbnRlbnRmdWwuCisKIDIwMjAt
MDQtMjEgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBFeGl0IGVhcmx5
IGluIEZyYW1lTG9hZGVyOjpsb2FkVVJMIHdoZW4gcmVkaXJlY3RpbmcgdG8gYW5vdGhlciBmcmFt
ZQpJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiAyNjAwNDUpCisr
KyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC05
MjYsNiArOTI2LDcgQEAKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5p
ZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaWRs
IFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwg
XAorICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsIFwKICAgICAkKFdl
YkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUp
L3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lv
biAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMjEyMSw2ICsyMTIxLDcgQEAKIHJlbmRlcmluZy9DU1NGaWx0ZXIuY3BwCiByZW5kZXJpbmcv
Q2xpcFJlY3QuY3BwCiByZW5kZXJpbmcvQ29tcGxleExpbmVMYXlvdXQuY3BwCityZW5kZXJpbmcv
Q29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHAKIHJlbmRlcmluZy9Db3VudGVyTm9kZS5jcHAKIHJl
bmRlcmluZy9FbGxpcHNpc0JveC5jcHAKIHJlbmRlcmluZy9FdmVudFJlZ2lvbi5jcHAKQEAgLTMx
OTksNiArMzIwMCw3IEBACiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCiBKU1BlcmZvcm1hbmNl
T2JzZXJ2ZXJDYWxsYmFjay5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAK
K0pTUGVyZm9ybWFuY2VQYWludFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5jcHAKIEpTUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlVGltaW5n
LmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MDUzLDYgKzQwNTMs
NyBAQAogCQlDOUY4N0NGRTFCMjhGNDBFMDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOUY4N0NGRDFC
MjhFNUY2MDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0EzQkY2N0UxMEQ5OUJBRTAwRTZDRTUz
IC8qIFNjcm9sbEFuaW1hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDQTZDMTUz
MDIyMEI5OENDMDA1NUNCRkMgLyogSlNWYWx1ZUluV3JhcHBlZE9iamVjdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMxQUUzQjgxRkI4MEVBRTAwRjVF
RkIyIC8qIEpTVmFsdWVJbldyYXBwZWRPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDQTdFOUI0OTI0MzYxREM1MDA0RTg5RjYgLyogQ29u
dGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0E3RTlCNDcyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWludENo
ZWNrZXIuaCAqLzsgfTsKIAkJQ0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJh
dGlvVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENBRTlGOTBFMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggKi87IH07
CiAJCUNCMzhGRDUyMUNDRjkzOTQwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENCMzhGRDRFMUNDRjkz
N0UwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCAqLzsgfTsKIAkJQ0IzOEZENUIxQ0Qy
MzI1QjAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0IzOEZENTkxQ0QyMzE0NTAwNTky
QTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovOyB9OwpAQCAtMTM4MTYsNiAr
MTM4MTcsOCBAQAogCQlDQTA5MUQ4NjIzQ0Y5MDc4MDBBRDQzNDYgLyogU3R5bGVJbWFnZVNldC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUltYWdlU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0EwOTFEODkyM0NGOTA4ODAwQUQ0MzQ2IC8qIFN0eWxlSW1hZ2VTZXQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVJbWFnZVNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDQTE2MzVEQzIwNzJFNzY5MDBFN0QyQ0UgLyogUmVmZXJyZXJQb2xpY3kuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmZXJyZXJQb2xpY3kuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNENTI0MDdENjQwMDA3MTI0MUEgLyog
UGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50
VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkzM0Q4MjQwN0VEQ0Yw
MDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8qIFNj
cm9sbEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbEFu
aW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNTJCQUU1MjNEMEFGMTYw
MERFMEI4NCAvKiBTdHlsZUN1cnNvckltYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxl
Q3Vyc29ySW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM4MjUsNiAr
MTM4MjgsOCBAQAogCQlDQTZDMTUyRjIyMEI0QTU1MDA1NUNCRkMgLyogSlNJREJSZXF1ZXN0Q3Vz
dG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCUmVxdWVz
dEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNkMxNTM3MjIwRDFF
QjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvckN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0lEQkN1cnNvckN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBNkMxNTM4MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvcldpdGhW
YWx1ZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0lE
QkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUNBN0U5QjQ3MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRmdWxQYWludENoZWNrZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0E3RTlCNDgyNDM2MURDNTAwNEU4OUY2IC8q
IENvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNBRTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0FzcGVjdFJhdGlv
VmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQUU5RjkwRTE0NjQ0MUYw
MDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRW50cnkuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA5NTksNiArMjA5NjQsOCBAQAogCQkJ
CUE1QTk5MzNBMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmNwcCAqLywKIAkJCQlBNUE5OTMzQjFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNl
cnZlckVudHJ5TGlzdC5oICovLAogCQkJCUE1QTk5MzNDMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJm
b3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCAqLywKKwkJCQlDQTE5MzNENTI0MDdENjQwMDA3
MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovLAorCQkJCUNBMTkzM0Q4MjQwN0VE
Q0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLywKIAkJCQk4NjUxMkVE
QjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi8sCiAJ
CQkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aCAqLywKIAkJCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZy5pZGwgKi8sCkBAIC0yODA0Miw2ICsyODA0OSw4IEBACiAJCQkJQkNERDQ1NEQxMjM2
Qzk1QzAwOUE3OTg1IC8qIENvbHVtbkluZm8uaCAqLywKIAkJCQlCQ0VBNDgxMzA5N0Q5MzAyMDA5
NEM5RTQgLyogQ29tcGxleExpbmVMYXlvdXQuY3BwICovLAogCQkJCUU0QTFBQzc4MjJGQUZENTAw
MDE3Qjc1QiAvKiBDb21wbGV4TGluZUxheW91dC5oICovLAorCQkJCUNBN0U5QjQ4MjQzNjFEQzUw
MDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcCAqLywKKwkJCQlDQTdFOUI0NzI0
MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oICovLAogCQkJCTkzOTJG
MTRGMEFEMTg2MjMwMDY5MUJENCAvKiBDb3VudGVyTm9kZS5jcHAgKi8sCiAJCQkJOTM5MkYxNEIw
QUQxODYxQjAwNjkxQkQ0IC8qIENvdW50ZXJOb2RlLmggKi8sCiAJCQkJMEY1M0ZCODEyMTNCMUJC
ODAwQzQwRDM0IC8qIENTU0ZpbHRlci5jcHAgKi8sCkBAIC0yOTc0Niw2ICsyOTc1NSw3IEBACiAJ
CQkJQTE0OTc4NkYxQUJBRjMzODAwQ0VGN0U0IC8qIENvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTVDRENEREM2MjNEODBBMUMwMEJBMzRBMSAvKiBDb250ZW50RmlsdGVyQ2xpZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQwOTBGRDFBQTUxRTQ4MDA5MTE5MUEgLyogQ29udGVu
dEZpbHRlclVuYmxvY2tIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDQTdFOUI0OTI0MzYx
REM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNUM5QzJEQjUyMjQxQTY3QjAwOTk2QjBCIC8qIENvbnRlbnRSdWxlTGlzdFJlc3VsdHMuaCBp
biBIZWFkZXJzICovLAogCQkJCTk3QzQ3MURDMTJGOTI1QkQwMDg2MzU0QiAvKiBDb250ZW50U2Vj
dXJpdHlQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFNUZBMjU1MjA5RTQ4QzUwMDUxRDcw
MCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovLApJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50
cnlDdXN0b20uY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5
ICszNSwxMSBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTUGVyZm9y
bWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRl
ICJKU1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJQ
ZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgi
CiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYgKzQ4
LDkgQEAKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01H
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+JiYgZW50cnkp
CiB7CisgICAgaWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkKKyAgICAgICAg
cmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZ2xvYmFsT2JqZWN0
LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zz4oZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIApJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAkocmV2aXNp
b24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5O
YW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNiArMTc5LDcgQEAKICAgICBtYWNybyhQZXJm
b3JtYW5jZU1lYXN1cmUpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyKSBcCiAgICAg
bWFjcm8oUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCkgXAorICAgIG1hY3JvKFBlcmZvcm1h
bmNlUGFpbnRUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKSBc
CiAgICAgbWFjcm8oUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcpIFwKICAgICBtYWNybyhQb2ludGVy
RXZlbnQpIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gMjYwMDQ1KQor
KysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgs
NiArNDgsNyBAQAogI2luY2x1ZGUgIkNvbXBvc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJDb25z
dGFudFByb3BlcnR5TWFwLmgiCiAjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5LmgiCisj
aW5jbHVkZSAiQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIgogI2luY2x1ZGUgIkNvb2tpZUphci5o
IgogI2luY2x1ZGUgIkN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmgiCiAjaW5jbHVkZSAiQ3Vz
dG9tRWxlbWVudFJlZ2lzdHJ5LmgiCkBAIC0xNDgsNiArMTQ5LDcgQEAKICNpbmNsdWRlICJQYWdl
R3JvdXAuaCIKICNpbmNsdWRlICJQYWdlVHJhbnNpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiUGFp
bnRXb3JrbGV0R2xvYmFsU2NvcGUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgogI2luY2x1
ZGUgIlBsYXRmb3JtTG9jYWxlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TY3JlZW4uaCIKQEAgLTMxNDEsNiArMzE0MywzNCBA
QAogICAgIHJldHVybiB2aWV3KCkgJiYgdmlldygpLT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQ
ZW5kaW5nKCk7CiB9CiAKK2Jvb2wgRG9jdW1lbnQ6OnN1cHBvcnRzUGFpbnRUaW1pbmcoKSBjb25z
dAoreworICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnBhaW50VGltaW5nRW5hYmxlZCgpICYmIHNlY3VyaXR5T3JpZ2luKCkuY2FuQWNjZXNzKHRvcE9y
aWdpbigpKTsKK30KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BhaW50LXRpbWluZy8jcmVm
LWZvci1tYXJrLXBhaW50LXRpbWluZwordm9pZCBEb2N1bWVudDo6cmVwb3J0UGFpbnRUaW1pbmdJ
Zk5lZWRlZCgpCit7CisgICAgaWYgKG1fZGlkUmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmICghc3VwcG9ydHNQYWludFRpbWluZygpKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpZiAoIWRvbVdpbmRvdygpIHx8ICF2aWV3KCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIC8vIFRvIG1ha2Ugc3VyZSB3ZSBkb24ndCByZXBvcnQgcGFpbnQgd2hpbGUg
dGhlIGxheWVyIHRyZWUgaXMgc3RpbGwgZnJvemVuLgorICAgIGlmICghdmlldygpLT5pc1Zpc3Vh
bGx5Tm9uRW1wdHkoKSB8fCB2aWV3KCktPm5lZWRzTGF5b3V0KCkpCisgICAgICAgIHJldHVybjsK
KworICAgIGlmICghQ29udGVudGZ1bFBhaW50Q2hlY2tlcjo6cXVhbGlmaWVzRm9yQ29udGVudGZ1
bFBhaW50KCp2aWV3KCkpKQorICAgICAgICByZXR1cm47CisKKyAgICBkb21XaW5kb3coKS0+cGVy
Zm9ybWFuY2UoKS5yZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIG1fZGlkUmVwb3J0
Rmlyc3RDb250ZW50ZnVsUGFpbnQgPSB0cnVlOworfQorCiBFeGNlcHRpb25Pcjx2b2lkPiBEb2N1
bWVudDo6d3JpdGUoRG9jdW1lbnQqIHJlc3BvbnNpYmxlRG9jdW1lbnQsIFNlZ21lbnRlZFN0cmlu
ZyYmIHRleHQpCiB7CiAgICAgaWYgKG1fYWN0aXZlUGFyc2VyV2FzQWJvcnRlZCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTAzNSw2ICsxMDM1LDggQEAKIAogICAgIGJv
b2wgc2hvdWxkRGVmZXJBc3luY2hyb25vdXNTY3JpcHRzVW50aWxQYXJzaW5nRmluaXNoZXMoKSBj
b25zdDsKIAorICAgIGJvb2wgc3VwcG9ydHNQYWludFRpbWluZygpIGNvbnN0OworCiAjaWYgRU5B
QkxFKFhTTFQpCiAgICAgdm9pZCBzY2hlZHVsZVRvQXBwbHlYU0xUcmFuc2Zvcm1zKCk7CiAgICAg
dm9pZCBhcHBseVBlbmRpbmdYU0xUcmFuc2Zvcm1zTm93SWZTY2hlZHVsZWQoKTsKQEAgLTE1NzUs
NiArMTU3Nyw3IEBACiAKICAgICB2b2lkIHNldEhhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250
ZW50KCkgeyBtX2hhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50ID0gdHJ1ZTsgfQogICAg
IGJvb2wgaGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBt
X2hhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50OyB9CisgICAgdm9pZCByZXBvcnRQYWlu
dFRpbWluZ0lmTmVlZGVkKCk7CiAKIHByb3RlY3RlZDoKICAgICBlbnVtIENvbnN0cnVjdGlvbkZs
YWdzIHsgU3ludGhlc2l6ZWQgPSAxLCBOb25SZW5kZXJlZFBsYWNlaG9sZGVyID0gMSA8PCAxIH07
CkBAIC0yMDQxLDYgKzIwNDQsOSBAQAogCiAgICAgYm9vbCBtX2FyZURldmljZU1vdGlvbkFuZE9y
aWVudGF0aW9uVXBkYXRlc1N1c3BlbmRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3VzZXJEaWRJ
bnRlcmFjdFdpdGhQYWdlIHsgZmFsc2UgfTsKKworICAgIGJvb2wgbV9kaWRSZXBvcnRGaXJzdENv
bnRlbnRmdWxQYWludCB7IGZhbHNlIH07CisKICNpZiBBU1NFUlRfRU5BQkxFRAogICAgIGJvb2wg
bV9pbkhpdFRlc3RpbmcgeyBmYWxzZSB9OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJ
KHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEzNzYsNiArMTM3NiwxMCBAQAogICAgIC8vIGxheW91dCB0byBiZSB1cC10
by1kYXRlLiBJdCBzaG91bGQgbm90IHJ1biBzY3JpcHQsIHRyaWdnZXIgbGF5b3V0LCBvciBkaXJ0
eSBsYXlvdXQuCiAKICAgICBmb3JFYWNoRG9jdW1lbnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkg
eworICAgICAgICBkb2N1bWVudC5yZXBvcnRQYWludFRpbWluZ0lmTmVlZGVkKCk7CisgICAgfSk7
CisKKyAgICBmb3JFYWNoRG9jdW1lbnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkgewogICAgICAg
ICBkb2N1bWVudC51cGRhdGVIaWdobGlnaHRQb3NpdGlvbnMoKTsKICAgICB9KTsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0
Miw3IEBACiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgogI2luY2x1ZGUgIlBlcmZvcm1h
bmNlTmF2aWdhdGlvbi5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCIKKyNpbmNs
dWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVGltaW5nLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VVc2VyVGltaW5nLmgiCkBAIC0xMjQsNiArMTI1LDkgQEAKICAgICAgICAgZW50
cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNZWFzdXJlcygpKTsKICAgICB9CiAK
KyAgICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCkKKyAgICAgICAgZW50cmllcy5hcHBlbmQo
bV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBzdGQ6OnNvcnQoZW50cmllcy5iZWdpbigp
LCBlbnRyaWVzLmVuZCgpLCBQZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRpbWVDb21wYXJlTGVzc1Ro
YW4pOwogICAgIHJldHVybiBlbnRyaWVzOwogfQpAQCAtMTM1LDYgKzEzOSw5IEBACiAgICAgaWYg
KGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInJlc291cmNlIikpCiAg
ICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIpOwogCisg
ICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJz
dENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlm
IChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJrIikpCiAgICAg
ICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1hcmtzKCkpOwpA
QCAtMTU3LDYgKzE2NCw5IEBACiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAobV9maXJzdENv
bnRlbnRmdWxQYWludCAmJiAoZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInBhaW50IikpICYmIG5hbWUgPT0gImZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQiKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBh
aW50KTsKKwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVudHJ5VHlwZS5p
c051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJr
IikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1h
cmtzKG5hbWUpKTsKQEAgLTE4MCw2ICsxOTAsMTMgQEAKICAgICBtX3Jlc291cmNlVGltaW5nQnVm
ZmVyRnVsbEZsYWcgPSBmYWxzZTsKIH0KIAordm9pZCBQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RD
b250ZW50ZnVsUGFpbnQoKQoreworICAgIEFTU0VSVCghbV9maXJzdENvbnRlbnRmdWxQYWludCk7
CisgICAgbV9maXJzdENvbnRlbnRmdWxQYWludCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc6OmNy
ZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KG5vdygpKTsKKyAgICBxdWV1ZUVudHJ5KCptX2ZpcnN0
Q29udGVudGZ1bFBhaW50KTsKK30KKwogdm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1p
bmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRpbWluZykKIHsKICAgICBBU1NFUlQoc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgJKHJl
dmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAkod29y
a2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQAogY2xhc3MgUGVyZm9ybWFuY2VFbnRyeTsKIGNs
YXNzIFBlcmZvcm1hbmNlTmF2aWdhdGlvbjsKIGNsYXNzIFBlcmZvcm1hbmNlT2JzZXJ2ZXI7Citj
bGFzcyBQZXJmb3JtYW5jZVBhaW50VGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VUaW1pbmc7CiBj
bGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVzb3VyY2VUaW1pbmc7CkBAIC03Nyw2ICs3
OCw4IEBACiAKICAgICB2b2lkIGFkZFJlc291cmNlVGltaW5nKFJlc291cmNlVGltaW5nJiYpOwog
CisgICAgdm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworCiAgICAgdm9pZCByZW1v
dmVBbGxPYnNlcnZlcnMoKTsKICAgICB2b2lkIHJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQ
ZXJmb3JtYW5jZU9ic2VydmVyJik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNl
cnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CkBAIC0xMjEsNiArMTI0LDcgQEAKIAogICAgIE1v
bm90b25pY1RpbWUgbV90aW1lT3JpZ2luOwogCisgICAgUmVmUHRyPFBlcmZvcm1hbmNlUGFpbnRU
aW1pbmc+IG1fZmlyc3RDb250ZW50ZnVsUGFpbnQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFVzZXJU
aW1pbmc+IG1fdXNlclRpbWluZzsKIAogICAgIEdlbmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0
aW9uQ29udGV4dD4gbV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02NCw2ICs2NCwxMSBAQAogICAgICAgICAgICAgcmV0dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6
OlJlc291cmNlKTsKICAgICB9CiAKKyAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQoKSkgeworICAgICAgICBpZiAoZW50cnlU
eXBlID09ICJwYWludCIpCisgICAgICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlwZTo6
UGFpbnQpOworICAgIH0KKwogICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAkod29ya2luZyBjb3B5KQpAQCAt
NDgsMTAgKzQ4LDExIEBACiAgICAgZG91YmxlIGR1cmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9k
dXJhdGlvbjsgfQogCiAgICAgZW51bSBjbGFzcyBUeXBlIHsKLSAgICAgICAgTmF2aWdhdGlvbiA9
IDEgPDwgMCwKLSAgICAgICAgTWFyayA9IDEgPDwgMSwKLSAgICAgICAgTWVhc3VyZSA9IDEgPDwg
MiwKLSAgICAgICAgUmVzb3VyY2UgPSAxIDw8IDMsCisgICAgICAgIE5hdmlnYXRpb24gID0gMSA8
PCAwLAorICAgICAgICBNYXJrICAgICAgICA9IDEgPDwgMSwKKyAgICAgICAgTWVhc3VyZSAgICAg
PSAxIDw8IDIsCisgICAgICAgIFJlc291cmNlICAgID0gMSA8PCAzLAorICAgICAgICBQYWludCAg
ICAgICA9IDEgPDwgNAogICAgIH07CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0ID0g
MDsKQEAgLTYyLDYgKzYzLDcgQEAKICAgICBib29sIGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVy
biB0eXBlKCkgPT0gVHlwZTo6UmVzb3VyY2U7IH0KICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsg
cmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYXJrOyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25z
dCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWVhc3VyZTsgfQorICAgIGJvb2wgaXNQYWludCgp
IGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpQYWludDsgfQogCiAgICAgc3RhdGljIGJv
b2wgc3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5
PiYgYSwgY29uc3QgUmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+JiBiKQogICAgIHsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkocmV2aXNpb24gMjYw
MDQ1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTEzLDE1ICsxMTMsMjEgQEAKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZEZpcmVPYnNlcnZlckNhbGxiYWNrKCpjb250ZXh0KTsKIH0KIAotVmVjdG9yPFN0
cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcygpCitWZWN0b3I8
U3RyaW5nPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIHsKKyAgICBWZWN0b3I8U3Ry
aW5nPiBlbnRyeVR5cGVzID0gewogICAgICAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9y
Zy9iLzE4NDM2Mz4gQWRkIHN1cHBvcnQgZm9yIE5hdmlnYXRpb24gVGltaW5nIExldmVsIDIKICAg
ICAgICAgLy8gIm5hdmlnYXRpb24iX3MsCiAgICAgICAgICJtYXJrIl9zLAotICAgICAgICAibWVh
c3VyZSJfcywKLSAgICAgICAgInJlc291cmNlIl9zCisgICAgICAgICJtZWFzdXJlIl9zCiAgICAg
fTsKKworICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4dCkgJiYgZG93bmNhc3Q8RG9jdW1lbnQ+
KGNvbnRleHQpLnN1cHBvcnRzUGFpbnRUaW1pbmcoKSkKKyAgICAgICAgZW50cnlUeXBlcy5hcHBl
bmQoInBhaW50Il9zKTsKKworICAgIGVudHJ5VHlwZXMuYXBwZW5kKCJyZXNvdXJjZSJfcyk7CisK
KyAgICByZXR1cm4gZW50cnlUeXBlczsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgJKHJldmlzaW9uIDI2
MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBACiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoY29udGV4dCwgV1RGTW92ZShjYWxsYmFjaykpKTsKICAgICB9
CiAKLSAgICBzdGF0aWMgVmVjdG9yPFN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlcygpOworICAg
IHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmKTsKIAogICAgIHZvaWQgZGlzYXNzb2NpYXRlKCk7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAkocmV2aXNpb24gMjYwMDQ1KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMzYsNyArMzYsNyBAQAogXSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VPYnNlcnZlciB7
CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIG9ic2VydmUoUGVyZm9ybWFuY2VPYnNlcnZl
ckluaXQgb3B0aW9ucyk7CiAgICAgdm9pZCBkaXNjb25uZWN0KCk7Ci0gICAgc3RhdGljIHJlYWRv
bmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXM7
CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyByZWFkb25seSBh
dHRyaWJ1dGUgRnJvemVuQXJyYXk8RE9NU3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzOwogfTsK
IAogZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdCB7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAkobm9uZXhpc3RlbnQpCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRpYSBG
b3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VF
bnRyeS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgZmluYWwgOiBwdWJsaWMgUGVy
Zm9ybWFuY2VFbnRyeSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZVBhaW50
VGltaW5nPiBjcmVhdGVGaXJzdENvbnRlbnRmdWxQYWludChET01IaWdoUmVzVGltZVN0YW1wIHRp
bWVTdGFtcCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNl
UGFpbnRUaW1pbmcoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiX3MsIHRpbWVTdGFtcCkpOworICAg
IH0KKworcHJpdmF0ZToKKyAgICBQZXJmb3JtYW5jZVBhaW50VGltaW5nKGNvbnN0IFN0cmluZyYg
bmFtZSwgRE9NSGlnaFJlc1RpbWVTdGFtcCB0aW1lU3RhbXApCisgICAgICAgIDogUGVyZm9ybWFu
Y2VFbnRyeShuYW1lLCB0aW1lU3RhbXAsIHRpbWVTdGFtcCkKKyAgICB7CisgICAgfQorCisgICAg
QVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJwYWludCJfczsg
fQorICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFR5cGU6OlBhaW50OyB9CisK
KyAgICB+UGVyZm9ybWFuY2VQYWludFRpbWluZygpID0gZGVmYXVsdDsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpQ
ZXJmb3JtYW5jZVBhaW50VGltaW5nKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJD
b3JlOjpQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnkuaXNQYWludCgpOyB9
CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwJKG5vbmV4aXN0ZW50KQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRpYSBGb3Vu
ZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BhaW50LXRp
bWluZy8KKwordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKworWworICAgIEVu
YWJsZWRBdFJ1bnRpbWU9UGFpbnRUaW1pbmcsCisgICAgRXhwb3NlZD0oV2luZG93KSwKK10gaW50
ZXJmYWNlIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgOiBQZXJmb3JtYW5jZUVudHJ5IHsKK307Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkocmV2
aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDkgQEAKICAgICB2b2lkIHNldFVzZXJU
aW1pbmdFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNVc2VyVGltaW5nRW5hYmxlZCA9IGlz
RW5hYmxlZDsgfQogICAgIGJvb2wgdXNlclRpbWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBt
X2lzVXNlclRpbWluZ0VuYWJsZWQ7IH0KIAorICAgIHZvaWQgc2V0UGFpbnRUaW1pbmdFbmFibGVk
KGJvb2wgaXNFbmFibGVkKSB7IG1faXNQYWludFRpbWluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0K
KyAgICBib29sIHBhaW50VGltaW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNQYWludFRp
bWluZ0VuYWJsZWQ7IH0KKwogICAgIGJvb2wgcGVyZm9ybWFuY2VUaW1lbGluZUVuYWJsZWQoKSBj
b25zdCB7IHJldHVybiByZXNvdXJjZVRpbWluZ0VuYWJsZWQoKSB8fCB1c2VyVGltaW5nRW5hYmxl
ZCgpOyB9CiAKICAgICB2b2lkIHNldFNoYWRvd0RPTUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsg
bV9pc1NoYWRvd0RPTUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KQEAgLTQyNCw2ICs0MjcsNyBAQAog
ICAgIGJvb2wgbV9pc0xpbmtQcmVsb2FkRW5hYmxlZCB7IHRydWUgfTsKICAgICBib29sIG1faXNM
aW5rUHJlZmV0Y2hFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNNZWRpYVByZWxvYWRp
bmdFbmFibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNQYWludFRpbWluZ0VuYWJsZWQgeyBm
YWxzZSB9OwogICAgIGJvb2wgbV9pc1Jlc291cmNlVGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX2lzVXNlclRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0lu
dGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkIHsgZmFsc2UgfTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCShyZXZp
c2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0NvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMjczLDcgKzI3Myw4IEBACiAgICAgZW51bSBj
bGFzcyBQYWludEludmFsaWRhdGlvblJlYXNvbnMgOiB1aW50OF90IHsKICAgICAgICAgTm9uZSwK
ICAgICAgICAgSW52YWxpZGF0aW5nQ29udHJvbFRpbnRzLAotICAgICAgICBJbnZhbGlkYXRpbmdJ
bWFnZXNXaXRoQXN5bmNEZWNvZGVzCisgICAgICAgIEludmFsaWRhdGluZ0ltYWdlc1dpdGhBc3lu
Y0RlY29kZXMsCisgICAgICAgIERldGVjdGluZ0NvbnRlbnRmdWxQYWludAogICAgIH07CiAgICAg
R3JhcGhpY3NDb250ZXh0KFBhaW50SW52YWxpZGF0aW9uUmVhc29ucyk7CiAKQEAgLTI5Miw2ICsy
OTMsNyBAQAogICAgIGJvb2wgcGVyZm9ybWluZ1BhaW50SW52YWxpZGF0aW9uKCkgY29uc3QgeyBy
ZXR1cm4gbV9wYWludEludmFsaWRhdGlvblJlYXNvbnMgIT0gUGFpbnRJbnZhbGlkYXRpb25SZWFz
b25zOjpOb25lOyB9CiAgICAgYm9vbCBpbnZhbGlkYXRpbmdDb250cm9sVGludHMoKSBjb25zdCB7
IHJldHVybiBtX3BhaW50SW52YWxpZGF0aW9uUmVhc29ucyA9PSBQYWludEludmFsaWRhdGlvblJl
YXNvbnM6OkludmFsaWRhdGluZ0NvbnRyb2xUaW50czsgfQogICAgIGJvb2wgaW52YWxpZGF0aW5n
SW1hZ2VzV2l0aEFzeW5jRGVjb2RlcygpIGNvbnN0IHsgcmV0dXJuIG1fcGFpbnRJbnZhbGlkYXRp
b25SZWFzb25zID09IFBhaW50SW52YWxpZGF0aW9uUmVhc29uczo6SW52YWxpZGF0aW5nSW1hZ2Vz
V2l0aEFzeW5jRGVjb2RlczsgfQorICAgIGJvb2wgZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkg
Y29uc3QgeyByZXR1cm4gbV9wYWludEludmFsaWRhdGlvblJlYXNvbnMgPT0gUGFpbnRJbnZhbGlk
YXRpb25SZWFzb25zOjpEZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQ7IH0KIAogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc2V0U3Ryb2tlVGhpY2tuZXNzKGZsb2F0KTsKICAgICBmbG9hdCBzdHJva2VU
aGlja25lc3MoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlLnN0cm9rZVRoaWNrbmVzczsgfQpAQCAt
NTEzLDYgKzUxNSw5IEBACiAgICAgRmxvYXRTaXplIHNjYWxlRmFjdG9yKCkgY29uc3Q7CiAgICAg
RmxvYXRTaXplIHNjYWxlRmFjdG9yRm9yRHJhd2luZyhjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0
LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QpIGNvbnN0OwogCisgICAgdm9pZCBzZXRDb250ZW50
ZnVsUGFpbnREZXRlY3RlZCgpIHsgbV9jb250ZW5mdWxQYWludERldGVjdGVkID0gdHJ1ZTsgfQor
ICAgIGJvb2wgY29udGVuZnVsUGFpbnREZXRlY3RlZCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVu
ZnVsUGFpbnREZXRlY3RlZDsgfQorCiAjaWYgT1MoV0lORE9XUykKICAgICBIREMgZ2V0V2luZG93
c0NvbnRleHQoY29uc3QgSW50UmVjdCYsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQpOyAvLyBUaGUg
cGFzc2VkIGluIHJlY3QgaXMgdXNlZCB0byBjcmVhdGUgYSBiaXRtYXAgZm9yIGNvbXBvc2l0aW5n
IGluc2lkZSB0cmFuc3BhcmVuY3kgbGF5ZXJzLgogICAgIHZvaWQgcmVsZWFzZVdpbmRvd3NDb250
ZXh0KEhEQywgY29uc3QgSW50UmVjdCYsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQpOyAvLyBUaGUg
cGFzc2VkIGluIEhEQyBzaG91bGQgYmUgdGhlIG9uZSBoYW5kZWQgYmFjayBieSBnZXRXaW5kb3dz
Q29udGV4dC4KQEAgLTY2MSw2ICs2NjYsNyBAQAogCiAgICAgY29uc3QgUGFpbnRJbnZhbGlkYXRp
b25SZWFzb25zIG1fcGFpbnRJbnZhbGlkYXRpb25SZWFzb25zIHsgUGFpbnRJbnZhbGlkYXRpb25S
ZWFzb25zOjpOb25lIH07CiAgICAgdW5zaWduZWQgbV90cmFuc3BhcmVuY3lDb3VudCB7IDAgfTsK
KyAgICBib29sIG1fY29udGVuZnVsUGFpbnREZXRlY3RlZCB7IGZhbHNlIH07CiB9OwogCiBjbGFz
cyBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHAJKG5vbmV4aXN0ZW50KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAg
V2lraU1lZGlhIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICog
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkNvbnRlbnRmdWxQYWludENoZWNrZXIuaCIKKworI2luY2x1ZGUgIkZyYW1l
Vmlldy5oIgorI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2Jvb2wgQ29udGVudGZ1bFBhaW50Q2hlY2tlcjo6cXVhbGlmaWVzRm9yQ29udGVudGZ1
bFBhaW50KEZyYW1lVmlldyYgZnJhbWVWaWV3KQoreworICAgIEFTU0VSVCghZnJhbWVWaWV3Lm5l
ZWRzTGF5b3V0KCkpOworICAgIEFTU0VSVChmcmFtZVZpZXcucmVuZGVyVmlldygpKTsKKworICAg
IGF1dG8gb2xkUGFpbnRCZWhhdmlvciA9IGZyYW1lVmlldy5wYWludEJlaGF2aW9yKCk7CisgICAg
YXV0byBvbGRFbnRpcmVDb250ZW50cyA9IGZyYW1lVmlldy5wYWludHNFbnRpcmVDb250ZW50cygp
OworCisgICAgZnJhbWVWaWV3LnNldFBhaW50QmVoYXZpb3IoUGFpbnRCZWhhdmlvcjo6RmxhdHRl
bkNvbXBvc2l0aW5nTGF5ZXJzKTsKKyAgICBmcmFtZVZpZXcuc2V0UGFpbnRzRW50aXJlQ29udGVu
dHModHJ1ZSk7CisKKyAgICBHcmFwaGljc0NvbnRleHQgY2hlY2tlckNvbnRleHQoR3JhcGhpY3ND
b250ZXh0OjpQYWludEludmFsaWRhdGlvblJlYXNvbnM6OkRldGVjdGluZ0NvbnRlbnRmdWxQYWlu
dCk7CisgICAgZnJhbWVWaWV3LnBhaW50KGNoZWNrZXJDb250ZXh0LCBmcmFtZVZpZXcucmVuZGVy
VmlldygpLT5kb2N1bWVudFJlY3QoKSk7CisKKyAgICBmcmFtZVZpZXcuc2V0UGFpbnRzRW50aXJl
Q29udGVudHMob2xkRW50aXJlQ29udGVudHMpOworICAgIGZyYW1lVmlldy5zZXRQYWludEJlaGF2
aW9yKG9sZFBhaW50QmVoYXZpb3IpOworCisgICAgcmV0dXJuIGNoZWNrZXJDb250ZXh0LmNvbnRl
bmZ1bFBhaW50RGV0ZWN0ZWQoKTsKK30KKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBXaWtpTWVk
aWEgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBGcmFtZVZpZXc7CisKK2NsYXNzIENvbnRlbnRmdWxQYWludENo
ZWNrZXIgeworcHVibGljOgorICAgIHN0YXRpYyBib29sIHF1YWxpZmllc0ZvckNvbnRlbnRmdWxQ
YWludChGcmFtZVZpZXcmKTsKK307CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNzE2LDcgKzcxNiw4IEBACiAgICAgQmFja2dyb3VuZEJsZWVkQXZvaWRhbmNl
IGJsZWVkQXZvaWRhbmNlLCBJbmxpbmVGbG93Qm94KiBib3gsIGNvbnN0IExheW91dFNpemUmIGJv
eFNpemUsIENvbXBvc2l0ZU9wZXJhdG9yIG9wLCBSZW5kZXJFbGVtZW50KiBiYWNrZ3JvdW5kT2Jq
ZWN0LCBCYXNlQmFja2dyb3VuZENvbG9yVXNhZ2UgYmFzZUJnQ29sb3JVc2FnZSkKIHsKICAgICBH
cmFwaGljc0NvbnRleHQmIGNvbnRleHQgPSBwYWludEluZm8uY29udGV4dCgpOwotICAgIGlmIChj
b250ZXh0LnBhaW50aW5nRGlzYWJsZWQoKSB8fCByZWN0LmlzRW1wdHkoKSkKKworICAgIGlmICgo
Y29udGV4dC5wYWludGluZ0Rpc2FibGVkKCkgJiYgIWNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1
bFBhaW50KCkpIHx8IHJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKICAgICBib29s
IGluY2x1ZGVMZWZ0RWRnZSA9IGJveCA/IGJveC0+aW5jbHVkZUxvZ2ljYWxMZWZ0RWRnZSgpIDog
dHJ1ZTsKQEAgLTczMSw2ICs3MzIsMTQgQEAKICAgICBTdHlsZUltYWdlKiBiZ0ltYWdlID0gYmdM
YXllci5pbWFnZSgpOwogICAgIGJvb2wgc2hvdWxkUGFpbnRCYWNrZ3JvdW5kSW1hZ2UgPSBiZ0lt
YWdlICYmIGJnSW1hZ2UtPmNhblJlbmRlcih0aGlzLCBzdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSk7
CiAgICAgCisgICAgaWYgKGNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpIHsKKyAg
ICAgICAgaWYgKCFjb250ZXh0LmNvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQoKSAmJiBzaG91bGRQYWlu
dEJhY2tncm91bmRJbWFnZSAmJiBiZ0ltYWdlLT5jYWNoZWRJbWFnZSgpKSB7CisgICAgICAgICAg
ICBpZiAoc3R5bGUoKS5iYWNrZ3JvdW5kU2l6ZVR5cGUoKSAhPSBGaWxsU2l6ZVR5cGU6OlNpemUg
fHwgIXN0eWxlKCkuYmFja2dyb3VuZFNpemVMZW5ndGgoKS5pc0VtcHR5KCkpCisgICAgICAgICAg
ICAgICAgY29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisgICAgfQorCiAgICAgaWYgKGNvbnRleHQuaW52YWxpZGF0aW5n
SW1hZ2VzV2l0aEFzeW5jRGVjb2RlcygpKSB7CiAgICAgICAgIGlmIChzaG91bGRQYWludEJhY2tn
cm91bmRJbWFnZSAmJiBiZ0ltYWdlLT5jYWNoZWRJbWFnZSgpLT5pc0NsaWVudFdhaXRpbmdGb3JB
c3luY0RlY29kaW5nKCp0aGlzKSkKICAgICAgICAgICAgIGJnSW1hZ2UtPmNhY2hlZEltYWdlKCkt
PnJlbW92ZUFsbENsaWVudHNXYWl0aW5nRm9yQXN5bmNEZWNvZGluZygpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmNwcAkocmV2aXNpb24gMjYw
MDQ1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03MSw2ICs3MSwxMyBAQAogICAgIEdyYXBoaWNzQ29udGV4dCYgY29u
dGV4dCA9IHBhaW50SW5mby5jb250ZXh0KCk7CiAKICAgICBMYXlvdXRSZWN0IGNvbnRlbnRCb3hS
ZWN0ID0gdGhpcy0+Y29udGVudEJveFJlY3QoKTsKKworICAgIGlmIChjb250ZXh0LmRldGVjdGlu
Z0NvbnRlbnRmdWxQYWludCgpKSB7CisgICAgICAgIGlmICghY29udGV4dC5jb250ZW5mdWxQYWlu
dERldGVjdGVkKCkgJiYgY2FudmFzRWxlbWVudCgpLnJlbmRlcmluZ0NvbnRleHQoKSkKKyAgICAg
ICAgICAgIGNvbnRleHQuc2V0Q29udGVudGZ1bFBhaW50RGV0ZWN0ZWQoKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKwogICAgIGNvbnRlbnRCb3hSZWN0Lm1vdmVCeShwYWludE9mZnNldCk7CiAg
ICAgTGF5b3V0UmVjdCByZXBsYWNlZENvbnRlbnRSZWN0ID0gdGhpcy0+cmVwbGFjZWRDb250ZW50
UmVjdCgpOwogICAgIHJlcGxhY2VkQ29udGVudFJlY3QubW92ZUJ5KHBhaW50T2Zmc2V0KTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkocmV2aXNpb24gMjYw
MDQ1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDkyLDYgKzQ5MiwxMyBAQAogICAgIGZsb2F0IGRldmljZVNjYWxlRmFjdG9y
ID0gZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpOwogICAgIExheW91dFVuaXQgbWlzc2lu
Z0ltYWdlQm9yZGVyV2lkdGgoMSAvIGRldmljZVNjYWxlRmFjdG9yKTsKIAorICAgIGlmIChjb250
ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpKSB7CisgICAgICAgIGlmICghY29udGV4dC5j
b250ZW5mdWxQYWludERldGVjdGVkKCkgJiYgIWlzRGVmZXJyZWRJbWFnZShlbGVtZW50KCkpICYm
IGNhY2hlZEltYWdlKCkgJiYgY2FjaGVkSW1hZ2UoKS0+Y2FuUmVuZGVyKHRoaXMsIGRldmljZVNj
YWxlRmFjdG9yKSAmJiAhY29udGVudFNpemUuaXNFbXB0eSgpKQorICAgICAgICAgICAgY29udGV4
dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworCisgICAgICAgIHJldHVybjsKKyAgICB9
CisKICAgICBpZiAoIWltYWdlUmVzb3VyY2UoKS5jYWNoZWRJbWFnZSgpIHx8IGlzRGVmZXJyZWRJ
bWFnZShlbGVtZW50KCkpIHx8IHNob3VsZERpc3BsYXlCcm9rZW5JbWFnZUljb24oKSkgewogICAg
ICAgICBpZiAocGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2U6OlNlbGVjdGlvbikKICAgICAg
ICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDU4OCw2ICs0NTg4LDkgQEAKIHsKICAgICBB
U1NFUlQoaXNTZWxmUGFpbnRpbmdMYXllcigpIHx8IGhhc1NlbGZQYWludGluZ0xheWVyRGVzY2Vu
ZGFudCgpKTsKIAorICAgIGlmIChjb250ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpICYm
IGNvbnRleHQuY29udGVuZnVsUGFpbnREZXRlY3RlZCgpKQorICAgICAgICByZXR1cm47CisKICAg
ICBhdXRvIGxvY2FsUGFpbnRGbGFncyA9IHBhaW50RmxhZ3MgLSBQYWludExheWVyQXBwbGllZFRy
YW5zZm9ybTsKICAgICBib29sIGhhdmVUcmFuc3BhcmVuY3kgPSBsb2NhbFBhaW50RmxhZ3MuY29u
dGFpbnMoUGFpbnRMYXllckhhdmVUcmFuc3BhcmVuY3kpOwogICAgIGJvb2wgaXNTZWxmUGFpbnRp
bmdMYXllciA9IHRoaXMtPmlzU2VsZlBhaW50aW5nTGF5ZXIoKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA0
LDYgKzIwNCwxMiBAQAogICAgIExheW91dFJlY3QgY29udGVudFJlY3QgPSBjb250ZW50Qm94UmVj
dCgpOwogICAgIGNvbnRlbnRSZWN0Lm1vdmVCeShwYWludE9mZnNldCk7CiAgICAgR3JhcGhpY3ND
b250ZXh0JiBjb250ZXh0ID0gcGFpbnRJbmZvLmNvbnRleHQoKTsKKworICAgIGlmIChjb250ZXh0
LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpKSB7CisgICAgICAgIGNvbnRleHQuc2V0Q29udGVu
dGZ1bFBhaW50RGV0ZWN0ZWQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGJvb2wg
Y2xpcCA9ICFjb250ZW50UmVjdC5jb250YWlucyhyZWN0KTsKICAgICBHcmFwaGljc0NvbnRleHRT
dGF0ZVNhdmVyIHN0YXRlU2F2ZXIoY29udGV4dCwgY2xpcCk7CiAgICAgaWYgKGNsaXApCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50ZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRlci5jcHAJKHJldmlzaW9uIDI2MDA0
NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJEaXNwbGF5UnVuLmgiCiAjaW5jbHVk
ZSAiRmlsdGVyT3BlcmF0aW9ucy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgorI2lu
Y2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJJbmxpbmVUZXh0Qm94LmgiCiAj
aW5jbHVkZSAiUmVuZGVyQ29tYmluZVRleHQuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgpA
QCAtMTA1LDYgKzEwNiwxMyBAQAogICAgIGZsb2F0IGVtcGhhc2lzTWFya09mZnNldCwgY29uc3Qg
RmxvYXRQb2ludCYgdGV4dE9yaWdpbiwgdW5zaWduZWQgc3RhcnRPZmZzZXQsIHVuc2lnbmVkIGVu
ZE9mZnNldCkKIHsKICAgICBBU1NFUlQoc3RhcnRPZmZzZXQgPCBlbmRPZmZzZXQpOworCisgICAg
aWYgKG1fY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgeworICAgICAgICBpZiAo
IXRleHRSdW4udGV4dCgpLnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKS5pc0FsbFNwZWNpYWxDaGFy
YWN0ZXJzPGlzSFRNTFNwYWNlPigpKQorICAgICAgICAgICAgbV9jb250ZXh0LnNldENvbnRlbnRm
dWxQYWludERldGVjdGVkKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAoIWVt
cGhhc2lzTWFyay5pc0VtcHR5KCkpCiAgICAgICAgIG1fY29udGV4dC5kcmF3RW1waGFzaXNNYXJr
cyhmb250LCB0ZXh0UnVuLCBlbXBoYXNpc01hcmssIHRleHRPcmlnaW4gKyBGbG9hdFNpemUoMCwg
ZW1waGFzaXNNYXJrT2Zmc2V0KSwgc3RhcnRPZmZzZXQsIGVuZE9mZnNldCk7CiAgICAgZWxzZSBp
ZiAoc3RhcnRPZmZzZXQgfHwgZW5kT2Zmc2V0IDwgdGV4dFJ1bi5sZW5ndGgoKSB8fCAhbV9nbHlw
aERpc3BsYXlMaXN0KQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSb290LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR1Jvb3QuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3
IEBACiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgogI2luY2x1ZGUgIkxheW91dFJlcGFpbnRl
ci5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJSZW5kZXJDaGlsZEl0ZXJhdG9yLmgi
CiAjaW5jbHVkZSAiUmVuZGVySXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgog
I2luY2x1ZGUgIlJlbmRlckxheW91dFN0YXRlLmgiCkBAIC0yMTEsNyArMjEyLDcgQEAKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgLy8gRG9uJ3QgcGFpbnQsIGlmIHRoZSBjb250ZXh0IGV4cGxpY2l0
bHkgZGlzYWJsZWQgaXQuCi0gICAgaWYgKHBhaW50SW5mby5jb250ZXh0KCkucGFpbnRpbmdEaXNh
YmxlZCgpKQorICAgIGlmIChwYWludEluZm8uY29udGV4dCgpLnBhaW50aW5nRGlzYWJsZWQoKSAm
JiAhcGFpbnRJbmZvLmNvbnRleHQoKS5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgLy8gU1ZHIG91dGxpbmVzIGFyZSBwYWludGVkIGR1cmluZyBQYWlu
dFBoYXNlOjpGb3JlZ3JvdW5kLgpAQCAtMjIzLDYgKzIyNCwxNyBAQAogICAgIGlmIChzdmdTVkdF
bGVtZW50KCkuaGFzRW1wdHlWaWV3Qm94KCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIEdyYXBo
aWNzQ29udGV4dCYgY29udGV4dCA9IHBhaW50SW5mby5jb250ZXh0KCk7CisgICAgaWYgKGNvbnRl
eHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAgZm9yIChhdXRvJiBjdXJy
ZW50IDogY2hpbGRyZW5PZlR5cGU8UmVuZGVyT2JqZWN0PigqdGhpcykpIHsKKyAgICAgICAgICAg
IGlmICghY3VycmVudC5pc1NWR0hpZGRlbkNvbnRhaW5lcigpKSB7CisgICAgICAgICAgICAgICAg
Y29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXR1cm47CisgICAgfQor
CiAgICAgLy8gRG9uJ3QgcGFpbnQgaWYgd2UgZG9uJ3QgaGF2ZSBraWRzLCBleGNlcHQgaWYgd2Ug
aGF2ZSBmaWx0ZXJzIHdlIHNob3VsZCBwYWludCB0aG9zZS4KICAgICBpZiAoIWZpcnN0Q2hpbGQo
KSkgewogICAgICAgICBhdXRvKiByZXNvdXJjZXMgPSBTVkdSZXNvdXJjZXNDYWNoZTo6Y2FjaGVk
UmVzb3VyY2VzRm9yUmVuZGVyZXIoKnRoaXMpOwpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDA0
NSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MjAgQEAKKzIwMjAtMDQtMTMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisg
ICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBydW50aW1lIGZsYWcg
Zm9yIHBhaW50LXRpbWluZyAocGFpbnRUaW1pbmdFbmFibGVkKS4KKworICAgICAgICAqIFNoYXJl
ZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQp
OgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGF0ZVByZWZl
cmVuY2VzU3RvcmUpOgorCiAyMDIwLTA0LTEzICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBVcGRhdGUgbWVzc2FnZSBmaWx0ZXJzIGluIHRoZSBX
ZWJDb250ZW50IHNhbmRib3gKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzLnlhbWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXMueWFtbAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXMueWFtbAkod29ya2luZyBjb3B5KQpAQCAtODM5LDYgKzgzOSwxMyBAQAogICBodW1h
blJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgVXNlclRpbWluZyBBUEkiCiAgIHdlYmNvcmVC
aW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKK1BhaW50VGltaW5nRW5hYmxlZDoKKyAg
dHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisgIGh1bWFuUmVhZGFibGVOYW1lOiAi
UGFpbnQgVGltaW5nIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgUGFpbnQg
VGltaW5nIEFQSSIKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKwog
QmVhY29uQVBJRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
CShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgyMCw2ICsxODIwLDE2IEBACiAgICAg
cmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnVzZXJUaW1pbmdFbmFibGVkKCk7CiB9CiAK
K3ZvaWQgV0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVm
IHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCit7CisgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVm
KS0+c2V0UGFpbnRUaW1pbmdFbmFibGVkKGZsYWcpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNH
ZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sK
KyAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+cGFpbnRUaW1pbmdFbmFibGVkKCk7
Cit9CisKIHZvaWQgV0tQcmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZl
cmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCiB7CiAgICAgdG9JbXBsKHByZWZl
cmVuY2VzUmVmKS0+c2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKGZsYWcpOwpJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJp
dmF0ZS5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MDAsNiArNTAw
LDEwIEBACiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0VXNlclRpbWluZ0VuYWJsZWQo
V0tQcmVmZXJlbmNlc1JlZik7CiAKIC8vIERlZmF1bHRzIHRvIGZhbHNlCitXS19FWFBPUlQgdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJv
b2wgZmxhZyk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0UGFpbnRUaW1pbmdFbmFi
bGVkKFdLUHJlZmVyZW5jZXNSZWYpOworCisvLyBEZWZhdWx0cyB0byBmYWxzZQogV0tfRVhQT1JU
IHZvaWQgV0tQcmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2Vz
UmVmLCBib29sIGZsYWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFJlc291cmNl
VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIApJbmRleDogU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1h
bmFnZXJDb25uZWN0aW9uLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMjIsNiArMTIyLDcgQEAKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLnNldENhY2hlQVBJRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNhY2hlQVBJRW5hYmxlZEtleSgpKSk7CiAgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUVuYWJsZWQo
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpmZXRjaEFQSUVuYWJs
ZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0VXNlclRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5Ojp1c2VyVGltaW5nRW5hYmxlZEtleSgpKSk7CisgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9v
bFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYWludFRpbWluZ0VuYWJsZWRLZXkoKSkp
OwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVzb3Vy
Y2VUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6cmVzb3VyY2VUaW1pbmdFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChzdG9yZS5n
ZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZldGNoQVBJS2VlcEFsaXZlRW5h
YmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zZXRSZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktl
eShXZWJQcmVmZXJlbmNlc0tleTo6cmVzdHJpY3RlZEhUVFBSZXNwb25zZUFjY2Vzc0tleSgpKSk7
CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjAwNDUpCisrKyBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwyMCBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHByZWZlcmVuY2Ug
a2V5IGZvciBwYWludCB0aW1pbmcuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAg
ICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJlZmVy
ZW5jZXMgcGFpbnRUaW1pbmdFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNl
dFBhaW50VGltaW5nRW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKwogMjAyMC0wNC0xMyAg
VGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNT
SU9OIChyMjU5ODQzKTogIk1pc3NpbmcgUGx1Zy1JbiIgd2hlbiBkcmFnZ2luZyBhbiBpbWFnZSBp
bnRvIE1haWwgQ29tcG9zZQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZpc2lvbiAyNjAw
NDUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlz
UHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNjAsNiArMjYwLDcgQEAKICNkZWZpbmUgV2Vi
S2l0QXR0YWNobWVudEVsZW1lbnRFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEF0dGFjaG1l
bnRFbGVtZW50RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFi
bGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZCIKICNk
ZWZpbmUgV2ViS2l0TWVudUl0ZW1FbGVtZW50RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRN
ZW51SXRlbUVsZW1lbnRFbmFibGVkIgorI2RlZmluZSBXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkIgogI2RlZmluZSBXZWJLaXRV
c2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRVc2VyVGltaW5nRW5hYmxlZCIK
ICNkZWZpbmUgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktp
dFJlc291cmNlVGltaW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TWVkaWFDb250ZW50VHlwZXNS
ZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFDb250ZW50
VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQiCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHJldmlzaW9uIDI2MDA0NSkK
KysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHdv
cmtpbmcgY29weSkKQEAgLTY4Miw2ICs2ODIsNyBAQAogI2lmIEVOQUJMRShJTlRFUlNFQ1RJT05f
T0JTRVJWRVIpCiAgICAgICAgIEBOTywgV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVk
UHJlZmVyZW5jZUtleSwKICNlbmRpZgorICAgICAgICBATk8sIFdlYktpdFBhaW50VGltaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQ
cmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFBy
ZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0TWVkaWFVc2VyR2VzdHVyZUluaGVyaXRz
RnJvbURvY3VtZW50LApAQCAtMzMwNiw2ICszMzA3LDE2IEBACiAgICAgW3NlbGYgX3NldEJvb2xW
YWx1ZTpmbGFnIGZvcktleTpXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOwog
fQogCistIChCT09MKXBhaW50VGltaW5nRW5hYmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9v
bFZhbHVlRm9yS2V5OldlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQor
CistICh2b2lkKXNldFBhaW50VGltaW5nRW5hYmxlZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYg
X3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJl
bmNlS2V5XTsKK30KKwogLSAoQk9PTClyZXNvdXJjZVRpbWluZ0VuYWJsZWQKIHsKICAgICByZXR1
cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVm
ZXJlbmNlS2V5XTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkod29y
a2luZyBjb3B5KQpAQCAtNjYxLDYgKzY2MSw3IEBACiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9P
TCBrZXlnZW5FbGVtZW50RW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHVzZXJU
aW1pbmdFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcmVzb3VyY2VUaW1pbmdF
bmFibGVkOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcGFpbnRUaW1pbmdFbmFibGVkOwog
QHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbGlua1ByZWxvYWRFbmFibGVkOwogQHByb3BlcnR5
IChub25hdG9taWMpIEJPT0wgbWVkaWFVc2VyR2VzdHVyZUluaGVyaXRzRnJvbURvY3VtZW50Owog
QHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgaXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxl
ZDsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJl
dmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzIwMSw2ICszMjAxLDcgQEAKIAogICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQocHJl
ZmVyZW5jZXMudXNlclRpbWluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnJl
c291cmNlVGltaW5nRW5hYmxlZCk7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMucGFpbnRUaW1pbmdF
bmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dExpbmtQcmVsb2FkRW5hYmxlZChwcmVmZXJlbmNlcy5saW5rUHJlbG9hZEVuYWJsZWQpOwogICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TWVkaWFQcmVsb2Fk
aW5nRW5hYmxlZChwcmVmZXJlbmNlcy5tZWRpYVByZWxvYWRpbmdFbmFibGVkKTsKICAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldElzU2VjdXJlQ29udGV4dEF0
dHJpYnV0ZUVuYWJsZWQocHJlZmVyZW5jZXMuaXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxl
ZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjAwNDUpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBwcmVmZXJlbmNl
IGtleSBmb3IgcGFpbnQtdGltaW5nLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoK
KyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNw
cDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZl
cmVuY2VzQ2hhbmdlZCk6CisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5p
ZGw6CisgICAgICAgICogSW50ZXJmYWNlcy9XZWJLaXQuaWRsOgorICAgICAgICAgICAgICAgIFRv
dWNoZWQgdG8gdHJpZ2dlciBidWlsZC4KKwogMjAyMC0wNC0wOCAgRGFuaWVsIEJhdGVzICA8ZGFi
YXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgU2hvdWxkIGZpbmQgdG91Y2gtYWN0aW9uIGVsZW1l
bnRzIGluc2lkZSBub24tY29tcG9zaXRlZCBpZnJhbWVzCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJp
dmF0ZS5pZGwJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0lu
dGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2
NSw0ICsyNjUsNiBAQAogewogICAgIEhSRVNVTFQgYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJM
cyhbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgc2V0QWxsb3dUb3BO
YXZpZ2F0aW9uVG9EYXRhVVJMcyhbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBwYWlu
dFRpbWluZ0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MKik7CisgICAgSFJFU1VMVCBzZXRQYWlu
dFRpbWluZ0VuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwogfQpJbmRleDogU291cmNlL1dlYktp
dExlZ2FjeS93aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvV2ViS2l0LmlkbAkocmV2aXNpb24gMjYwMDQ1KQor
KysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogY3BwX3F1b3RlKCIvKiIpCi1jcHBfcXVv
dGUoIiAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxNSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIikKK2NwcF9xdW90ZSgiICogQ29weXJpZ2h0
IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDE1LCAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4iKQogY3BwX3F1b3RlKCIgKiIpCiBjcHBfcXVvdGUoIiAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCIpCiBjcHBfcXVvdGUoIiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyIpCkluZGV4OiBTb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24g
MjYwMDQ1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE5Nyw2ICsxOTcsOCBAQAogCiAjZGVmaW5lIFdlYktp
dFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0VXNlclRpbWluZ0VuYWJsZWQi
CiAKKyNkZWZpbmUgV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0
UGFpbnRUaW1pbmdFbmFibGVkIgorCiAjZGVmaW5lIFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxl
ZFByZWZlcmVuY2VLZXkgIldlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZCIKIAogI2RlZmluZSBX
ZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRMaW5rUHJlbG9hZEVu
YWJsZWQiCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3Bw
CShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJl
bmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyNiw2ICszMjYsOCBAQAogCiAgICAgQ0ZEaWN0
aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxl
ZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCisgICAgQ0ZEaWN0aW9uYXJ5QWRk
VmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOworCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVs
dHMsIENGU1RSKFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29s
ZWFuRmFsc2UpOwogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdl
YktpdE1lZGlhUHJlbG9hZGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNl
KTsKQEAgLTI0MTQsNiArMjQxNiwyMCBAQAogICAgIHJldHVybiBTX09LOwogfQogCitIUkVTVUxU
IFdlYlByZWZlcmVuY2VzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQoQk9PTCBlbmFibGVkKQorewor
ICAgIHNldEJvb2xWYWx1ZShXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LCBl
bmFibGVkKTsKKyAgICByZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6
cGFpbnRUaW1pbmdFbmFibGVkKF9PdXRfIEJPT0wqIGVuYWJsZWQpCit7CisgICAgaWYgKCFlbmFi
bGVkKQorICAgICAgICByZXR1cm4gRV9QT0lOVEVSOworICAgICplbmFibGVkID0gYm9vbFZhbHVl
Rm9yS2V5KFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpOworICAgIHJldHVy
biBTX09LOworfQorCiBIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXJ2ZXJUaW1pbmdFbmFibGVk
KF9PdXRfIEJPT0wqIGVuYWJsZWQpCiB7CiAgICAgaWYgKCFlbmFibGVkKQpJbmRleDogU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zMDcsNiArMzA3LDggQEAKICAgICAvLyBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOAogICAgIHZp
cnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFV
UkxzKF9PdXRfIEJPT0wqKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
c2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhCT09MKTsKKyAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgcGFpbnRUaW1pbmdFbmFibGVkKF9PdXRfIEJPT0wqKTsKKyAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0UGFpbnRUaW1pbmdFbmFibGVk
KEJPT0wpOwogCiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIApJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViVmlldy5jcHAJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Mjg1LDYgKzUyODUsMTEgQEAKICAg
ICAgICAgcmV0dXJuIGhyOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQoISFlbmFibGVkKTsKIAorICAgIGhyID0gcHJlZnNQ
cml2YXRlLT5wYWludFRpbWluZ0VuYWJsZWQoJmVuYWJsZWQpOworICAgIGlmIChGQUlMRUQoaHIp
KQorICAgICAgICByZXR1cm4gaHI7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJsZWQoISFlbmFibGVkKTsKKwogICAgIGhyID0g
cHJlZnNQcml2YXRlLT5yZXNvdXJjZVRpbWluZ0VuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChG
QUlMRUQoaHIpKQogICAgICAgICByZXR1cm4gaHI7CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjAwNDUpCisrKyBUb29scy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wNC0xMyAgTm9h
bSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAo
Zmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBwcmVmZXJlbmNlIGtleSBmb3IgcGFpbnQtdGltaW5nLgorCisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAo
cmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVy
ZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVm
ZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisKIDIwMjAtMDQtMTMgIEthdGUgQ2hlbmV5ICA8
a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cC90ZXN0cy9pbi1hcHAt
YnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1kb21haW4uaHRtbCBpcyBhIGNvbnN0YW50IGZhaWx1
cmUgb24gaU9TCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
Lm1tCShyZXZpc2lvbiAyNjAwNDUpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJl
bmRlclRyZWUubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwMDQsNiArMTAwNCw3IEBACiAgICAgW3By
ZWZlcmVuY2VzIHNldE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkOllFU107CiAgICAgW3ByZWZl
cmVuY2VzIHNldFJlc291cmNlVGltaW5nRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBz
ZXRVc2VyVGltaW5nRW5hYmxlZDpZRVNdOworICAgIFtwcmVmZXJlbmNlcyBzZXRQYWludFRpbWlu
Z0VuYWJsZWQ6WUVTXTsKIAogICAgIFtwcmVmZXJlbmNlcyBzZXRDYWNoZUFQSUVuYWJsZWQ6Tk9d
OwogICAgIHByZWZlcmVuY2VzLm1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxlZCA9IFlFUzsKSW5kZXg6
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAkocmV2aXNpb24g
MjYwMDQ1KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtOTIxLDYgKzkyMSw3IEBACiAgICAgcHJlZnNQcml2YXRlLT5zZXRB
bGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKG9wdGlvbnMuYWxsb3dUb3BOYXZpZ2F0aW9uVG9E
YXRhVVJMcyk7CiAgICAgcHJlZmVyZW5jZXMtPnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQob3B0
aW9ucy51c2VFcGhlbWVyYWxTZXNzaW9uKTsKICAgICBwcmVmZXJlbmNlcy0+c2V0VXNlc1BhZ2VD
YWNoZShvcHRpb25zLmVuYWJsZUJhY2tGb3J3YXJkQ2FjaGUpOworICAgIHByZWZzUHJpdmF0ZS0+
c2V0UGFpbnRUaW1pbmdFbmFibGVkKFRSVUUpOwogfQogCiBzdGF0aWMgU3RyaW5nIGFwcGxpY2F0
aW9uSWQoKQpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJ
KHJldmlzaW9uIDI2MDA0NSkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MzEsNiArOTMxLDcgQEAKICAgICBXS1ByZWZlcmVu
Y2VzU2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBX
S1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsK
ICAgICBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUp
OworICAgIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRy
dWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVByZWxvYWRpbmdFbmFibGVkKHByZWZlcmVu
Y2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQbGF5YmFja0FsbG93c0lubGlu
ZShwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldElubGluZU1lZGlhUGxh
eWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKHByZWZlcmVuY2VzLCBmYWxzZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397088</attachid>
            <date>2020-04-21 09:21:41 -0700</date>
            <delta_ts>2020-04-21 09:23:26 -0700</delta_ts>
            <desc>Patch: using fake paint</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>144550</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI2MDA0NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDIwLTA0LTEzICBOb2FtIFJvc2VudGhhbCAg
PG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50
ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkZWQgdGVzdHMgZm9yIHNvbWUgZmlyc3QtY29udGVudGZ1bC1wYWludCAoRkNQKSB1c2Ut
Y2FzZXMuCisgICAgICAgIEVuc3VyZSB0aGF0IEZDUCB3b3JrcyB3ZWxsIHdpdGggVk5FIChmaXJz
dCBwYWludCBkZWxheSB1bnRpbCBjb250ZW50cyBhcmUgdmlzdWFsbHkgbm9uLWVtcHR5KS4KKwor
ICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWlu
Zy1hcGkuanM6IEFkZGVkLgorICAgICAgICAgICAgICAgIFRlc3QgZXhpc3RlbmNlIG9mIHBhaW50
IHRpbWluZyBBUEkgb24gdGhlIHdpbmRvdyBvYmplY3QuCisKKyAgICAgICAgKiBwZXJmb3JtYW5j
ZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMu
aHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQtd2l0aC13b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3Jt
YW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC13aXRoLXdvcmtlci5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sOiBB
ZGRlZC4KKyAgICAgICAgICAgICAgICBUZXN0IHRoYXQgRkNQIGlzIG5vdCBhdmFpbGFibGUgZm9y
IGNyb3NzLW9yaWdpbiBmcmFtZXMgYW5kIHdvcmtlcnMuCisKKyAgICAgICAgKiBwZXJmb3JtYW5j
ZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNl
cnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZv
cm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzOiBBZGRlZC4KKyAgICAgICAg
KGFzeW5jIHdhaXRGb3JGQ1ApOgorICAgICAgICAgICAgICAgIFRlc3QgdGhhdCBwZXJmb3JtYW5j
ZSBvYnNlcnZlcnMgYXJlIGNhbGxlZCBmb3IgRkNQLgorCisgICAgICAgICogaHR0cC90ZXN0cy9w
ZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5v
bi1lbXB0eS1mb3Itc3R5bGUuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wZXJm
b3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1l
bXB0eS1mb3Itc3R5bGUtZXhwZWN0ZWQudHh0OiBBZGRlZAorICAgICAgICAqIGh0dHAvdGVzdHMv
cGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dzdHlsZS5waHA6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3N0eWxlLmNzczogIEFkZGVkLgorICAgICAg
ICAgICAgICAgIElmIGEgcGVuZGluZyBzdHlsZXNoZWV0IGJsb2NrcyBwYWludGluZywgbWFrZSBz
dXJlIEZDUCBpcyByZXBvcnRlZCBvbmx5IGFmdGVyIHN0eWxlc2hlZXQgaGFzIGxvYWRlZC4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2UvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9w
ZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5v
bi1lbXB0eS1mb3ItbnVtLWNoYXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9wZXJmb3JtYW5jZS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Bl
cmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1u
dW0tY2hhcnMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9y
ZXNvdXJjZXMvc2xvd3NjcmlwdC5waHA6IEFkZGVkLgorICAgICAgICAgICAgICAgIElmIFZORSBk
dWUgdG8gbnVtYmVyIG9mIGNoYXJhY3RlcnMgYmxvY2tzIHBhaW50aW5nLCBtYWtlIHN1cmUgRkNQ
IGlzIHJlcG9ydGVkIG9ubHkgYWZ0ZXIgcGFpbnRpbmcgaXMgdW5ibG9ja2VkLgorCiAyMDIwLTA0
LTEzICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAgICAg
IGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtZG9tYWluLmh0bWwg
aXMgYSBjb25zdGFudCBmYWlsdXJlIG9uIGlPUwpJbmRleDogTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCShyZXZp
c2lvbiAyNjAwNDUpCisrKyBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNv
cHkpCkBAIC0yMDYsNiArMjA2LDkgQEAKICMgRGF0YURldGVjdG9ycyB0ZXN0cyBvbmx5IG1ha2Ug
c2Vuc2Ugb24gTWFjCiBmYXN0L2V2ZW50cy9kby1ub3QtZHJhZy1hbmQtZHJvcC1kYXRhLWRldGVj
dG9ycy1saW5rLmh0bWwgWyBTa2lwIF0KIAorIyBBIHJvdW5kaW5nIGVycm9yIG1heSBjYXVzZSA5
MGRlZyAzZC1yb3RhdGVkIGVsZW1lbnRzIHRvIGNvdW50IGFzIHBhaW50ZWQKK2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAorCiB3ZWJraXQub3JnL2IvMjAyNjE3IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGljdHVyZS1pbi1waWN0dXJlIFsgU2tpcCBdCiAKICMg
UGlQIEFQSSB0ZXN0cyBhcmUgb25seSByZWxldmFudCBvbiBtYWMgYW5kIGlQYWQKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5n
LWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3Jt
YW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNo
YXJzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHkt
bm9uLWVtcHR5LWZvci1udW0tY2hhcnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMyBAQAorUEFTUyBwYWludEVudHJ5LnN0YXJ0VGltZSA+IHRpbWVzdGFtcHNbZXhwZWN0
ZWRJdGVyYXRpb25zXSBpcyB0cnVlCitQQVNTIHBhaW50RW50cnkuc3RhcnRUaW1lIDwgdGltZXN0
YW1wc1tleHBlY3RlZEl0ZXJhdGlvbnMgKyAyXSBpcyB0cnVlCisKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRl
ci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5n
LWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2Ut
cGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpCisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOworICAgIH0KKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgdmFyIHN0eWxlRW50cnkg
PSBudWxsCisgICAgdmFyIHBhaW50RW50cnkgPSBudWxsCisgICAgdmFyIHRpbWVzdGFtcHMgPSBb
XQorICAgIHZhciBjaGFyc1Blckl0ZXJhdGlvbiA9IDgwCisgICAgdmFyIGNoYXJUaHJlc2hvbGQg
PSAyMDAKKyAgICB2YXIgZXhwZWN0ZWRJdGVyYXRpb25zID0gTWF0aC5jZWlsKGNoYXJUaHJlc2hv
bGQgLyBjaGFyc1Blckl0ZXJhdGlvbikKKworICAgIGZ1bmN0aW9uIHNsb3dTdHJpbmcoc3RyLCBk
ZWxheSkgeworICAgICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdz
Y3JpcHQnKQorICAgICAgICBjb25zdCBzb3VyY2UgPSBgZG9jdW1lbnQud3JpdGUoJyR7c3RyfScp
OyB0aW1lc3RhbXBzLnB1c2goJHtwZXJmb3JtYW5jZS5ub3coKX0pOyBjaGVjaygpO2AKKyAgICAg
ICAgc2NyaXB0LnNyYyA9IGAuL3Jlc291cmNlcy9zbG93c2NyaXB0LnBocD9jYWNoZUJ1c3Rlcj0k
e3BlcmZvcm1hbmNlLm5vdygpfSZkZWxheT0ke2RlbGF5fSZzY3JpcHQ9JHtzb3VyY2V9YAorICAg
ICAgICBkb2N1bWVudC53cml0ZShzY3JpcHQub3V0ZXJIVE1MKQorICAgIH0KKworICAgIGZ1bmN0
aW9uIGNoZWNrKCkgeworICAgICAgICBpZiAodGltZXN0YW1wcy5sZW5ndGggPCBleHBlY3RlZEl0
ZXJhdGlvbnMgKyAzIHx8ICFwYWludEVudHJ5KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJycKKworICAgICAgICBzaG91bGRCZVRydWUo
InBhaW50RW50cnkuc3RhcnRUaW1lID4gdGltZXN0YW1wc1tleHBlY3RlZEl0ZXJhdGlvbnNdIikK
KyAgICAgICAgc2hvdWxkQmVUcnVlKCJwYWludEVudHJ5LnN0YXJ0VGltZSA8IHRpbWVzdGFtcHNb
ZXhwZWN0ZWRJdGVyYXRpb25zICsgMl0iKQorICAgICAgICAKKyAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCkKKyAgICB9CisK
KyAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4gewor
ICAgICAgICBwYWludEVudHJ5ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncGFpbnQn
KVswXQorICAgICAgICBpZiAocGFpbnRFbnRyeSkKKyAgICAgICAgICAgIGNoZWNrKCkKKyAgICB9
KTsKKyAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbInBhaW50Il19KQorCisgICAg
ZnVuY3Rpb24gbmV4dCgpIHsKKyAgICAgICAgc2xvd1N0cmluZygnXHQgJyArIEFycmF5KGNoYXJz
UGVySXRlcmF0aW9uIC8gMikuZmlsbCgnIDAgXHQgQScpLmpvaW4oJycpICsgIiAgIFxuXHQiLCAw
LjMsIGNoYXJzUGVySXRlcmF0aW9uKQorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0
PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3Njcmlw
dD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3Jp
cHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2Ny
aXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3Nj
cmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9z
Y3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwv
c2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8
L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgp
PC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFp
bnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Bl
cmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1z
dHlsZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5
LW5vbi1lbXB0eS1mb3Itc3R5bGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMiBAQAorUEFTUyBwYWludEVudHJ5LnN0YXJ0VGltZSA+PSBzdHlsZUVudHJ5LnN0YXJ0VGlt
ZSArIHN0eWxlRW50cnkuZHVyYXRpb24gaXMgdHJ1ZQorVEVYVApJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVy
LXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3At
YWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGlt
aW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCkKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAg
fQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICB2YXIgc3R5bGVFbnRyeSA9IG51bGw7CisgICAg
dmFyIHBhaW50RW50cnkgPSBudWxsOworICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1h
bmNlT2JzZXJ2ZXIobGlzdCA9PiB7CisgICAgICAgIGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZv
cm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3BhaW50Jyk7CisgICAgICAgIGlmIChwYWludEVudHJp
ZXMubGVuZ3RoKQorICAgICAgICAgICAgcGFpbnRFbnRyeSA9IHBhaW50RW50cmllc1swXTsKKwor
ICAgICAgICBjb25zdCByZXNvdXJjZUVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlU
eXBlKCdyZXNvdXJjZScpLmZpbHRlcihyID0+IHIubmFtZS5pbmNsdWRlcygnc2xvd3N0eWxlLnBo
cCcpKTsKKyAgICAgICAgaWYgKHJlc291cmNlRW50cmllcy5sZW5ndGgpCisgICAgICAgICAgICBz
dHlsZUVudHJ5ID0gcmVzb3VyY2VFbnRyaWVzWzBdOworCisgICAgICAgIGlmICghc3R5bGVFbnRy
eSB8fCAhcGFpbnRFbnRyeSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBzaG91bGRC
ZVRydWUoInBhaW50RW50cnkuc3RhcnRUaW1lID49IHN0eWxlRW50cnkuc3RhcnRUaW1lICsgc3R5
bGVFbnRyeS5kdXJhdGlvbiIpOworICAgICAgICAgICAgICAgIAorICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9
KTsKKyAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbInBhaW50IiwgInJlc291cmNl
Il19KTsKKzwvc2NyaXB0PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuL3Jlc291cmNl
cy9zbG93c3R5bGUucGhwP2RlbGF5PTAuNSIgLz4KKzwvaGVhZD4KKzxib2R5PgorVEVYVAorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9y
ZXNvdXJjZXMvc2xvd3NjcmlwdC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3NjcmlwdC5waHAJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3Njcmlw
dC5waHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5IEBACis8P3BocAoraWYgKGlzc2V0KCRf
R0VUWyJkZWxheSJdKSkKKyAgICBzbGVlcCgkX0dFVFsiZGVsYXkiXSk7CitoZWFkZXIoJ0NhY2hl
LUNvbnRyb2w6IG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUnKTsKK2hlYWRlcignQ29udGVudC1U
eXBlOiB0ZXh0L2phdmFzY3JpcHQnKTsKKworZWNobygkX0dFVFsic2NyaXB0Il0pCis/PgorCklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c3R5
bGUucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2Uv
cmVzb3VyY2VzL3Nsb3dzdHlsZS5waHAJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3N0eWxlLnBocAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDYgQEAKKzw/cGhwCitpZiAoaXNzZXQoJF9HRVRbImRlbGF5Il0pKQorICAg
IHNsZWVwKCRfR0VUWyJkZWxheSJdKTsKK2hlYWRlcignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUs
IG11c3QtcmV2YWxpZGF0ZScpOworaGVhZGVyKCdMb2NhdGlvbjogc3R5bGUuY3NzJyk7Cis/PgpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc3R5bGUu
Y3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVz
b3VyY2VzL3N0eWxlLmNzcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zdHlsZS5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzIEBACitib2R5IHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbgorfTsKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI2MDQyMCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSw4NSBAQAorMjAyMC0wNC0yMSAgTm9hbSBSb3NlbnRoYWwg
IDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVu
dGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEltcG9ydGVkIHczYyB0ZXN0cyBmb3IgZmlyc3QgY29udGVudGZ1bCBwYWludCBhbmQgdXBk
YXRlZCB0ZXN0IGhhcm5lc3MuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0
aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmc6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHk6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1z
ZXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmct
aW1hZ2UtdHdvLXN0ZXBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1ncmFkaWVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0z
ZC1yb3RhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
c2NhbGUtdHJhbnNpdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2Nl
bmRhbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMt
dHJhbnNsYXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWlt
YWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12
aXNpYmlsaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1
ZG8uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFt
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0
ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2Uu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL3Jlc291cmNlczogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2ZzogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmc6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1
YmZyYW1lLXBhaW50aW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMv
dXRpbHMuanM6IEFkZGVkLgorICAgICAgICAod2FpdEZvckFuaW1hdGlvbkZyYW1lcyk6CisgICAg
ICAgIChhc3luYyBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKGFzeW5j
IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50LnJldHVybi5uZXcuUHJvbWlzZSk6CisgICAgICAg
IChhc3luYyBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCk6CisgICAgICAgIChhc3luYyB0ZXN0
X2ZjcCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qczoKKyAgICAgICAgKHByb21pc2VfcmVqZWN0c19qcyk6CisgICAgICAgIChwcm9taXNlX3Jl
amVjdHNfZG9tKToKKyAgICAgICAgKHByb21pc2VfcmVqZWN0c19leGFjdGx5KToKKyAgICAgICAg
KGZvcm1hdF92YWx1ZSk6CisKIDIwMjAtMDQtMTUgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmls
bGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dlYlhSXSBVcGRhdGUgV2ViWFJTZXNzaW9uIGFu
ZCBXZWJYUlN5c3RlbSBpbnRlcmZhY2VzCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgkocmV2
aXNpb24gMjYwMDQ1KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBv
cnQtZXhwZWN0YXRpb25zLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTEzLDYgKzEzLDExIEBACiAg
ICAgImNzcy9nZW9tZXRyeSI6ICJpbXBvcnQiLCAKICAgICAiY3NzL3N1cHBvcnQiOiAiaW1wb3J0
IiwgCiAgICAgImN1c3RvbS1lbGVtZW50cyI6ICJpbXBvcnQiLCAKKyAgICAicGFpbnQtdGltaW5n
LyI6ICJpbXBvcnQiLCAKKyAgICAicGFpbnQtdGltaW5nL2ZjcC1vbmx5IjogImltcG9ydCIsIAor
ICAgICJwYWludC10aW1pbmcvcmVzb3VyY2VzIjogImltcG9ydCIsIAorICAgICJwYWludC10aW1p
bmcvcmVzb3VyY2VzLyI6ICJpbXBvcnQiLCAKKyAgICAicmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
IjogImltcG9ydCIsIAogICAgICJzaGFkb3ctZG9tIjogImltcG9ydCIsIAogICAgICJ0b29scyI6
ICJpbXBvcnQiLCAKICAgICAid2ViLWFuaW1hdGlvbnMiOiAiaW1wb3J0IiwgCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0
byBiYWNrZ3JvdW5kIHNpemUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXpl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tncm91bmQgc2l6
ZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRp
dmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAg
ICAgIGJhY2tncm91bmQtc2l6ZTogMCAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xh
c3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1
bCB7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOworICAgIH0KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0
PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemUuIik7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0LiAK
KwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmctaW1hZ2Utc2V0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVz
dDogRkNQIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldDwvdGl0bGU+Cis8c3R5
bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRl
c3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgYmFja2dy
b3VuZC1pbWFnZTogLXdlYmtpdC1pbWFnZS1zZXQodXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBu
ZykgMXgpOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS1zZXQodXJsKC4uL3Jlc291
cmNlcy9jaXJjbGVzLnBuZykgMXgpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldC4iKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVw
cy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3
by1zdGVwcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5
IHdoZW4gdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgZmlyZSBmb3Ig
YmFja2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+CisgICAg
I21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgfQorCisgICAgLyogY29udGVudGZ1bCBhbmQgcHJlRkNQIGNsYXNzZXMgYXJlIGRlZmluZWQg
aW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLnByZUZDUCB7CisgICAgICAgIHZpc2li
aWxpdHk6IGhpZGRlbjsKKyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVsLCAgI21haW4ucHJl
RkNQIHsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVz
LnBuZyk7CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHZpc2liaWxp
dHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxz
Y3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZm9yIGJh
Y2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGUuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ2FudmFzIHNob3VsZCBj
b3VudCBhcyBjb250ZW50ZnVsIHdoZW4gY29udGV4dCBpcyBjcmVhdGVkIAorCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Y2FudmFzLWNvbnRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFz
LWNvbnRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
d2hlbiBjYW52YXMgY29udGV4dCBpcyBjcmVhdGVkPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Y2FudmFzIGlkPSJjYW52
YXMiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8c2NyaXB0PgorICBwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9y
bWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAg
YXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIp
KTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAgIGNvbnN0
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYW52YXMnKTsKKyAgICBjb25zdCBj
b250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CisgICAgY29udGV4dC5maWxsUmVjdCgw
LCAwLCAxMDAsIDEwMCk7CisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQodCk7
CisgIH0sICdDYW52YXMgc2hvdWxkIGNvdW50IGFzIGNvbnRlbnRmdWwgd2hlbiBjb250ZXh0IGlz
IGNyZWF0ZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1n
cmFkaWVudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRp
ZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBH
cmFkaWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsIAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtZ3JhZGllbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIG5vdCBmaXJlIHdpdGgg
Z3JhZGllbnQtb25seSBiYWNrZ3JvdW5kczwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4gewor
ICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGJh
Y2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIG9yYW5nZSwgYmx1ZSk7
CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91
dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgIHBy
b21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93
LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIp
OworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcign
bG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCk7
CisgIH0sICAnR3JhZGllbnRzIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bCcpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4dAorCitQQVNTIEZp
cnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHJv
dGF0aW5nIGludG8gdmlldy4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90
YXRlLWRlc2NlbmRhbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gM2QgcmV2ZWFsaW5nIG9mIGRlc2NlbmRhbnRz
PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVY
KDQ1ZGVnKTsKKyAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKKyAgICB9CisK
KyAgICAvKgorICAgICAgIFRoaXMgdGVzdHMgdGhhdCBnaXZlbiBtdWx0aXBsaWNhdGlvbiBlZmZl
Y3Qgb2YgM2QgdHJhbnNmb3JtcyBvbiBib3VuZGluZyByZWN0LAorICAgICAgIEFuIGVsZW1lbnQg
Y291bnRzIGFzIGNvbnRlbnRmdWwvcGFpbnRhYmxlIG9ubHkgd2hlbiBpdHMgYm91bmRpbmcgcmVj
dCBpcyB0cnVseSBub24tZW1wdHkgKi8KKyAgICAjY2hpbGQgeworICAgICAgICB0cmFuc2Zvcm06
IHJvdGF0ZVgoNDVkZWcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVm
aW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAg
ICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgor
ICAgIDxkaXYgaWQ9ImNoaWxkIj5UZXh0PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVz
dF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBn
ZXR0aW5nIHJvdGF0aW5nIGludG8gdmlldy4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gM2Qgcm90YXRpb24gaW50byB2aWV3LiAK
KwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXc8
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9y
bTogcm90YXRlWSg5MGRlZyk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAg
dG9wOiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0
ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5z
Zm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRleHQ8L2Rpdj4K
KzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVl
IHRvIDNkIHJvdGF0aW9uIGludG8gdmlldy4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byBzY2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4gCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24t
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNT
IEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcgdHJhbnNp
dGlvbi4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlv
bi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJh
bnNpdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBp
biB0cmFuc2l0aW9uPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRo
OiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAg
ICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0g
MXM7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0K
KworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQu
ICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7
CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91
dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj5URVhUPC9kaXY+Cis8c2NyaXB0Pgor
ICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gcmV2ZWFsZWQg
ZHVyaW5nIHRyYW5zaXRpb24uIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS1zY2FsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRl
c3Q6IEZDUCBkdWUgdG8gc2NhbGUgY2hhbmdlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7
CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
bGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAgICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTog
dXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1
bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250
ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBzY2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4iKQorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK0lOVklTSUJMRQor
CitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50
IGJlY29taW5nIHZpc2libGUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBl
cmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIHN0aWxsIGZpcmUgZm9yIGlu
dmlzaWJsZSB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgICAgIGNvbG9yOiByZ2JhKDAs
IDAsIDAsIDApOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBp
biB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHZp
c2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAg
ICBJTlZJU0lCTEUKKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVu
dGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4i
KQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0
eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0
byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiAKKwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGR1ZSB0byBhbmNlc3RvciBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAj
bWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRv
cDogMDsKKyAgICB9CisKKyAgICAjY2hpbGQgeworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0K
KworICAgIC8qIGNvbnRlbnRmdWwgYW5kIGludGVybWVkaWF0ZSBjbGFzc2VzIGFyZSBkZWZpbmVk
IGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICNjaGlsZCB7Cisg
ICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorCisgICAgI21haW4uaW50ZXJtZWRpYXRlICNjaGls
ZCB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorCisgICAgI21haW4uaW50ZXJtZWRpYXRl
IHsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVsIHsK
KyAgICAgICAgb3BhY2l0eTogMC41OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+
CisgICAgPGRpdiBpZD0iY2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0
ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9y
IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gb3BhY2l0eS1y
ZXZlYWxlZCBlbGVtZW50LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGR1ZSB0byBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7Cisg
ICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVm
dDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAg
ICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7Cisg
ICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBk
ZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAg
ICAgICAgb3BhY2l0eTogMC4xOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9k
aXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVsZW1lbnQuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlvbiB3
aXRoIGRvY3VtZW50LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNs
YXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNs
YXRlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJh
bnNsYXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1
ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQ8L3RpdGxlPgor
PHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogdHJhbnNs
YXRlKC0xMDAwcHgpOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDog
MDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBu
Zyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3Rf
ZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3Jt
OiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0
PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byB0cmFu
c2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIikKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQ
YWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudDwv
dGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IC0xMDAwcHg7CisgICAgICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdl
OiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50
ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNv
bnRlbnRmdWwgeworICAgICAgICBsZWZ0OiAwcHg7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlk
PSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiIpCis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1k
aXNwbGF5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBz
ZXVkby1lbGVtZW50IHRleHQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
ZGlzcGxheS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1k
aXNwbGF5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LWRpc3BsYXkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
ZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsK
KyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBj
b250ZW50OiAiVEVYVCI7CisgICAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAgLyog
Y29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAj
bWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2Zj
cCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4
dC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNl
dWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1pbWFnZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC1pbWFnZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC1pbWFnZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZD
UCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgaW1hZ2U8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWlu
IHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7Cisg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBp
cyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFm
dGVyIHsKKyAgICAgICAgY29udGVudDogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7Cisg
ICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0
ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1l
bnQgaW1hZ2UuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZlIG9wYWNp
dHkuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1l
bGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21h
aW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsK
KyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAg
ICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAv
KiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAg
ICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBvcGFjaXR5OiAwLjU7CisgICAgfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2Zj
cCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0
dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIAorCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRp
bWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQ8L3RpdGxlPgorPHN0eWxl
PgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0
aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVu
dGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5j
b250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiCisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4iKQor
PC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIAorCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRp
dGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVt
ZW50IGJlY29taW5nIHZpc2libGU8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAg
ICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBjb250ZW50
OiAiVEVYVCI7CisgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICB9CisKKyAgICAvKiBj
b250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNt
YWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOworICAg
IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMu
anMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVz
dF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50
IGJlY29taW5nIHZpc2libGUuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXN2Zy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIFNWRyBiZWNvbWVzIGNvbnRlbnRmdWwuIAorCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZv
cm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agd2l0aCBTVkc8L3RpdGxlPgorPHN0eWxlPgor
ICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICB9
CisKKyAgICAjY2lyY2xlIHsKKyAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAgLyog
Y29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAj
bWFpbi5jb250ZW50ZnVsICNjaXJjbGUgeworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICA8c3ZnIHZpZXdCb3g9IjAgMCAxMCAxMCIg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgorICAgICB4bWxuczp4bGluaz0iaHR0
cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CisgICAgPGRlZnM+CisgICAgICA8Y2lyY2xlIGlk
PSJteUNpcmNsZSIgY3g9IjUiIGN5PSI1IiByPSI0IiBzdHJva2U9ImJsdWUiLz4KKyAgICA8L2Rl
ZnM+CisgICAgPHVzZSBpZD0iY2lyY2xlIiBocmVmPSIjbXlDaXJjbGUiIGZpbGw9ImdyZWVuIiAv
PgorICA8L3N2Zz4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVu
dGZ1bCBwYWludCBmaXJlcyB3aGVuIFNWRyBiZWNvbWVzIGNvbnRlbnRmdWwuIikKKzwvc2NyaXB0
PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFRleHQgaW5wdXQgc2hv
dWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gaXRzIHZhbHVlIGlzIG5vbi1lbXB0eSAKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdGV4dC1pbnB1dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlu
cHV0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSBm
b3Igbm9uLWVtcHR5IHRleHQgaW5wdXQ8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9
InRleHQiIC8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBh
c3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQg
VGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4g
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3NlcnRO
b0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnaW5wdXQnKTsKKyAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgndmFsdWUn
LCAnICAnKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCk7Cisg
ICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ3ZhbHVlJyk7CisgICAgICBhd2FpdCBh
c3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgJ1RleHQgaW5wdXQgc2hvdWxkIGJl
Y29tZSBjb250ZW50ZnVsIHdoZW4gaXRzIHZhbHVlIGlzIG5vbi1lbXB0eScpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRv
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNl
dWRvLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBo
aWMtcHNldWRvLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK0EK
KworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIG9ubHkgd2hlbiBzb21lIG9mIHRo
ZSB0ZXh0IGlzIHZpc2libGUsIGNvbnNpZGVyaW5nIDo6Zmlyc3QtbGV0dGVyLiAKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBU
aW1pbmcgVGVzdDogRkNQIHNob3VsZCBub3QgZmlyZSB3aGVuIGFsbCB0ZXh0IGlzIGhpZGRlbiBk
dWUgdG8gdHlwb2dyYXBoaWMgcHNldWRvLWVsZW1lbnRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAj
bWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4
OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluICo6OmZpcnN0LWxl
dHRlciB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBj
bGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50
ZnVsICo6OmZpcnN0LWxldHRlciB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2PkE8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4K
KyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBvbmx5IHdoZW4gc29t
ZSBvZiB0aGUgdGV4dCBpcyB2aXNpYmxlLCBjb25zaWRlcmluZyA6OmZpcnN0LWxldHRlci4iKQor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJh
bWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFZpZGVv
IHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGZpcnN0IGZyYW1lIGlzIGxvYWRlZCAKKwpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZp
ZGVvLWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IGR1ZSB0byBsb2FkZWQgdmlkZW8gZnJhbWU8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIGF1
dG9wbGF5PjwvdmlkZW8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Cisg
ICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAi
UGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNl
KHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBh
c3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAgICAgLy8gU2V0IGFjdHVhbCB2aWRl
byBjb250ZW50IHRvIHRyaWdnZXIgRkNQLgorICAgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndmlkZW8nKTsKKyAgICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgnc3JjJywg
Jy9tZWRpYS90ZXN0Lm1wNCcpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7
CisgICAgICAgIHZpZGVvLm9uY2FucGxheSA9IHJlc29sdmU7CisgICAgICB9KTsKKyAgICAgIGF3
YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICB9LCAnVmlkZW8gc2hvdWxkIGJl
Y29tZSBjb250ZW50ZnVsIHdoZW4gZmlyc3QgZnJhbWUgaXMgbG9hZGVkJyk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVmlkZW8gc2hvdWxk
IGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9zdGVyIGlzIGxvYWRlZCAKKwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRl
by1wb3N0ZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVy
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBs
b2FkZWQgdmlkZW8gcG9zdGVyPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8dmlkZW8gaWQ9InZpZGVvIiB3aWR0aD0iNTAi
IGhlaWdodD0iNTAiPjwvdmlkZW8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9
PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWlu
ZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgYXdhaXQgbmV3IFByb21p
c2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICBhd2FpdCBh
c3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAgIGNvbnN0IHZpZGVvID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpZGVvJyk7CisgICAgY29uc3Qgc3JjID0gJy4uL3Jlc291cmNl
cy9jaXJjbGVzLnBuZyc7CisgICAgY29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTsKKyAgICBpbWFn
ZS5zcmMgPSBzcmM7CisgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdwb3N0ZXInLCBzcmMpOworICAg
IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICBpbWFnZS5vbmxvYWQgPSBh
c3luYyAoKSA9PiByZXNvbHZlKCk7CisgICAgfSkKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRl
bnRmdWxQYWludCh0KTsKKyAgfSwgJ1ZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVu
IHBvc3RlciBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
IEBACitURVhUCisKK1BBU1MgV2hpdGVzcGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRm
dWwuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXdoaXRlc3BhY2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0
OiBXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bDwvdGl0bGU+Cis8c3R5
bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1p
bWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIGJhY2tncm91bmQt
c2l6ZTogMCAwOworICAgIH0KKworICAgICN0ZXh0IHsKKyAgICAgICAgZGlzcGxheTogbm9uZTsK
KyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Ag
c2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI3RleHR7CisgICAgICAgIGRpc3BsYXk6
IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0i
d2hpdGVzcGFjZSI+ICAgPC9kaXY+CisgICAgPGRpdiBpZD0idGV4dCI+VEVYVDwvZGl2PgorPC9k
aXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQg
YXMgY29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC13aXRoLXJ0bC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdp
dGgtcnRsLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RFWFQK
KworUEFTUyBGQ1Agc2hvdWxkIGZpcmUgd2hlbiBjb29yZGluYXRlcyBhcmUgbmVnYXRpdmUsIGlm
IHdpdGhpbiBkb2N1bWVudCBzY3JvbGxhYmxlIGFyZWEgCisKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13
aXRoLXJ0bC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNDEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gZGlyZWN0aW9uIGNoYW5nZTwvdGl0
bGU+Cis8c3R5bGU+CisgICN0ZXh0IHsKKyAgICByaWdodDogLTEwMHB4OworICAgIHBvc2l0aW9u
OiBhYnNvbHV0ZTsKKyAgfQorCisgIGJvZHkgeworICAgIGRpcmVjdGlvbjogcnRsOworICB9CisK
KyAgI2R1bW15IHsKKyAgICBiYWNrZ3JvdW5kOiB5ZWxsb3c7CisgICAgd2lkdGg6IDEwcHg7Cisg
ICAgaGVpZ2h0OiAxMHB4OworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICBsZWZ0OiAwOwor
ICAgIHRvcDogMDsKKyAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJkdW1teSI+PC9kaXY+Cis8ZGl2
IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9
PiB7CisgICAgICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWlu
ZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJv
bWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdh
aXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgICAgIGRvY3VtZW50LmJvZHku
c3R5bGUuZGlyZWN0aW9uID0gJ2x0cicKKyAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdk
dW1teScpLnN0eWxlLmJhY2tncm91bmQgPSAnZ3JlZW4nCisgICAgICBhd2FpdCBhc3NlcnRGaXJz
dENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgJ0ZDUCBzaG91bGQgZmlyZSB3aGVuIGNvb3JkaW5h
dGVzIGFyZSBuZWdhdGl2ZSwgaWYgd2l0aGluIGRvY3VtZW50IHNjcm9sbGFibGUgYXJlYScpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2Zwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2Zwkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNv
dXJjZXMvY2lyY2xlLnN2Zwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKzxzdmcgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiPgorICAgPGNpcmNs
ZSBjeD0iMTAwIiBjeT0iNTAiIHI9IjQwIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIi
IGZpbGw9Im5vbmUiIC8+Cis8L3N2Zz4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46
bWltZS10eXBlID0gaW1hZ2UvcG5nCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2ly
Y2xlcy5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCitp
bWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2Vz
L3N1YmZyYW1lLXBhaW50aW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1l
LXBhaW50aW5nLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50
aW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8Ym9keT4KKzxkaXYgaWQ9ImltYWdlIj48L2Rpdj4KKzxzY3JpcHQ+CisgIGNvbnN0IGltZyA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0lNRycpOworICBpbWcuc3JjID0gJ2NpcmNsZXMucG5n
JzsKKyAgaW1nLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGZ1bmN0aW9uIHNlbmRQYWludEVu
dHJpZXMoKSB7CisgICAgICBjb25zdCBwYWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRy
aWVzQnlUeXBlKCdwYWludCcpOworICAgICAgaWYgKHBhaW50RW50cmllcy5sZW5ndGggPCAyKSB7
CisgICAgICAgIHNldFRpbWVvdXQoc2VuZFBhaW50RW50cmllcywgMjApOworICAgICAgICByZXR1
cm47CisgICAgICB9CisgICAgICBsZXQgZW50cnlDb250ZW50cyA9IHBhaW50RW50cmllcy5sZW5n
dGggKyAnJzsKKyAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFpbnRFbnRyaWVzLmxlbmd0aDsg
aSsrKSB7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAgICAgICBl
bnRyeUNvbnRlbnRzICs9ICcgJyArIGVudHJ5LmVudHJ5VHlwZSArICcgJyAgKyBlbnRyeS5uYW1l
OworICAgICAgfQorICAgICAgcGFyZW50LnBvc3RNZXNzYWdlKGVudHJ5Q29udGVudHMsICcqJyk7
CisgICAgfTsKKyAgICBzZW5kUGFpbnRFbnRyaWVzKCk7CisgIH07CisgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdpbWFnZScpLmFwcGVuZENoaWxkKGltZyk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdD4KKyAgc2Vs
Zi5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZSkgeworICAgIC8vIFNlbmQg
cGFpbnQtdGltaW5nIGVudHJpZXMgdXBvbiByZWNlaXZpbmcgYSBtZXNzYWdlLgorICAgIGNvbnN0
IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3BhaW50Jyk7Cisg
ICAgbGV0IGVudHJ5Q29udGVudHMgPSBwYWludEVudHJpZXMubGVuZ3RoICsgJyc7CisgICAgZm9y
IChsZXQgaSA9IDA7IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgIGNvbnN0
IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAgICAgZW50cnlDb250ZW50cyArPSAnICcgKyBl
bnRyeS5lbnRyeVR5cGUgKyAnICcgICsgZW50cnkubmFtZTsKKyAgICB9CisgICAgcGFyZW50LnBv
c3RNZXNzYWdlKGVudHJ5Q29udGVudHMsICcqJyk7CisgIH0pOworPC9zY3JpcHQ+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9y
ZXNvdXJjZXMvdXRpbHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQ4IEBACitmdW5jdGlvbiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKGNvdW50KSB7CisgIHJldHVy
biBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBpZiAoY291bnQtLSA8PSAwKSB7CisgICAg
ICByZXNvbHZlKCk7CisgICAgfSBlbHNlIHsKKyAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgo
KSA9PiB7CisgICAgICAgIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoY291bnQpLnRoZW4ocmVzb2x2
ZSk7CisgICAgICB9KTsKKyAgICB9CisgIH0pOworfQorCisvLyBBc3NlcnRzIHRoYXQgdGhlcmUg
aXMgY3VycmVudGx5IG5vIEZDUCByZXBvcnRlZC4gUGFzcyB0IHRvIGFkZCBzb21lIHdhaXQsIGlu
IGNhc2UgQ1NTIGlzIGxvYWRlZAorLy8gYW5kIEZDUCBpcyBpbmNvcnJlY3RseSBmaXJlZCBhZnRl
cndhcmRzLgorYXN5bmMgZnVuY3Rpb24gYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KSB7
CisgIGF3YWl0IHdhaXRGb3JBbmltYXRpb25GcmFtZXMoMyk7CisgIGFzc2VydF9lcXVhbHMocGVy
Zm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0
aCwgMCwgJ0ZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgbWFya2VkIHRvbyBlYXJseS4gJyk7Cit9CisK
Ky8vIEZ1bmN0aW9uIHRoYXQgaXMgcmVzb2x2ZWQgb25jZSBGQ1AgaXMgcmVwb3J0ZWQsIHVzaW5n
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuIEl0IHJlamVjdHMgYWZ0ZXIgYSBsb25nCisvLyB3YWl0IHRp
bWUgc28gdGhhdCBmYWlsaW5nIHRlc3RzIGRvbid0IHRpbWVvdXQuCithc3luYyBmdW5jdGlvbiBh
c3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNv
bHZlICA9PiB7CisgICAgZnVuY3Rpb24gY2hlY2tGQ1AoKSB7CisgICAgICBpZiAocGVyZm9ybWFu
Y2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0aCA9PT0g
MSkgeworICAgICAgICByZXNvbHZlKCk7CisgICAgICB9IGVsc2UgeworICAgICAgICByZXF1ZXN0
QW5pbWF0aW9uRnJhbWUoY2hlY2tGQ1ApCisgICAgICB9CisgICAgfQorICAgIHQuc3RlcChjaGVj
a0ZDUCk7CisgIH0pOworfQorCithc3luYyBmdW5jdGlvbiB0ZXN0X2ZjcChsYWJlbCkgeworICBj
b25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CisgIGRvY3VtZW50
LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOworICBhd2FpdCBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9
PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWlu
ZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgY29uc3QgbWFpbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluJyk7CisgICAgYXdhaXQgbmV3IFByb21pc2UociA9
PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICBhd2FpdCBhc3NlcnRO
b0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAgIG1haW4uY2xhc3NOYW1lID0gJ3ByZUZDUCc7
CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgICBtYWluLmNs
YXNzTmFtZSA9ICdjb250ZW50ZnVsJzsKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQ
YWludCh0KTsKKyAgfSwgbGFiZWwpOworfQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMSBA
QAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzND
IHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktp
dC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlo
dHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUg
VG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitE
byBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJv
cGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVz
IHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qg
b2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmcK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1z
ZW5kaW5nLXBhaW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMKSW5kZXg6IExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFp
bnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMg
QEAKK0Jhc2ljIEludGVyZmFjZSB0ZXN0IGZvciBwYWludC10aW1pbmcgQVBJcy4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcKK1BBU1MgUGVy
Zm9ybWFuY2VQYWludFRpbWluZyBpcyBkZWZpbmVkLgorUEFTUyBQZXJmb3JtYW5jZVBhaW50VGlt
aW5nLnByb3RvdHlwZS50b0pTT04gaXMgZGVmaW5lZC4KK1BBU1MgbmV3IFBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBj
b25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKScpLgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10
aW1pbmctYXBpcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQ
RSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL3BhaW50LXRpbWluZy1hcGkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1p
bmctZnJhbWVzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyMCBAQAorUGFpbnQgQVBJIHNob3VsZCBiZSBhdmFpbGFibGUgZm9yIHNh
bWUtb3JpZ2luIGZyYW1lcyBidXQgbm90IHRvIGNyb3NzLW9yaWdpbi9zYW5kYm94ZWQgZnJhbWVz
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyByZWNlaXZlZEV2ZW50LnNv
dXJjZSBpcyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJykuY29udGVudFdp
bmRvdworUEFTUyByZWNlaXZlZEVudHJ5Lm5hbWUgaXMgJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQn
CitQQVNTIGRpZFJlY2VpdmVNZXNzYWdlRnJvbVNhbmRib3hlZElmcmFtZSBpcyBmYWxzZQorUEFT
UyBBcnJheS5pc0FycmF5KG5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcykgaXMgdHJ1ZQorUEFTUyBB
cnJheS5pc0FycmF5KHNhbmRib3hTdXBwb3J0ZWRUeXBlcykgaXMgdHJ1ZQorUEFTUyBkaWRSZWNl
aXZlTWVzc2FnZSBpcyB0cnVlCitQQVNTIG5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRl
cygicGFpbnQiKSBpcyB0cnVlCitQQVNTIHNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygi
cGFpbnQiKSBpcyBmYWxzZQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQgY2FsbGJhY2sgd2FzIGZpcmVkIGZvciBzYW1lLW9yaWdpbiBmcmFtZSBidXQgbm90
IGZvciBjcm9zcy1vcmlnaW4gZnJhbWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCisKK1RFWFQKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9wYWludC10aW1pbmctZnJhbWVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CisgICAgPGlmcmFt
ZSB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgaWQ9Im5vblNhbmRib3hlZCIgc3JjPSIuL3Jlc291
cmNlcy9mY3Atc3ViZnJhbWUuaHRtbCI+PC9pZnJhbWU+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwv
ZGl2PgorPGlmcmFtZSBpZD0ic2FuZGJveGVkIiBzcmM9Ii4vcmVzb3VyY2VzL2ZjcC1zdWJmcmFt
ZS5odG1sIiBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIj48L2lmcmFtZT4KKzxkaXYgY2xhc3M9InNw
YWNlciI+PC9kaXY+CisKKyAgICBURVhUCisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiUGFpbnQg
QVBJIHNob3VsZCBiZSBhdmFpbGFibGUgZm9yIHNhbWUtb3JpZ2luIGZyYW1lcyBidXQgbm90IHRv
IGNyb3NzLW9yaWdpbi9zYW5kYm94ZWQgZnJhbWVzLiIpOword2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOword2luZG93LmRpZFJlY2VpdmVNZXNzYWdlID0gZmFsc2U7CisKK3dpbmRvdy5vbmxv
YWQgPSBhc3luYyAoKSA9PiB7CisgICAgY29uc3Qgc2FuZGJveGVkID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3NhbmRib3hlZCcpOworICAgIGNvbnN0IG5vblNhbmRib3hlZCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKTsKKyAgICBjb25zdCBmY3BNZXNzYWdlUHJv
bWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICB3aW5kb3cub25tZXNzYWdl
ID0gZXZlbnQgPT4geworICAgICAgICAgICAgd2luZG93LnJlY2VpdmVkRXZlbnQgPSBldmVudDsK
KyAgICAgICAgICAgIGNvbnN0IGlzRnJvbVNhbmRib3hlZCA9IGV2ZW50LnNvdXJjZSA9PT0gc2Fu
ZGJveGVkLmNvbnRlbnRXaW5kb3c7CisgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gSlNPTi5w
YXJzZShldmVudC5kYXRhKTsKKyAgICAgICAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7Cisg
ICAgICAgICAgICAgICAgY2FzZSAnc3VwcG9ydGVkJzoKKyAgICAgICAgICAgICAgICAgICAgaWYg
KGlzRnJvbVNhbmRib3hlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zYW5kYm94
U3VwcG9ydGVkVHlwZXMgPSBtZXNzYWdlLnN1cHBvcnRlZDsKKyAgICAgICAgICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93Lm5vblNhbmRib3hTdXBwb3J0ZWRU
eXBlcyA9IG1lc3NhZ2Uuc3VwcG9ydGVkOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgICAgICBjYXNlICdyZWNlaXZlZCc6CisgICAgICAgICAgICAgICAgICAgIHdpbmRv
dy5kaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUgPSBpc0Zyb21TYW5kYm94ZWQ7
CisgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5yZWNlaXZlZEVudHJ5ID0gbWVzc2FnZS5lbnRy
eTsKKyAgICAgICAgICAgICAgICAgICAgZGlkUmVjZWl2ZU1lc3NhZ2UgPSB0cnVlOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgncmVjZWl2ZWRFdmVudC5zb3VyY2UnLCAiZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ25vblNhbmRib3hlZCcpLmNvbnRlbnRXaW5kb3ciKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoJ3JlY2VpdmVkRW50cnkubmFtZScsICInZmlyc3QtY29udGVu
dGZ1bC1wYWludCciKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICB9KTsKKwor
ICAgIHNhbmRib3hlZC5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCJwYWludCIsICIqIik7Cisg
ICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIG5vblNhbmRib3hlZC5jb250ZW50V2luZG93LnBv
c3RNZXNzYWdlKCJwYWludCIsICIqIik7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIGF3
YWl0IGZjcE1lc3NhZ2VQcm9taXNlOworICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVNZXNz
YWdlRnJvbVNhbmRib3hlZElmcmFtZScpOworICAgIHNob3VsZEJlVHJ1ZSgnQXJyYXkuaXNBcnJh
eShub25TYW5kYm94U3VwcG9ydGVkVHlwZXMpJyk7CisgICAgc2hvdWxkQmVUcnVlKCdBcnJheS5p
c0FycmF5KHNhbmRib3hTdXBwb3J0ZWRUeXBlcyknKTsKKyAgICBzaG91bGRCZVRydWUoJ2RpZFJl
Y2VpdmVNZXNzYWdlJyk7CisgICAgc2hvdWxkQmVUcnVlKCdub25TYW5kYm94U3VwcG9ydGVkVHlw
ZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCdzYW5kYm94U3VwcG9y
dGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5j
ZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2FzIGZpcmVkIGZvciBz
YW1lLW9yaWdpbiBmcmFtZSBidXQgbm90IGZvciBjcm9zcy1vcmlnaW4gZnJhbWUiKTsKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK307CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQt
dGltaW5nLXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACitQYWludCBBUEkgc2hvdWxkIG5vdCBi
ZSBhdmFpbGFibGUgaW4gd29ya2VyIGNvbnRleHRzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5j
bHVkZXMoInBhaW50IikgaXMgdHJ1ZQorUEFTUyB3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmlu
Y2x1ZGVzKCJwYWludCIpIGlzIGZhbHNlCitQQVNTIHdvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMu
aW5jbHVkZXMoIm1hcmsiKSBpcyB0cnVlCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9y
dGVkRW50cnlUeXBlcyBkaWQgbm90IGluY2x1ZGUgJ3BhaW50JyBmb3Igd29ya2VycworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgt
d29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3BhaW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MjYgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbigiUGFpbnQgQVBJIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlIGluIHdv
cmtlciBjb250ZXh0cy4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2NvbnN0IHdv
cmtlciA9IG5ldyBXb3JrZXIoIi4vcmVzb3VyY2VzL3dvcmtlci5odG1sIik7Cit3b3JrZXIub25t
ZXNzYWdlID0gZXZlbnQgPT4geworICAgIHdpbmRvdy53b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVz
ID0gSlNPTi5wYXJzZShldmVudC5kYXRhKTsKKyAgICBzaG91bGRCZVRydWUoJ1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKScpOworICAgIHNo
b3VsZEJlRmFsc2UoJ3dvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50Iikn
KTsKKyAgICBzaG91bGRCZVRydWUoJ3dvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMo
Im1hcmsiKScpOworICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVk
RW50cnlUeXBlcyBkaWQgbm90IGluY2x1ZGUgJ3BhaW50JyBmb3Igd29ya2VycyIpOworICAgIGZp
bmlzaEpTVGVzdCgpOworfTsKKword29ya2VyLnBvc3RNZXNzYWdlKCJzdGFydCIpOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
ZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2Jz
ZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0
LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTAgQEAKK1BBU1MgZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50IGlzIHRydWUKK1BBU1Mg
cGVyZm9ybWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGggaXMgMQorUEFT
UyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50Iiwg
InBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgi
cGFpbnQiKS5sZW5ndGggaXMgMQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQgY2FsbGJhY2sgd2Fzbid0IGZpcmVkIGFnYWluIAorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitURVhUMgpJbmRleDogTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVy
Zm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1m
aXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MSBA
QAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
cGFpbnQtYXBpLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4K
K2Rlc2NyaXB0aW9uKCJFbnN1cmUgUGVyZm9ybWFuY2VPYnNlcnZlcnMgYXJlIG5vdGlmaWVkIG9u
Y2UgZm9yIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CisgCisoYXN5bmMgKCkgPT4geworICAgIHdpbmRvdy5kaWRSZWNlaXZlRmlyc3RDb250
ZW50ZnVsUGFpbnQgPSBmYWxzZTsKKyAgICB3aW5kb3cuc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uu
bm93KCk7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJl
c29sdmUgPT4geworICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2Vy
dmVyKGVudHJ5TGlzdCA9PiB7CisgICAgICAgICAgICB3aW5kb3cuZW50cnlMaXN0ID0gZW50cnlM
aXN0OworICAgICAgICAgICAgc2hvdWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzKCkubGVuZ3Ro
JywgIjEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5TmFt
ZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIpLmxlbmd0aCcsIDEpOworICAgICAgICAgICAgc2hv
dWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCcsICIxIik7
CisgICAgICAgICAgICB3aW5kb3cuZmNwRW50cnkgPSBlbnRyeUxpc3QuZ2V0RW50cmllcygpWzBd
OworICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgnZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBh
aW50Jyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50cnkubmFtZScsICciZmlyc3QtY29u
dGVudGZ1bC1wYWludCInKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5lbnRyeVR5
cGUnLCAnInBhaW50IicpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdmY3BFbnRyeS5zdGFy
dFRpbWUgPiB3aW5kb3cuc3RhcnRUaW1lJyk7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoJ2Zj
cEVudHJ5LnN0YXJ0VGltZSA8IHBlcmZvcm1hbmNlLm5vdygpJyk7CisgICAgICAgICAgICBzaG91
bGRCZSgnZmNwRW50cnkuZHVyYXRpb24nLCAiMCIpOworICAgICAgICAgICAgZGlkUmVjZWl2ZUZp
cnN0Q29udGVudGZ1bFBhaW50ID0gdHJ1ZTsKKyAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAg
ICAgfSk7CisKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydwYWludCdd
fSk7CisgICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQnOworICAgIH0pCisg
ICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAnVEVYVDInOworICAgIGF3YWl0IHdhaXRGb3JG
Q1AoKTsKKyAgICBzaG91bGRCZVRydWUoJ2RpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCcp
OworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKCkubGVuZ3RoJywgIjEiKTsK
KyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVu
dGZ1bC1wYWludCIpLmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiLCAicGFpbnQiKS5sZW5ndGgn
LCAiMSIpOworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJwYWlu
dCIpLmxlbmd0aCcsICIxIik7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBm
aXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAiKTsKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30pKCk7CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMv
ZmNwLXN1YmZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDIwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAg
IGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7CisgICAg
ICAgIGxpc3QuZ2V0RW50cmllcygpLmZvckVhY2goZW50cnkgPT4geworICAgICAgICAgICAgd2lu
ZG93LnBhcmVudC5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZTogJ3JlY2VpdmVkJywg
ZW50cnl9KSwgJyonKTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICBvYnNlcnZlci5vYnNl
cnZlKHtlbnRyeVR5cGVzOiBbInBhaW50Il19KTsKKyAgICB3aW5kb3cub25tZXNzYWdlID0gZSA9
PiB7CisgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3N1
cHBvcnRlZDogUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLCB0eXBlOiAn
c3VwcG9ydGVkJ30pLCAnKicpOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICJU
RVhUIjsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGkt
dXRpbHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291
cmNlcy9wYWludC1hcGktdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw1IEBACithc3luYyBmdW5jdGlvbiB3YWl0Rm9yRkNQKCkKK3sKKyAgICBhd2Fp
dCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiByZXNv
bHZlKCkpKTsKKyAgICByZXR1cm4gd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUo
J2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5ndGggPT0gMTsKK30KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2Vz
L3BhaW50LXRpbWluZy1hcGkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACitpZiAoc2VsZi5pbXBvcnRTY3JpcHRzKQor
ICAgIGltcG9ydFNjcmlwdHMoIi4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyIpOworCitp
ZiAoc2VsZi53aW5kb3cpCisgICAgZGVzY3JpcHRpb24oIkJhc2ljIEludGVyZmFjZSB0ZXN0IGZv
ciBwYWludC10aW1pbmcgQVBJcy4iKTsKKworZGVidWcoIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmci
KTsKK3Nob3VsZEJlRGVmaW5lZCgiUGVyZm9ybWFuY2VQYWludFRpbWluZyIpOworc2hvdWxkQmVE
ZWZpbmVkKGBQZXJmb3JtYW5jZVBhaW50VGltaW5nLnByb3RvdHlwZS50b0pTT05gKTsKK3Nob3Vs
ZFRocm93KGBuZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygpYCk7CisKK2lmIChzZWxmLmltcG9y
dFNjcmlwdHMpCisgICAgZmluaXNoSlNUZXN0KCk7CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKK3NlbGYub25tZXNzYWdlID0gKCkgPT4geworICAgIHNl
bGYucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0
ZWRFbnRyeVR5cGVzKSk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5
b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Rl
c3RzLW9wdGlvbnMuanNvbgkocmV2aXNpb24gMjYwMDQ1KQorKysgTGF5b3V0VGVzdHMvdGVzdHMt
b3B0aW9ucy5qc29uCSh3b3JraW5nIGNvcHkpCkBAIC0xNyw2ICsxNyw5IEBACiAgICAgImltcG9y
dGVkL3czYy9jc3MvY3NzLXZhbHVlcy92aF9ub3RfcmVmcmVzaGluZ19vbl9jaHJvbWUuaHRtbCI6
IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWlu
Zy9maXJzdC1pbWFnZS1jaGlsZC5odG1sIjogWworICAgICAgICAic2xvdyIKKyAgICBdLAogICAg
ICJpbXBvcnRlZC93M2Mvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvdXBk
YXRpbmctdGhlLWZpbmlzaGVkLXN0YXRlLmh0bWwiOiBbCiAgICAgICAgICJzbG93IgogICAgIF0s
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTkzNiw2ICs5MzYsNyBAQAog
ICAgIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbAogICAgIHBhZ2UvUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlv
bi5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VTZXJ2ZXJUaW1p
bmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI2MDQyNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDEyNCBAQAorMjAyMC0wNC0yMSAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWlu
dCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVk
IHRoZSBuZWNlc3NhcnkgaW50ZXJmYWNlLCBleHRlbnNpb25zIHRvIHRoZSBwZXJmb3JtYW5jZSBp
bnRlcmZhY2UgYW5kIG9ic2VydmVyLCBuZXcgcnVudGltZSBmbGFnLgorICAgICAgICBEZXRlY3Rp
bmcgY29udGVudGZ1bG5lc3MgYWZ0ZXIgbGF5b3V0IGFuZCBiZWZvcmUgYWN0dWFsIHBhaW50LCBi
eSBydW5uaW5nIGEgImR1bW15IiBwYWludCwgc2ltaWxhciB0byAKKyAgICAgICAgaW52YWxpZGF0
ZUNvbnRyb2xUaW50cygpIC8gaW52YWxpZGF0ZUltYWdlc1dpdGhBc3luY0RlY29kZXMoKS4gU2F2
ZSB0aGUgcmVzdWx0IHRvIHRoZSBHcmFwaGljc0NvbnRleHQgYW5kIHRoZW4gdG8gdGhlIGRvY3Vt
ZW50LgorICAgICAgICBUaGlzIHdvdWxkIHJ1biBmb3IgZXZlcnkgcGFpbnQgdW50aWwgd2UgZGV0
ZWN0IGEgY29udGVudGZ1bCBvbmUuCisKKyAgICAgICAgTm90ZSB0aGF0IGl0IHBhaW50cyB0aGUg
ZW50aXJlIGZyYW1lIGNvbnRlbnRzLCBhcyBGQ1AgaXMgbm90IHZpZXdwb3J0LWRlcGVuZGVudC4K
KworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
YmctaW1hZ2Utc2V0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1n
cmFkaWVudC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5k
YW50Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwKKyAgICAg
ICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLXNjYWxlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vcGFjaXR5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0
ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtaW1hZ2UuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHku
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2
Zy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
dHlwb2dyYXBoaWMtcHNldWRvLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1s
CisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0
ZXNwYWNlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCisgICAgICAgICAgICAg
ICBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMuaHRtbAorICAg
ICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtd2l0aC13
b3JrZXIuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1h
cGlzLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNl
cnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNlcy50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3Jl
QnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmg6
IEFkZGVkLgorICAgICAgICAoaXNUeXBlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFp
bnRUaW1pbmcuaWRsOiBBZGRlZC4KKyAgICAgICAgICAgICAgICBBZGQgUGVyZm9ybWFuY2VQYWlu
dFRpbWluZyBpbnRlcmZhY2UuIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI3Nl
Yy1QZXJmb3JtYW5jZVBhaW50VGltaW5nCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnN1cHBvcnRzUGFpbnRUaW1pbmcgY29uc3QpOgor
ICAgICAgICAgICAgICAgIFdlIG9ubHkgcmVwb3J0IHBhaW50IHRpbWluZyBmb3IgZG9jdW1lbnQg
dGhhdCBjYW4gYWNjZXNzIHRoZSB0b3AgbGV2ZWwgc2VjdXJpdHkgb3JpZ2luLCB0byBhdm9pZCBs
ZWFrYWdlIG9mIGluZm9ybWF0aW9uIHRvIHNhbmRib3hlZCBpZnJhbWVzLgorCisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6cmVwb3J0UGFpbnRUaW1pbmdJZk5lZWRlZCk6CisgICAgICAgICog
ZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICAgICAgICAgUmVwb3J0IHBhaW50IHRpbWluZywgYWNj
b3JkaW5nIHRvIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI3NlYy1yZXBvcnRp
bmctcGFpbnQtdGltaW5nCisKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICAgICAgICAgUmVw
b3J0IGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgYWZ0ZXIgbGF5b3V0LgorICAgICAgICAgICAgICAg
IFNlZSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0
bWwjdXBkYXRlLXRoZS1yZW5kZXJpbmcKKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXMgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeVR5cGUgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeU5hbWUgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KToK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAgICAgICAgICAgICAgU3VwcG9ydCBm
aXJzdC1jb250ZW50ZnVsLXBhaW50IHJlcG9ydGluZy4KKworICAgICAgICAqIHBhZ2UvUGVyZm9y
bWFuY2VFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5OjpwYXJz
ZUVudHJ5VHlwZVN0cmluZyk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc1BhaW50IGNvbnN0KToKKyAgICAg
ICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZU9ic2VydmVyLmg6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVy
LmlkbDoKKyAgICAgICAgICAgICAgICBBZGQgcGFpbnQgcGVyZm9ybWFuY2UgZW50cnkgdHlwZS4K
KworICAgICAgICAqIHBhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2Vi
Q29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0UGFpbnRUaW1pbmdFbmFibGVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnBhaW50VGltaW5nRW5hYmxl
ZCBjb25zdCk6CisgICAgICAgICAgICAgICAgTmV3IHJ1bnRpbWUgZmxhZyBmb3IgcGFpbnQgdGlt
aW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRldGVjdGluZ0NvbnRlbnRmdWxQYWlu
dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OnNldENvbnRlbnRm
dWxQYWludERldGVjdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6Y29u
dGVuZnVsUGFpbnREZXRlY3RlZCBjb25zdCk6CisgICAgICAgICAgICAgICAgQWRkIGEgZmxhZyBp
biBHcmFwaGljc0NvbnRleHQgd2hlcmUgZGlmZmVyZW50IHJlbmRlciBvcGVyYXRpb25zIGNhbiBy
ZXBvcnQgaWYgdGhleSdyZSBjb250ZW50ZnVsLgorCisgICAgICAgICogcmVuZGVyaW5nL0NvbnRl
bnRmdWxQYWludENoZWNrZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRm
dWxQYWludENoZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRmdWxQYWludCk6CisgICAgICAgICAg
ICAgICAgUnVuIGEgImR1bW15IiBwYWludCBvZiB0aGUgRnJhbWVWaWV3LCB0byBkZXRlY3QgY29u
dGVudGZ1bCBlbGVtZW50cy4gCisKKyAgICAgICAgKiByZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50
Q2hlY2tlci5oOiBBZGRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50Rmls
bExheWVyRXh0ZW5kZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckhUTUxDYW52YXM6OnBhaW50UmVwbGFjZWQpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6cGFpbnRSZXBsYWNlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVu
dHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWRlby5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJWaWRlbzo6cGFpbnRSZXBsYWNlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1Rl
eHRQYWludGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRQYWludGVyOjpwYWludFRleHRP
ckVtcGhhc2lzTWFya3MpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSb290OjpwYWludFJlcGxhY2VkKToKKyAg
ICAgICAgICAgICAgICBSZXBvcnQgY29udGVudGZ1bG5lc3Mgd2hlbiB3ZSByZWFjaCBhbnl0aGlu
ZyB0aGF0IHF1YWxpZmllcyBhcyBjb250ZW50ZnVsLAorICAgICAgICAgICAgICAgIGJhc2VkIG9u
IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI2NvbnRlbnRmdWwuCisKIDIwMjAt
MDQtMjEgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBFeGl0IGVhcmx5
IGluIEZyYW1lTG9hZGVyOjpsb2FkVVJMIHdoZW4gcmVkaXJlY3RpbmcgdG8gYW5vdGhlciBmcmFt
ZQpJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiAyNjAwNDUpCisr
KyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC05
MjYsNiArOTI2LDcgQEAKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5p
ZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaWRs
IFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwg
XAorICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsIFwKICAgICAkKFdl
YkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUp
L3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lv
biAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMjEyMSw2ICsyMTIxLDcgQEAKIHJlbmRlcmluZy9DU1NGaWx0ZXIuY3BwCiByZW5kZXJpbmcv
Q2xpcFJlY3QuY3BwCiByZW5kZXJpbmcvQ29tcGxleExpbmVMYXlvdXQuY3BwCityZW5kZXJpbmcv
Q29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHAKIHJlbmRlcmluZy9Db3VudGVyTm9kZS5jcHAKIHJl
bmRlcmluZy9FbGxpcHNpc0JveC5jcHAKIHJlbmRlcmluZy9FdmVudFJlZ2lvbi5jcHAKQEAgLTMx
OTksNiArMzIwMCw3IEBACiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCiBKU1BlcmZvcm1hbmNl
T2JzZXJ2ZXJDYWxsYmFjay5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAK
K0pTUGVyZm9ybWFuY2VQYWludFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5jcHAKIEpTUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlVGltaW5n
LmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MDUzLDYgKzQwNTMs
NyBAQAogCQlDOUY4N0NGRTFCMjhGNDBFMDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOUY4N0NGRDFC
MjhFNUY2MDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0EzQkY2N0UxMEQ5OUJBRTAwRTZDRTUz
IC8qIFNjcm9sbEFuaW1hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDQTZDMTUz
MDIyMEI5OENDMDA1NUNCRkMgLyogSlNWYWx1ZUluV3JhcHBlZE9iamVjdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMxQUUzQjgxRkI4MEVBRTAwRjVF
RkIyIC8qIEpTVmFsdWVJbldyYXBwZWRPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDQTdFOUI0OTI0MzYxREM1MDA0RTg5RjYgLyogQ29u
dGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0E3RTlCNDcyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWludENo
ZWNrZXIuaCAqLzsgfTsKIAkJQ0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJh
dGlvVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENBRTlGOTBFMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggKi87IH07
CiAJCUNCMzhGRDUyMUNDRjkzOTQwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENCMzhGRDRFMUNDRjkz
N0UwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCAqLzsgfTsKIAkJQ0IzOEZENUIxQ0Qy
MzI1QjAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0IzOEZENTkxQ0QyMzE0NTAwNTky
QTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovOyB9OwpAQCAtMTM4MTYsNiAr
MTM4MTcsOCBAQAogCQlDQTA5MUQ4NjIzQ0Y5MDc4MDBBRDQzNDYgLyogU3R5bGVJbWFnZVNldC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUltYWdlU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0EwOTFEODkyM0NGOTA4ODAwQUQ0MzQ2IC8qIFN0eWxlSW1hZ2VTZXQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVJbWFnZVNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDQTE2MzVEQzIwNzJFNzY5MDBFN0QyQ0UgLyogUmVmZXJyZXJQb2xpY3kuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmZXJyZXJQb2xpY3kuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNENTI0MDdENjQwMDA3MTI0MUEgLyog
UGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50
VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkzM0Q4MjQwN0VEQ0Yw
MDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8qIFNj
cm9sbEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbEFu
aW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNTJCQUU1MjNEMEFGMTYw
MERFMEI4NCAvKiBTdHlsZUN1cnNvckltYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxl
Q3Vyc29ySW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM4MjUsNiAr
MTM4MjgsOCBAQAogCQlDQTZDMTUyRjIyMEI0QTU1MDA1NUNCRkMgLyogSlNJREJSZXF1ZXN0Q3Vz
dG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCUmVxdWVz
dEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNkMxNTM3MjIwRDFF
QjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvckN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0lEQkN1cnNvckN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBNkMxNTM4MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvcldpdGhW
YWx1ZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0lE
QkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUNBN0U5QjQ3MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRmdWxQYWludENoZWNrZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0E3RTlCNDgyNDM2MURDNTAwNEU4OUY2IC8q
IENvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNBRTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0FzcGVjdFJhdGlv
VmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQUU5RjkwRTE0NjQ0MUYw
MDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRW50cnkuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA5NTksNiArMjA5NjQsOCBAQAogCQkJ
CUE1QTk5MzNBMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmNwcCAqLywKIAkJCQlBNUE5OTMzQjFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNl
cnZlckVudHJ5TGlzdC5oICovLAogCQkJCUE1QTk5MzNDMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJm
b3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCAqLywKKwkJCQlDQTE5MzNENTI0MDdENjQwMDA3
MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovLAorCQkJCUNBMTkzM0Q4MjQwN0VE
Q0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLywKIAkJCQk4NjUxMkVE
QjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi8sCiAJ
CQkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aCAqLywKIAkJCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZy5pZGwgKi8sCkBAIC0yODA0Miw2ICsyODA0OSw4IEBACiAJCQkJQkNERDQ1NEQxMjM2
Qzk1QzAwOUE3OTg1IC8qIENvbHVtbkluZm8uaCAqLywKIAkJCQlCQ0VBNDgxMzA5N0Q5MzAyMDA5
NEM5RTQgLyogQ29tcGxleExpbmVMYXlvdXQuY3BwICovLAogCQkJCUU0QTFBQzc4MjJGQUZENTAw
MDE3Qjc1QiAvKiBDb21wbGV4TGluZUxheW91dC5oICovLAorCQkJCUNBN0U5QjQ4MjQzNjFEQzUw
MDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcCAqLywKKwkJCQlDQTdFOUI0NzI0
MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oICovLAogCQkJCTkzOTJG
MTRGMEFEMTg2MjMwMDY5MUJENCAvKiBDb3VudGVyTm9kZS5jcHAgKi8sCiAJCQkJOTM5MkYxNEIw
QUQxODYxQjAwNjkxQkQ0IC8qIENvdW50ZXJOb2RlLmggKi8sCiAJCQkJMEY1M0ZCODEyMTNCMUJC
ODAwQzQwRDM0IC8qIENTU0ZpbHRlci5jcHAgKi8sCkBAIC0yOTc0Niw2ICsyOTc1NSw3IEBACiAJ
CQkJQTE0OTc4NkYxQUJBRjMzODAwQ0VGN0U0IC8qIENvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTVDRENEREM2MjNEODBBMUMwMEJBMzRBMSAvKiBDb250ZW50RmlsdGVyQ2xpZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQwOTBGRDFBQTUxRTQ4MDA5MTE5MUEgLyogQ29udGVu
dEZpbHRlclVuYmxvY2tIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDQTdFOUI0OTI0MzYx
REM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNUM5QzJEQjUyMjQxQTY3QjAwOTk2QjBCIC8qIENvbnRlbnRSdWxlTGlzdFJlc3VsdHMuaCBp
biBIZWFkZXJzICovLAogCQkJCTk3QzQ3MURDMTJGOTI1QkQwMDg2MzU0QiAvKiBDb250ZW50U2Vj
dXJpdHlQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFNUZBMjU1MjA5RTQ4QzUwMDUxRDcw
MCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovLApJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50
cnlDdXN0b20uY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5
ICszNSwxMSBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTUGVyZm9y
bWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRl
ICJKU1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJQ
ZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgi
CiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYgKzQ4
LDkgQEAKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01H
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFBlcmZvcm1hbmNlRW50cnk+JiYgZW50cnkp
CiB7CisgICAgaWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkKKyAgICAgICAg
cmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZ2xvYmFsT2JqZWN0
LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zz4oZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIApJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAkocmV2aXNp
b24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5O
YW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNiArMTc5LDcgQEAKICAgICBtYWNybyhQZXJm
b3JtYW5jZU1lYXN1cmUpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyKSBcCiAgICAg
bWFjcm8oUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCkgXAorICAgIG1hY3JvKFBlcmZvcm1h
bmNlUGFpbnRUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKSBc
CiAgICAgbWFjcm8oUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcpIFwKICAgICBtYWNybyhQb2ludGVy
RXZlbnQpIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gMjYwMDQ1KQor
KysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgs
NiArNDgsNyBAQAogI2luY2x1ZGUgIkNvbXBvc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJDb25z
dGFudFByb3BlcnR5TWFwLmgiCiAjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5LmgiCisj
aW5jbHVkZSAiQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIgogI2luY2x1ZGUgIkNvb2tpZUphci5o
IgogI2luY2x1ZGUgIkN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmgiCiAjaW5jbHVkZSAiQ3Vz
dG9tRWxlbWVudFJlZ2lzdHJ5LmgiCkBAIC0xNDgsNiArMTQ5LDcgQEAKICNpbmNsdWRlICJQYWdl
R3JvdXAuaCIKICNpbmNsdWRlICJQYWdlVHJhbnNpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiUGFp
bnRXb3JrbGV0R2xvYmFsU2NvcGUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgogI2luY2x1
ZGUgIlBsYXRmb3JtTG9jYWxlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TY3JlZW4uaCIKQEAgLTMxNDEsNiArMzE0MywzNCBA
QAogICAgIHJldHVybiB2aWV3KCkgJiYgdmlldygpLT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQ
ZW5kaW5nKCk7CiB9CiAKK2Jvb2wgRG9jdW1lbnQ6OnN1cHBvcnRzUGFpbnRUaW1pbmcoKSBjb25z
dAoreworICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnBhaW50VGltaW5nRW5hYmxlZCgpICYmIHNlY3VyaXR5T3JpZ2luKCkuY2FuQWNjZXNzKHRvcE9y
aWdpbigpKTsKK30KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BhaW50LXRpbWluZy8jcmVm
LWZvci1tYXJrLXBhaW50LXRpbWluZwordm9pZCBEb2N1bWVudDo6cmVwb3J0UGFpbnRUaW1pbmdJ
Zk5lZWRlZCgpCit7CisgICAgaWYgKG1fZGlkUmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmICghc3VwcG9ydHNQYWludFRpbWluZygpKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpZiAoIWRvbVdpbmRvdygpIHx8ICF2aWV3KCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIC8vIFRvIG1ha2Ugc3VyZSB3ZSBkb24ndCByZXBvcnQgcGFpbnQgd2hpbGUg
dGhlIGxheWVyIHRyZWUgaXMgc3RpbGwgZnJvemVuLgorICAgIGlmICghdmlldygpLT5pc1Zpc3Vh
bGx5Tm9uRW1wdHkoKSB8fCB2aWV3KCktPm5lZWRzTGF5b3V0KCkpCisgICAgICAgIHJldHVybjsK
KworICAgIGlmICghQ29udGVudGZ1bFBhaW50Q2hlY2tlcjo6cXVhbGlmaWVzRm9yQ29udGVudGZ1
bFBhaW50KCp2aWV3KCkpKQorICAgICAgICByZXR1cm47CisKKyAgICBkb21XaW5kb3coKS0+cGVy
Zm9ybWFuY2UoKS5yZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworICAgIG1fZGlkUmVwb3J0
Rmlyc3RDb250ZW50ZnVsUGFpbnQgPSB0cnVlOworfQorCiBFeGNlcHRpb25Pcjx2b2lkPiBEb2N1
bWVudDo6d3JpdGUoRG9jdW1lbnQqIHJlc3BvbnNpYmxlRG9jdW1lbnQsIFNlZ21lbnRlZFN0cmlu
ZyYmIHRleHQpCiB7CiAgICAgaWYgKG1fYWN0aXZlUGFyc2VyV2FzQWJvcnRlZCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTAzNSw2ICsxMDM1LDggQEAKIAogICAgIGJv
b2wgc2hvdWxkRGVmZXJBc3luY2hyb25vdXNTY3JpcHRzVW50aWxQYXJzaW5nRmluaXNoZXMoKSBj
b25zdDsKIAorICAgIGJvb2wgc3VwcG9ydHNQYWludFRpbWluZygpIGNvbnN0OworCiAjaWYgRU5B
QkxFKFhTTFQpCiAgICAgdm9pZCBzY2hlZHVsZVRvQXBwbHlYU0xUcmFuc2Zvcm1zKCk7CiAgICAg
dm9pZCBhcHBseVBlbmRpbmdYU0xUcmFuc2Zvcm1zTm93SWZTY2hlZHVsZWQoKTsKQEAgLTE1NzUs
NiArMTU3Nyw3IEBACiAKICAgICB2b2lkIHNldEhhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250
ZW50KCkgeyBtX2hhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50ID0gdHJ1ZTsgfQogICAg
IGJvb2wgaGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBt
X2hhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50OyB9CisgICAgdm9pZCByZXBvcnRQYWlu
dFRpbWluZ0lmTmVlZGVkKCk7CiAKIHByb3RlY3RlZDoKICAgICBlbnVtIENvbnN0cnVjdGlvbkZs
YWdzIHsgU3ludGhlc2l6ZWQgPSAxLCBOb25SZW5kZXJlZFBsYWNlaG9sZGVyID0gMSA8PCAxIH07
CkBAIC0yMDQxLDYgKzIwNDQsOSBAQAogCiAgICAgYm9vbCBtX2FyZURldmljZU1vdGlvbkFuZE9y
aWVudGF0aW9uVXBkYXRlc1N1c3BlbmRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3VzZXJEaWRJ
bnRlcmFjdFdpdGhQYWdlIHsgZmFsc2UgfTsKKworICAgIGJvb2wgbV9kaWRSZXBvcnRGaXJzdENv
bnRlbnRmdWxQYWludCB7IGZhbHNlIH07CisKICNpZiBBU1NFUlRfRU5BQkxFRAogICAgIGJvb2wg
bV9pbkhpdFRlc3RpbmcgeyBmYWxzZSB9OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJ
KHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEzNzYsNiArMTM3NiwxMCBAQAogICAgIC8vIGxheW91dCB0byBiZSB1cC10
by1kYXRlLiBJdCBzaG91bGQgbm90IHJ1biBzY3JpcHQsIHRyaWdnZXIgbGF5b3V0LCBvciBkaXJ0
eSBsYXlvdXQuCiAKICAgICBmb3JFYWNoRG9jdW1lbnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkg
eworICAgICAgICBkb2N1bWVudC5yZXBvcnRQYWludFRpbWluZ0lmTmVlZGVkKCk7CisgICAgfSk7
CisKKyAgICBmb3JFYWNoRG9jdW1lbnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkgewogICAgICAg
ICBkb2N1bWVudC51cGRhdGVIaWdobGlnaHRQb3NpdGlvbnMoKTsKICAgICB9KTsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0
Miw3IEBACiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgogI2luY2x1ZGUgIlBlcmZvcm1h
bmNlTmF2aWdhdGlvbi5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCIKKyNpbmNs
dWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVGltaW5nLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VVc2VyVGltaW5nLmgiCkBAIC0xMjQsNiArMTI1LDkgQEAKICAgICAgICAgZW50
cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNZWFzdXJlcygpKTsKICAgICB9CiAK
KyAgICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCkKKyAgICAgICAgZW50cmllcy5hcHBlbmQo
bV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBzdGQ6OnNvcnQoZW50cmllcy5iZWdpbigp
LCBlbnRyaWVzLmVuZCgpLCBQZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRpbWVDb21wYXJlTGVzc1Ro
YW4pOwogICAgIHJldHVybiBlbnRyaWVzOwogfQpAQCAtMTM1LDYgKzEzOSw5IEBACiAgICAgaWYg
KGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInJlc291cmNlIikpCiAg
ICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIpOwogCisg
ICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJz
dENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlm
IChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJrIikpCiAgICAg
ICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1hcmtzKCkpOwpA
QCAtMTU3LDYgKzE2NCw5IEBACiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAobV9maXJzdENv
bnRlbnRmdWxQYWludCAmJiAoZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInBhaW50IikpICYmIG5hbWUgPT0gImZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQiKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBh
aW50KTsKKwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVudHJ5VHlwZS5p
c051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJr
IikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1h
cmtzKG5hbWUpKTsKQEAgLTE4MCw2ICsxOTAsMTMgQEAKICAgICBtX3Jlc291cmNlVGltaW5nQnVm
ZmVyRnVsbEZsYWcgPSBmYWxzZTsKIH0KIAordm9pZCBQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RD
b250ZW50ZnVsUGFpbnQoKQoreworICAgIEFTU0VSVCghbV9maXJzdENvbnRlbnRmdWxQYWludCk7
CisgICAgbV9maXJzdENvbnRlbnRmdWxQYWludCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc6OmNy
ZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KG5vdygpKTsKKyAgICBxdWV1ZUVudHJ5KCptX2ZpcnN0
Q29udGVudGZ1bFBhaW50KTsKK30KKwogdm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1p
bmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRpbWluZykKIHsKICAgICBBU1NFUlQoc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgJKHJl
dmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAkod29y
a2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQAogY2xhc3MgUGVyZm9ybWFuY2VFbnRyeTsKIGNs
YXNzIFBlcmZvcm1hbmNlTmF2aWdhdGlvbjsKIGNsYXNzIFBlcmZvcm1hbmNlT2JzZXJ2ZXI7Citj
bGFzcyBQZXJmb3JtYW5jZVBhaW50VGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VUaW1pbmc7CiBj
bGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVzb3VyY2VUaW1pbmc7CkBAIC03Nyw2ICs3
OCw4IEBACiAKICAgICB2b2lkIGFkZFJlc291cmNlVGltaW5nKFJlc291cmNlVGltaW5nJiYpOwog
CisgICAgdm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOworCiAgICAgdm9pZCByZW1v
dmVBbGxPYnNlcnZlcnMoKTsKICAgICB2b2lkIHJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQ
ZXJmb3JtYW5jZU9ic2VydmVyJik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNl
cnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CkBAIC0xMjEsNiArMTI0LDcgQEAKIAogICAgIE1v
bm90b25pY1RpbWUgbV90aW1lT3JpZ2luOwogCisgICAgUmVmUHRyPFBlcmZvcm1hbmNlUGFpbnRU
aW1pbmc+IG1fZmlyc3RDb250ZW50ZnVsUGFpbnQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFVzZXJU
aW1pbmc+IG1fdXNlclRpbWluZzsKIAogICAgIEdlbmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0
aW9uQ29udGV4dD4gbV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02NCw2ICs2NCwxMSBAQAogICAgICAgICAgICAgcmV0dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6
OlJlc291cmNlKTsKICAgICB9CiAKKyAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQoKSkgeworICAgICAgICBpZiAoZW50cnlU
eXBlID09ICJwYWludCIpCisgICAgICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlwZTo6
UGFpbnQpOworICAgIH0KKwogICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAkod29ya2luZyBjb3B5KQpAQCAt
NDgsMTAgKzQ4LDExIEBACiAgICAgZG91YmxlIGR1cmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9k
dXJhdGlvbjsgfQogCiAgICAgZW51bSBjbGFzcyBUeXBlIHsKLSAgICAgICAgTmF2aWdhdGlvbiA9
IDEgPDwgMCwKLSAgICAgICAgTWFyayA9IDEgPDwgMSwKLSAgICAgICAgTWVhc3VyZSA9IDEgPDwg
MiwKLSAgICAgICAgUmVzb3VyY2UgPSAxIDw8IDMsCisgICAgICAgIE5hdmlnYXRpb24gID0gMSA8
PCAwLAorICAgICAgICBNYXJrICAgICAgICA9IDEgPDwgMSwKKyAgICAgICAgTWVhc3VyZSAgICAg
PSAxIDw8IDIsCisgICAgICAgIFJlc291cmNlICAgID0gMSA8PCAzLAorICAgICAgICBQYWludCAg
ICAgICA9IDEgPDwgNAogICAgIH07CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0ID0g
MDsKQEAgLTYyLDYgKzYzLDcgQEAKICAgICBib29sIGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVy
biB0eXBlKCkgPT0gVHlwZTo6UmVzb3VyY2U7IH0KICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsg
cmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYXJrOyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25z
dCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWVhc3VyZTsgfQorICAgIGJvb2wgaXNQYWludCgp
IGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpQYWludDsgfQogCiAgICAgc3RhdGljIGJv
b2wgc3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5
PiYgYSwgY29uc3QgUmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+JiBiKQogICAgIHsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkocmV2aXNpb24gMjYw
MDQ1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTEzLDE1ICsxMTMsMjEgQEAKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZEZpcmVPYnNlcnZlckNhbGxiYWNrKCpjb250ZXh0KTsKIH0KIAotVmVjdG9yPFN0
cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcygpCitWZWN0b3I8
U3RyaW5nPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIHsKKyAgICBWZWN0b3I8U3Ry
aW5nPiBlbnRyeVR5cGVzID0gewogICAgICAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9y
Zy9iLzE4NDM2Mz4gQWRkIHN1cHBvcnQgZm9yIE5hdmlnYXRpb24gVGltaW5nIExldmVsIDIKICAg
ICAgICAgLy8gIm5hdmlnYXRpb24iX3MsCiAgICAgICAgICJtYXJrIl9zLAotICAgICAgICAibWVh
c3VyZSJfcywKLSAgICAgICAgInJlc291cmNlIl9zCisgICAgICAgICJtZWFzdXJlIl9zCiAgICAg
fTsKKworICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4dCkgJiYgZG93bmNhc3Q8RG9jdW1lbnQ+
KGNvbnRleHQpLnN1cHBvcnRzUGFpbnRUaW1pbmcoKSkKKyAgICAgICAgZW50cnlUeXBlcy5hcHBl
bmQoInBhaW50Il9zKTsKKworICAgIGVudHJ5VHlwZXMuYXBwZW5kKCJyZXNvdXJjZSJfcyk7CisK
KyAgICByZXR1cm4gZW50cnlUeXBlczsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgJKHJldmlzaW9uIDI2
MDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBACiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoY29udGV4dCwgV1RGTW92ZShjYWxsYmFjaykpKTsKICAgICB9
CiAKLSAgICBzdGF0aWMgVmVjdG9yPFN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlcygpOworICAg
IHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmKTsKIAogICAgIHZvaWQgZGlzYXNzb2NpYXRlKCk7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAkocmV2aXNpb24gMjYwMDQ1KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMzYsNyArMzYsNyBAQAogXSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VPYnNlcnZlciB7
CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIG9ic2VydmUoUGVyZm9ybWFuY2VPYnNlcnZl
ckluaXQgb3B0aW9ucyk7CiAgICAgdm9pZCBkaXNjb25uZWN0KCk7Ci0gICAgc3RhdGljIHJlYWRv
bmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXM7
CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyByZWFkb25seSBh
dHRyaWJ1dGUgRnJvemVuQXJyYXk8RE9NU3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzOwogfTsK
IAogZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdCB7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAkobm9uZXhpc3RlbnQpCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRpYSBG
b3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VF
bnRyeS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgZmluYWwgOiBwdWJsaWMgUGVy
Zm9ybWFuY2VFbnRyeSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZVBhaW50
VGltaW5nPiBjcmVhdGVGaXJzdENvbnRlbnRmdWxQYWludChET01IaWdoUmVzVGltZVN0YW1wIHRp
bWVTdGFtcCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNl
UGFpbnRUaW1pbmcoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiX3MsIHRpbWVTdGFtcCkpOworICAg
IH0KKworcHJpdmF0ZToKKyAgICBQZXJmb3JtYW5jZVBhaW50VGltaW5nKGNvbnN0IFN0cmluZyYg
bmFtZSwgRE9NSGlnaFJlc1RpbWVTdGFtcCB0aW1lU3RhbXApCisgICAgICAgIDogUGVyZm9ybWFu
Y2VFbnRyeShuYW1lLCB0aW1lU3RhbXAsIHRpbWVTdGFtcCkKKyAgICB7CisgICAgfQorCisgICAg
QVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJwYWludCJfczsg
fQorICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFR5cGU6OlBhaW50OyB9CisK
KyAgICB+UGVyZm9ybWFuY2VQYWludFRpbWluZygpID0gZGVmYXVsdDsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpQ
ZXJmb3JtYW5jZVBhaW50VGltaW5nKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJD
b3JlOjpQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnkuaXNQYWludCgpOyB9
CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwJKG5vbmV4aXN0ZW50KQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRpYSBGb3Vu
ZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BhaW50LXRp
bWluZy8KKwordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKworWworICAgIEVu
YWJsZWRBdFJ1bnRpbWU9UGFpbnRUaW1pbmcsCisgICAgRXhwb3NlZD0oV2luZG93KSwKK10gaW50
ZXJmYWNlIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgOiBQZXJmb3JtYW5jZUVudHJ5IHsKK307Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkocmV2
aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDkgQEAKICAgICB2b2lkIHNldFVzZXJU
aW1pbmdFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNVc2VyVGltaW5nRW5hYmxlZCA9IGlz
RW5hYmxlZDsgfQogICAgIGJvb2wgdXNlclRpbWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBt
X2lzVXNlclRpbWluZ0VuYWJsZWQ7IH0KIAorICAgIHZvaWQgc2V0UGFpbnRUaW1pbmdFbmFibGVk
KGJvb2wgaXNFbmFibGVkKSB7IG1faXNQYWludFRpbWluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0K
KyAgICBib29sIHBhaW50VGltaW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNQYWludFRp
bWluZ0VuYWJsZWQ7IH0KKwogICAgIGJvb2wgcGVyZm9ybWFuY2VUaW1lbGluZUVuYWJsZWQoKSBj
b25zdCB7IHJldHVybiByZXNvdXJjZVRpbWluZ0VuYWJsZWQoKSB8fCB1c2VyVGltaW5nRW5hYmxl
ZCgpOyB9CiAKICAgICB2b2lkIHNldFNoYWRvd0RPTUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsg
bV9pc1NoYWRvd0RPTUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KQEAgLTQyNCw2ICs0MjcsNyBAQAog
ICAgIGJvb2wgbV9pc0xpbmtQcmVsb2FkRW5hYmxlZCB7IHRydWUgfTsKICAgICBib29sIG1faXNM
aW5rUHJlZmV0Y2hFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNNZWRpYVByZWxvYWRp
bmdFbmFibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNQYWludFRpbWluZ0VuYWJsZWQgeyBm
YWxzZSB9OwogICAgIGJvb2wgbV9pc1Jlc291cmNlVGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX2lzVXNlclRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0lu
dGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkIHsgZmFsc2UgfTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCShyZXZp
c2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0NvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMjczLDcgKzI3Myw4IEBACiAgICAgZW51bSBj
bGFzcyBQYWludEludmFsaWRhdGlvblJlYXNvbnMgOiB1aW50OF90IHsKICAgICAgICAgTm9uZSwK
ICAgICAgICAgSW52YWxpZGF0aW5nQ29udHJvbFRpbnRzLAotICAgICAgICBJbnZhbGlkYXRpbmdJ
bWFnZXNXaXRoQXN5bmNEZWNvZGVzCisgICAgICAgIEludmFsaWRhdGluZ0ltYWdlc1dpdGhBc3lu
Y0RlY29kZXMsCisgICAgICAgIERldGVjdGluZ0NvbnRlbnRmdWxQYWludAogICAgIH07CiAgICAg
R3JhcGhpY3NDb250ZXh0KFBhaW50SW52YWxpZGF0aW9uUmVhc29ucyk7CiAKQEAgLTI5Miw2ICsy
OTMsNyBAQAogICAgIGJvb2wgcGVyZm9ybWluZ1BhaW50SW52YWxpZGF0aW9uKCkgY29uc3QgeyBy
ZXR1cm4gbV9wYWludEludmFsaWRhdGlvblJlYXNvbnMgIT0gUGFpbnRJbnZhbGlkYXRpb25SZWFz
b25zOjpOb25lOyB9CiAgICAgYm9vbCBpbnZhbGlkYXRpbmdDb250cm9sVGludHMoKSBjb25zdCB7
IHJldHVybiBtX3BhaW50SW52YWxpZGF0aW9uUmVhc29ucyA9PSBQYWludEludmFsaWRhdGlvblJl
YXNvbnM6OkludmFsaWRhdGluZ0NvbnRyb2xUaW50czsgfQogICAgIGJvb2wgaW52YWxpZGF0aW5n
SW1hZ2VzV2l0aEFzeW5jRGVjb2RlcygpIGNvbnN0IHsgcmV0dXJuIG1fcGFpbnRJbnZhbGlkYXRp
b25SZWFzb25zID09IFBhaW50SW52YWxpZGF0aW9uUmVhc29uczo6SW52YWxpZGF0aW5nSW1hZ2Vz
V2l0aEFzeW5jRGVjb2RlczsgfQorICAgIGJvb2wgZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkg
Y29uc3QgeyByZXR1cm4gbV9wYWludEludmFsaWRhdGlvblJlYXNvbnMgPT0gUGFpbnRJbnZhbGlk
YXRpb25SZWFzb25zOjpEZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQ7IH0KIAogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc2V0U3Ryb2tlVGhpY2tuZXNzKGZsb2F0KTsKICAgICBmbG9hdCBzdHJva2VU
aGlja25lc3MoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlLnN0cm9rZVRoaWNrbmVzczsgfQpAQCAt
NTEzLDYgKzUxNSw5IEBACiAgICAgRmxvYXRTaXplIHNjYWxlRmFjdG9yKCkgY29uc3Q7CiAgICAg
RmxvYXRTaXplIHNjYWxlRmFjdG9yRm9yRHJhd2luZyhjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0
LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QpIGNvbnN0OwogCisgICAgdm9pZCBzZXRDb250ZW50
ZnVsUGFpbnREZXRlY3RlZCgpIHsgbV9jb250ZW5mdWxQYWludERldGVjdGVkID0gdHJ1ZTsgfQor
ICAgIGJvb2wgY29udGVuZnVsUGFpbnREZXRlY3RlZCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVu
ZnVsUGFpbnREZXRlY3RlZDsgfQorCiAjaWYgT1MoV0lORE9XUykKICAgICBIREMgZ2V0V2luZG93
c0NvbnRleHQoY29uc3QgSW50UmVjdCYsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQpOyAvLyBUaGUg
cGFzc2VkIGluIHJlY3QgaXMgdXNlZCB0byBjcmVhdGUgYSBiaXRtYXAgZm9yIGNvbXBvc2l0aW5n
IGluc2lkZSB0cmFuc3BhcmVuY3kgbGF5ZXJzLgogICAgIHZvaWQgcmVsZWFzZVdpbmRvd3NDb250
ZXh0KEhEQywgY29uc3QgSW50UmVjdCYsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQpOyAvLyBUaGUg
cGFzc2VkIGluIEhEQyBzaG91bGQgYmUgdGhlIG9uZSBoYW5kZWQgYmFjayBieSBnZXRXaW5kb3dz
Q29udGV4dC4KQEAgLTY2MSw2ICs2NjYsNyBAQAogCiAgICAgY29uc3QgUGFpbnRJbnZhbGlkYXRp
b25SZWFzb25zIG1fcGFpbnRJbnZhbGlkYXRpb25SZWFzb25zIHsgUGFpbnRJbnZhbGlkYXRpb25S
ZWFzb25zOjpOb25lIH07CiAgICAgdW5zaWduZWQgbV90cmFuc3BhcmVuY3lDb3VudCB7IDAgfTsK
KyAgICBib29sIG1fY29udGVuZnVsUGFpbnREZXRlY3RlZCB7IGZhbHNlIH07CiB9OwogCiBjbGFz
cyBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHAJKG5vbmV4aXN0ZW50KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAg
V2lraU1lZGlhIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICog
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkNvbnRlbnRmdWxQYWludENoZWNrZXIuaCIKKworI2luY2x1ZGUgIkZyYW1l
Vmlldy5oIgorI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2Jvb2wgQ29udGVudGZ1bFBhaW50Q2hlY2tlcjo6cXVhbGlmaWVzRm9yQ29udGVudGZ1
bFBhaW50KEZyYW1lVmlldyYgZnJhbWVWaWV3KQoreworICAgIEFTU0VSVCghZnJhbWVWaWV3Lm5l
ZWRzTGF5b3V0KCkpOworICAgIEFTU0VSVChmcmFtZVZpZXcucmVuZGVyVmlldygpKTsKKworICAg
IGF1dG8gb2xkUGFpbnRCZWhhdmlvciA9IGZyYW1lVmlldy5wYWludEJlaGF2aW9yKCk7CisgICAg
YXV0byBvbGRFbnRpcmVDb250ZW50cyA9IGZyYW1lVmlldy5wYWludHNFbnRpcmVDb250ZW50cygp
OworCisgICAgZnJhbWVWaWV3LnNldFBhaW50QmVoYXZpb3IoUGFpbnRCZWhhdmlvcjo6RmxhdHRl
bkNvbXBvc2l0aW5nTGF5ZXJzKTsKKyAgICBmcmFtZVZpZXcuc2V0UGFpbnRzRW50aXJlQ29udGVu
dHModHJ1ZSk7CisKKyAgICBHcmFwaGljc0NvbnRleHQgY2hlY2tlckNvbnRleHQoR3JhcGhpY3ND
b250ZXh0OjpQYWludEludmFsaWRhdGlvblJlYXNvbnM6OkRldGVjdGluZ0NvbnRlbnRmdWxQYWlu
dCk7CisgICAgZnJhbWVWaWV3LnBhaW50KGNoZWNrZXJDb250ZXh0LCBmcmFtZVZpZXcucmVuZGVy
VmlldygpLT5kb2N1bWVudFJlY3QoKSk7CisKKyAgICBmcmFtZVZpZXcuc2V0UGFpbnRzRW50aXJl
Q29udGVudHMob2xkRW50aXJlQ29udGVudHMpOworICAgIGZyYW1lVmlldy5zZXRQYWludEJlaGF2
aW9yKG9sZFBhaW50QmVoYXZpb3IpOworCisgICAgcmV0dXJuIGNoZWNrZXJDb250ZXh0LmNvbnRl
bmZ1bFBhaW50RGV0ZWN0ZWQoKTsKK30KKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBXaWtpTWVk
aWEgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBGcmFtZVZpZXc7CisKK2NsYXNzIENvbnRlbnRmdWxQYWludENo
ZWNrZXIgeworcHVibGljOgorICAgIHN0YXRpYyBib29sIHF1YWxpZmllc0ZvckNvbnRlbnRmdWxQ
YWludChGcmFtZVZpZXcmKTsKK307CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNzE2LDcgKzcxNiw4IEBACiAgICAgQmFja2dyb3VuZEJsZWVkQXZvaWRhbmNl
IGJsZWVkQXZvaWRhbmNlLCBJbmxpbmVGbG93Qm94KiBib3gsIGNvbnN0IExheW91dFNpemUmIGJv
eFNpemUsIENvbXBvc2l0ZU9wZXJhdG9yIG9wLCBSZW5kZXJFbGVtZW50KiBiYWNrZ3JvdW5kT2Jq
ZWN0LCBCYXNlQmFja2dyb3VuZENvbG9yVXNhZ2UgYmFzZUJnQ29sb3JVc2FnZSkKIHsKICAgICBH
cmFwaGljc0NvbnRleHQmIGNvbnRleHQgPSBwYWludEluZm8uY29udGV4dCgpOwotICAgIGlmIChj
b250ZXh0LnBhaW50aW5nRGlzYWJsZWQoKSB8fCByZWN0LmlzRW1wdHkoKSkKKworICAgIGlmICgo
Y29udGV4dC5wYWludGluZ0Rpc2FibGVkKCkgJiYgIWNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1
bFBhaW50KCkpIHx8IHJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKICAgICBib29s
IGluY2x1ZGVMZWZ0RWRnZSA9IGJveCA/IGJveC0+aW5jbHVkZUxvZ2ljYWxMZWZ0RWRnZSgpIDog
dHJ1ZTsKQEAgLTczMSw2ICs3MzIsMTQgQEAKICAgICBTdHlsZUltYWdlKiBiZ0ltYWdlID0gYmdM
YXllci5pbWFnZSgpOwogICAgIGJvb2wgc2hvdWxkUGFpbnRCYWNrZ3JvdW5kSW1hZ2UgPSBiZ0lt
YWdlICYmIGJnSW1hZ2UtPmNhblJlbmRlcih0aGlzLCBzdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSk7
CiAgICAgCisgICAgaWYgKGNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpIHsKKyAg
ICAgICAgaWYgKCFjb250ZXh0LmNvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQoKSAmJiBzaG91bGRQYWlu
dEJhY2tncm91bmRJbWFnZSAmJiBiZ0ltYWdlLT5jYWNoZWRJbWFnZSgpKSB7CisgICAgICAgICAg
ICBpZiAoc3R5bGUoKS5iYWNrZ3JvdW5kU2l6ZVR5cGUoKSAhPSBGaWxsU2l6ZVR5cGU6OlNpemUg
fHwgIXN0eWxlKCkuYmFja2dyb3VuZFNpemVMZW5ndGgoKS5pc0VtcHR5KCkpCisgICAgICAgICAg
ICAgICAgY29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisgICAgfQorCiAgICAgaWYgKGNvbnRleHQuaW52YWxpZGF0aW5n
SW1hZ2VzV2l0aEFzeW5jRGVjb2RlcygpKSB7CiAgICAgICAgIGlmIChzaG91bGRQYWludEJhY2tn
cm91bmRJbWFnZSAmJiBiZ0ltYWdlLT5jYWNoZWRJbWFnZSgpLT5pc0NsaWVudFdhaXRpbmdGb3JB
c3luY0RlY29kaW5nKCp0aGlzKSkKICAgICAgICAgICAgIGJnSW1hZ2UtPmNhY2hlZEltYWdlKCkt
PnJlbW92ZUFsbENsaWVudHNXYWl0aW5nRm9yQXN5bmNEZWNvZGluZygpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmNwcAkocmV2aXNpb24gMjYw
MDQ1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03MSw2ICs3MSwxMyBAQAogICAgIEdyYXBoaWNzQ29udGV4dCYgY29u
dGV4dCA9IHBhaW50SW5mby5jb250ZXh0KCk7CiAKICAgICBMYXlvdXRSZWN0IGNvbnRlbnRCb3hS
ZWN0ID0gdGhpcy0+Y29udGVudEJveFJlY3QoKTsKKworICAgIGlmIChjb250ZXh0LmRldGVjdGlu
Z0NvbnRlbnRmdWxQYWludCgpKSB7CisgICAgICAgIGlmICghY29udGV4dC5jb250ZW5mdWxQYWlu
dERldGVjdGVkKCkgJiYgY2FudmFzRWxlbWVudCgpLnJlbmRlcmluZ0NvbnRleHQoKSkKKyAgICAg
ICAgICAgIGNvbnRleHQuc2V0Q29udGVudGZ1bFBhaW50RGV0ZWN0ZWQoKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKwogICAgIGNvbnRlbnRCb3hSZWN0Lm1vdmVCeShwYWludE9mZnNldCk7CiAg
ICAgTGF5b3V0UmVjdCByZXBsYWNlZENvbnRlbnRSZWN0ID0gdGhpcy0+cmVwbGFjZWRDb250ZW50
UmVjdCgpOwogICAgIHJlcGxhY2VkQ29udGVudFJlY3QubW92ZUJ5KHBhaW50T2Zmc2V0KTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkocmV2aXNpb24gMjYw
MDQ1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDkyLDYgKzQ5MiwxMyBAQAogICAgIGZsb2F0IGRldmljZVNjYWxlRmFjdG9y
ID0gZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpOwogICAgIExheW91dFVuaXQgbWlzc2lu
Z0ltYWdlQm9yZGVyV2lkdGgoMSAvIGRldmljZVNjYWxlRmFjdG9yKTsKIAorICAgIGlmIChjb250
ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpKSB7CisgICAgICAgIGlmICghY29udGV4dC5j
b250ZW5mdWxQYWludERldGVjdGVkKCkgJiYgIWlzRGVmZXJyZWRJbWFnZShlbGVtZW50KCkpICYm
IGNhY2hlZEltYWdlKCkgJiYgY2FjaGVkSW1hZ2UoKS0+Y2FuUmVuZGVyKHRoaXMsIGRldmljZVNj
YWxlRmFjdG9yKSAmJiAhY29udGVudFNpemUuaXNFbXB0eSgpKQorICAgICAgICAgICAgY29udGV4
dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworCisgICAgICAgIHJldHVybjsKKyAgICB9
CisKICAgICBpZiAoIWltYWdlUmVzb3VyY2UoKS5jYWNoZWRJbWFnZSgpIHx8IGlzRGVmZXJyZWRJ
bWFnZShlbGVtZW50KCkpIHx8IHNob3VsZERpc3BsYXlCcm9rZW5JbWFnZUljb24oKSkgewogICAg
ICAgICBpZiAocGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2U6OlNlbGVjdGlvbikKICAgICAg
ICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDU4OCw2ICs0NTg4LDkgQEAKIHsKICAgICBB
U1NFUlQoaXNTZWxmUGFpbnRpbmdMYXllcigpIHx8IGhhc1NlbGZQYWludGluZ0xheWVyRGVzY2Vu
ZGFudCgpKTsKIAorICAgIGlmIChjb250ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpICYm
IGNvbnRleHQuY29udGVuZnVsUGFpbnREZXRlY3RlZCgpKQorICAgICAgICByZXR1cm47CisKICAg
ICBhdXRvIGxvY2FsUGFpbnRGbGFncyA9IHBhaW50RmxhZ3MgLSBQYWludExheWVyQXBwbGllZFRy
YW5zZm9ybTsKICAgICBib29sIGhhdmVUcmFuc3BhcmVuY3kgPSBsb2NhbFBhaW50RmxhZ3MuY29u
dGFpbnMoUGFpbnRMYXllckhhdmVUcmFuc3BhcmVuY3kpOwogICAgIGJvb2wgaXNTZWxmUGFpbnRp
bmdMYXllciA9IHRoaXMtPmlzU2VsZlBhaW50aW5nTGF5ZXIoKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA0
LDYgKzIwNCwxMiBAQAogICAgIExheW91dFJlY3QgY29udGVudFJlY3QgPSBjb250ZW50Qm94UmVj
dCgpOwogICAgIGNvbnRlbnRSZWN0Lm1vdmVCeShwYWludE9mZnNldCk7CiAgICAgR3JhcGhpY3ND
b250ZXh0JiBjb250ZXh0ID0gcGFpbnRJbmZvLmNvbnRleHQoKTsKKworICAgIGlmIChjb250ZXh0
LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpKSB7CisgICAgICAgIGNvbnRleHQuc2V0Q29udGVu
dGZ1bFBhaW50RGV0ZWN0ZWQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGJvb2wg
Y2xpcCA9ICFjb250ZW50UmVjdC5jb250YWlucyhyZWN0KTsKICAgICBHcmFwaGljc0NvbnRleHRT
dGF0ZVNhdmVyIHN0YXRlU2F2ZXIoY29udGV4dCwgY2xpcCk7CiAgICAgaWYgKGNsaXApCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50ZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRlci5jcHAJKHJldmlzaW9uIDI2MDA0
NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJEaXNwbGF5UnVuLmgiCiAjaW5jbHVk
ZSAiRmlsdGVyT3BlcmF0aW9ucy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgorI2lu
Y2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJJbmxpbmVUZXh0Qm94LmgiCiAj
aW5jbHVkZSAiUmVuZGVyQ29tYmluZVRleHQuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgpA
QCAtMTA1LDYgKzEwNiwxMyBAQAogICAgIGZsb2F0IGVtcGhhc2lzTWFya09mZnNldCwgY29uc3Qg
RmxvYXRQb2ludCYgdGV4dE9yaWdpbiwgdW5zaWduZWQgc3RhcnRPZmZzZXQsIHVuc2lnbmVkIGVu
ZE9mZnNldCkKIHsKICAgICBBU1NFUlQoc3RhcnRPZmZzZXQgPCBlbmRPZmZzZXQpOworCisgICAg
aWYgKG1fY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgeworICAgICAgICBpZiAo
IXRleHRSdW4udGV4dCgpLnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKS5pc0FsbFNwZWNpYWxDaGFy
YWN0ZXJzPGlzSFRNTFNwYWNlPigpKQorICAgICAgICAgICAgbV9jb250ZXh0LnNldENvbnRlbnRm
dWxQYWludERldGVjdGVkKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAoIWVt
cGhhc2lzTWFyay5pc0VtcHR5KCkpCiAgICAgICAgIG1fY29udGV4dC5kcmF3RW1waGFzaXNNYXJr
cyhmb250LCB0ZXh0UnVuLCBlbXBoYXNpc01hcmssIHRleHRPcmlnaW4gKyBGbG9hdFNpemUoMCwg
ZW1waGFzaXNNYXJrT2Zmc2V0KSwgc3RhcnRPZmZzZXQsIGVuZE9mZnNldCk7CiAgICAgZWxzZSBp
ZiAoc3RhcnRPZmZzZXQgfHwgZW5kT2Zmc2V0IDwgdGV4dFJ1bi5sZW5ndGgoKSB8fCAhbV9nbHlw
aERpc3BsYXlMaXN0KQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSb290LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR1Jvb3QuY3BwCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3
IEBACiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgogI2luY2x1ZGUgIkxheW91dFJlcGFpbnRl
ci5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJSZW5kZXJDaGlsZEl0ZXJhdG9yLmgi
CiAjaW5jbHVkZSAiUmVuZGVySXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgog
I2luY2x1ZGUgIlJlbmRlckxheW91dFN0YXRlLmgiCkBAIC0yMTEsNyArMjEyLDcgQEAKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgLy8gRG9uJ3QgcGFpbnQsIGlmIHRoZSBjb250ZXh0IGV4cGxpY2l0
bHkgZGlzYWJsZWQgaXQuCi0gICAgaWYgKHBhaW50SW5mby5jb250ZXh0KCkucGFpbnRpbmdEaXNh
YmxlZCgpKQorICAgIGlmIChwYWludEluZm8uY29udGV4dCgpLnBhaW50aW5nRGlzYWJsZWQoKSAm
JiAhcGFpbnRJbmZvLmNvbnRleHQoKS5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgLy8gU1ZHIG91dGxpbmVzIGFyZSBwYWludGVkIGR1cmluZyBQYWlu
dFBoYXNlOjpGb3JlZ3JvdW5kLgpAQCAtMjIzLDYgKzIyNCwxNyBAQAogICAgIGlmIChzdmdTVkdF
bGVtZW50KCkuaGFzRW1wdHlWaWV3Qm94KCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIEdyYXBo
aWNzQ29udGV4dCYgY29udGV4dCA9IHBhaW50SW5mby5jb250ZXh0KCk7CisgICAgaWYgKGNvbnRl
eHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAgZm9yIChhdXRvJiBjdXJy
ZW50IDogY2hpbGRyZW5PZlR5cGU8UmVuZGVyT2JqZWN0PigqdGhpcykpIHsKKyAgICAgICAgICAg
IGlmICghY3VycmVudC5pc1NWR0hpZGRlbkNvbnRhaW5lcigpKSB7CisgICAgICAgICAgICAgICAg
Y29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXR1cm47CisgICAgfQor
CiAgICAgLy8gRG9uJ3QgcGFpbnQgaWYgd2UgZG9uJ3QgaGF2ZSBraWRzLCBleGNlcHQgaWYgd2Ug
aGF2ZSBmaWx0ZXJzIHdlIHNob3VsZCBwYWludCB0aG9zZS4KICAgICBpZiAoIWZpcnN0Q2hpbGQo
KSkgewogICAgICAgICBhdXRvKiByZXNvdXJjZXMgPSBTVkdSZXNvdXJjZXNDYWNoZTo6Y2FjaGVk
UmVzb3VyY2VzRm9yUmVuZGVyZXIoKnRoaXMpOwpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDA0
NSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MjAgQEAKKzIwMjAtMDQtMTMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisg
ICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBydW50aW1lIGZsYWcg
Zm9yIHBhaW50LXRpbWluZyAocGFpbnRUaW1pbmdFbmFibGVkKS4KKworICAgICAgICAqIFNoYXJl
ZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQp
OgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGF0ZVByZWZl
cmVuY2VzU3RvcmUpOgorCiAyMDIwLTA0LTEzICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBVcGRhdGUgbWVzc2FnZSBmaWx0ZXJzIGluIHRoZSBX
ZWJDb250ZW50IHNhbmRib3gKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzLnlhbWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXMueWFtbAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXMueWFtbAkod29ya2luZyBjb3B5KQpAQCAtODM5LDYgKzgzOSwxMyBAQAogICBodW1h
blJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgVXNlclRpbWluZyBBUEkiCiAgIHdlYmNvcmVC
aW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKK1BhaW50VGltaW5nRW5hYmxlZDoKKyAg
dHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisgIGh1bWFuUmVhZGFibGVOYW1lOiAi
UGFpbnQgVGltaW5nIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgUGFpbnQg
VGltaW5nIEFQSSIKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKwog
QmVhY29uQVBJRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
CShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgyMCw2ICsxODIwLDE2IEBACiAgICAg
cmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnVzZXJUaW1pbmdFbmFibGVkKCk7CiB9CiAK
K3ZvaWQgV0tQcmVmZXJlbmNlc1NldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVm
IHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCit7CisgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVm
KS0+c2V0UGFpbnRUaW1pbmdFbmFibGVkKGZsYWcpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNH
ZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sK
KyAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+cGFpbnRUaW1pbmdFbmFibGVkKCk7
Cit9CisKIHZvaWQgV0tQcmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZl
cmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCiB7CiAgICAgdG9JbXBsKHByZWZl
cmVuY2VzUmVmKS0+c2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKGZsYWcpOwpJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJp
dmF0ZS5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MDAsNiArNTAw
LDEwIEBACiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0VXNlclRpbWluZ0VuYWJsZWQo
V0tQcmVmZXJlbmNlc1JlZik7CiAKIC8vIERlZmF1bHRzIHRvIGZhbHNlCitXS19FWFBPUlQgdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJv
b2wgZmxhZyk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0UGFpbnRUaW1pbmdFbmFi
bGVkKFdLUHJlZmVyZW5jZXNSZWYpOworCisvLyBEZWZhdWx0cyB0byBmYWxzZQogV0tfRVhQT1JU
IHZvaWQgV0tQcmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2Vz
UmVmLCBib29sIGZsYWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFJlc291cmNl
VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIApJbmRleDogU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1h
bmFnZXJDb25uZWN0aW9uLmNwcAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMjIsNiArMTIyLDcgQEAKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLnNldENhY2hlQVBJRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNhY2hlQVBJRW5hYmxlZEtleSgpKSk7CiAgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUVuYWJsZWQo
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpmZXRjaEFQSUVuYWJs
ZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0VXNlclRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5Ojp1c2VyVGltaW5nRW5hYmxlZEtleSgpKSk7CisgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9v
bFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYWludFRpbWluZ0VuYWJsZWRLZXkoKSkp
OwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVzb3Vy
Y2VUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6cmVzb3VyY2VUaW1pbmdFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChzdG9yZS5n
ZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZldGNoQVBJS2VlcEFsaXZlRW5h
YmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zZXRSZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktl
eShXZWJQcmVmZXJlbmNlc0tleTo6cmVzdHJpY3RlZEhUVFBSZXNwb25zZUFjY2Vzc0tleSgpKSk7
CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjAwNDUpCisrKyBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwyMCBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHByZWZlcmVuY2Ug
a2V5IGZvciBwYWludCB0aW1pbmcuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAg
ICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJlZmVy
ZW5jZXMgcGFpbnRUaW1pbmdFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNl
dFBhaW50VGltaW5nRW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKwogMjAyMC0wNC0xMyAg
VGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNT
SU9OIChyMjU5ODQzKTogIk1pc3NpbmcgUGx1Zy1JbiIgd2hlbiBkcmFnZ2luZyBhbiBpbWFnZSBp
bnRvIE1haWwgQ29tcG9zZQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZpc2lvbiAyNjAw
NDUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlz
UHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNjAsNiArMjYwLDcgQEAKICNkZWZpbmUgV2Vi
S2l0QXR0YWNobWVudEVsZW1lbnRFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEF0dGFjaG1l
bnRFbGVtZW50RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFi
bGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZCIKICNk
ZWZpbmUgV2ViS2l0TWVudUl0ZW1FbGVtZW50RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRN
ZW51SXRlbUVsZW1lbnRFbmFibGVkIgorI2RlZmluZSBXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkIgogI2RlZmluZSBXZWJLaXRV
c2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRVc2VyVGltaW5nRW5hYmxlZCIK
ICNkZWZpbmUgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktp
dFJlc291cmNlVGltaW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TWVkaWFDb250ZW50VHlwZXNS
ZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFDb250ZW50
VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQiCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHJldmlzaW9uIDI2MDA0NSkK
KysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHdv
cmtpbmcgY29weSkKQEAgLTY4Miw2ICs2ODIsNyBAQAogI2lmIEVOQUJMRShJTlRFUlNFQ1RJT05f
T0JTRVJWRVIpCiAgICAgICAgIEBOTywgV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVk
UHJlZmVyZW5jZUtleSwKICNlbmRpZgorICAgICAgICBATk8sIFdlYktpdFBhaW50VGltaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQ
cmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFBy
ZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0TWVkaWFVc2VyR2VzdHVyZUluaGVyaXRz
RnJvbURvY3VtZW50LApAQCAtMzMwNiw2ICszMzA3LDE2IEBACiAgICAgW3NlbGYgX3NldEJvb2xW
YWx1ZTpmbGFnIGZvcktleTpXZWJLaXRVc2VyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOwog
fQogCistIChCT09MKXBhaW50VGltaW5nRW5hYmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9v
bFZhbHVlRm9yS2V5OldlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQor
CistICh2b2lkKXNldFBhaW50VGltaW5nRW5hYmxlZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYg
X3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJl
bmNlS2V5XTsKK30KKwogLSAoQk9PTClyZXNvdXJjZVRpbWluZ0VuYWJsZWQKIHsKICAgICByZXR1
cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVm
ZXJlbmNlS2V5XTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkocmV2aXNpb24gMjYwMDQ1KQorKysgU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkod29y
a2luZyBjb3B5KQpAQCAtNjYxLDYgKzY2MSw3IEBACiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9P
TCBrZXlnZW5FbGVtZW50RW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHVzZXJU
aW1pbmdFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcmVzb3VyY2VUaW1pbmdF
bmFibGVkOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcGFpbnRUaW1pbmdFbmFibGVkOwog
QHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbGlua1ByZWxvYWRFbmFibGVkOwogQHByb3BlcnR5
IChub25hdG9taWMpIEJPT0wgbWVkaWFVc2VyR2VzdHVyZUluaGVyaXRzRnJvbURvY3VtZW50Owog
QHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgaXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxl
ZDsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJl
dmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzIwMSw2ICszMjAxLDcgQEAKIAogICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQocHJl
ZmVyZW5jZXMudXNlclRpbWluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnJl
c291cmNlVGltaW5nRW5hYmxlZCk7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMucGFpbnRUaW1pbmdF
bmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dExpbmtQcmVsb2FkRW5hYmxlZChwcmVmZXJlbmNlcy5saW5rUHJlbG9hZEVuYWJsZWQpOwogICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TWVkaWFQcmVsb2Fk
aW5nRW5hYmxlZChwcmVmZXJlbmNlcy5tZWRpYVByZWxvYWRpbmdFbmFibGVkKTsKICAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldElzU2VjdXJlQ29udGV4dEF0
dHJpYnV0ZUVuYWJsZWQocHJlZmVyZW5jZXMuaXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxl
ZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjAwNDUpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBwcmVmZXJlbmNl
IGtleSBmb3IgcGFpbnQtdGltaW5nLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoK
KyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNw
cDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZl
cmVuY2VzQ2hhbmdlZCk6CisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5p
ZGw6CisgICAgICAgICogSW50ZXJmYWNlcy9XZWJLaXQuaWRsOgorICAgICAgICAgICAgICAgIFRv
dWNoZWQgdG8gdHJpZ2dlciBidWlsZC4KKwogMjAyMC0wNC0wOCAgRGFuaWVsIEJhdGVzICA8ZGFi
YXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgU2hvdWxkIGZpbmQgdG91Y2gtYWN0aW9uIGVsZW1l
bnRzIGluc2lkZSBub24tY29tcG9zaXRlZCBpZnJhbWVzCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJp
dmF0ZS5pZGwJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0lu
dGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2
NSw0ICsyNjUsNiBAQAogewogICAgIEhSRVNVTFQgYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJM
cyhbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgc2V0QWxsb3dUb3BO
YXZpZ2F0aW9uVG9EYXRhVVJMcyhbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBwYWlu
dFRpbWluZ0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MKik7CisgICAgSFJFU1VMVCBzZXRQYWlu
dFRpbWluZ0VuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwogfQpJbmRleDogU291cmNlL1dlYktp
dExlZ2FjeS93aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvV2ViS2l0LmlkbAkocmV2aXNpb24gMjYwMDQ1KQor
KysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogY3BwX3F1b3RlKCIvKiIpCi1jcHBfcXVv
dGUoIiAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxNSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIikKK2NwcF9xdW90ZSgiICogQ29weXJpZ2h0
IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDE1LCAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4iKQogY3BwX3F1b3RlKCIgKiIpCiBjcHBfcXVvdGUoIiAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCIpCiBjcHBfcXVvdGUoIiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyIpCkluZGV4OiBTb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24g
MjYwMDQ1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE5Nyw2ICsxOTcsOCBAQAogCiAjZGVmaW5lIFdlYktp
dFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0VXNlclRpbWluZ0VuYWJsZWQi
CiAKKyNkZWZpbmUgV2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0
UGFpbnRUaW1pbmdFbmFibGVkIgorCiAjZGVmaW5lIFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxl
ZFByZWZlcmVuY2VLZXkgIldlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZCIKIAogI2RlZmluZSBX
ZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRMaW5rUHJlbG9hZEVu
YWJsZWQiCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3Bw
CShyZXZpc2lvbiAyNjAwNDUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJl
bmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyNiw2ICszMjYsOCBAQAogCiAgICAgQ0ZEaWN0
aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxl
ZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCisgICAgQ0ZEaWN0aW9uYXJ5QWRk
VmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOworCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVs
dHMsIENGU1RSKFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29s
ZWFuRmFsc2UpOwogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdl
YktpdE1lZGlhUHJlbG9hZGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNl
KTsKQEAgLTI0MTQsNiArMjQxNiwyMCBAQAogICAgIHJldHVybiBTX09LOwogfQogCitIUkVTVUxU
IFdlYlByZWZlcmVuY2VzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQoQk9PTCBlbmFibGVkKQorewor
ICAgIHNldEJvb2xWYWx1ZShXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LCBl
bmFibGVkKTsKKyAgICByZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6
cGFpbnRUaW1pbmdFbmFibGVkKF9PdXRfIEJPT0wqIGVuYWJsZWQpCit7CisgICAgaWYgKCFlbmFi
bGVkKQorICAgICAgICByZXR1cm4gRV9QT0lOVEVSOworICAgICplbmFibGVkID0gYm9vbFZhbHVl
Rm9yS2V5KFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpOworICAgIHJldHVy
biBTX09LOworfQorCiBIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXJ2ZXJUaW1pbmdFbmFibGVk
KF9PdXRfIEJPT0wqIGVuYWJsZWQpCiB7CiAgICAgaWYgKCFlbmFibGVkKQpJbmRleDogU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCShyZXZpc2lvbiAyNjAwNDUpCisrKyBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zMDcsNiArMzA3LDggQEAKICAgICAvLyBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOAogICAgIHZp
cnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFV
UkxzKF9PdXRfIEJPT0wqKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
c2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhCT09MKTsKKyAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgcGFpbnRUaW1pbmdFbmFibGVkKF9PdXRfIEJPT0wqKTsKKyAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0UGFpbnRUaW1pbmdFbmFibGVk
KEJPT0wpOwogCiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIApJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViVmlldy5jcHAJKHJldmlzaW9uIDI2MDA0NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Mjg1LDYgKzUyODUsMTEgQEAKICAg
ICAgICAgcmV0dXJuIGhyOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQoISFlbmFibGVkKTsKIAorICAgIGhyID0gcHJlZnNQ
cml2YXRlLT5wYWludFRpbWluZ0VuYWJsZWQoJmVuYWJsZWQpOworICAgIGlmIChGQUlMRUQoaHIp
KQorICAgICAgICByZXR1cm4gaHI7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJsZWQoISFlbmFibGVkKTsKKwogICAgIGhyID0g
cHJlZnNQcml2YXRlLT5yZXNvdXJjZVRpbWluZ0VuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChG
QUlMRUQoaHIpKQogICAgICAgICByZXR1cm4gaHI7CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjAwNDUpCisrKyBUb29scy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wNC0xMyAgTm9h
bSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAo
Zmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBwcmVmZXJlbmNlIGtleSBmb3IgcGFpbnQtdGltaW5nLgorCisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAo
cmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVy
ZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVm
ZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisKIDIwMjAtMDQtMTMgIEthdGUgQ2hlbmV5ICA8
a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cC90ZXN0cy9pbi1hcHAt
YnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1kb21haW4uaHRtbCBpcyBhIGNvbnN0YW50IGZhaWx1
cmUgb24gaU9TCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
Lm1tCShyZXZpc2lvbiAyNjAwNDUpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJl
bmRlclRyZWUubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwMDQsNiArMTAwNCw3IEBACiAgICAgW3By
ZWZlcmVuY2VzIHNldE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkOllFU107CiAgICAgW3ByZWZl
cmVuY2VzIHNldFJlc291cmNlVGltaW5nRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBz
ZXRVc2VyVGltaW5nRW5hYmxlZDpZRVNdOworICAgIFtwcmVmZXJlbmNlcyBzZXRQYWludFRpbWlu
Z0VuYWJsZWQ6WUVTXTsKIAogICAgIFtwcmVmZXJlbmNlcyBzZXRDYWNoZUFQSUVuYWJsZWQ6Tk9d
OwogICAgIHByZWZlcmVuY2VzLm1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxlZCA9IFlFUzsKSW5kZXg6
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAkocmV2aXNpb24g
MjYwMDQ1KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtOTIxLDYgKzkyMSw3IEBACiAgICAgcHJlZnNQcml2YXRlLT5zZXRB
bGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKG9wdGlvbnMuYWxsb3dUb3BOYXZpZ2F0aW9uVG9E
YXRhVVJMcyk7CiAgICAgcHJlZmVyZW5jZXMtPnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQob3B0
aW9ucy51c2VFcGhlbWVyYWxTZXNzaW9uKTsKICAgICBwcmVmZXJlbmNlcy0+c2V0VXNlc1BhZ2VD
YWNoZShvcHRpb25zLmVuYWJsZUJhY2tGb3J3YXJkQ2FjaGUpOworICAgIHByZWZzUHJpdmF0ZS0+
c2V0UGFpbnRUaW1pbmdFbmFibGVkKFRSVUUpOwogfQogCiBzdGF0aWMgU3RyaW5nIGFwcGxpY2F0
aW9uSWQoKQpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJ
KHJldmlzaW9uIDI2MDA0NSkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MzEsNiArOTMxLDcgQEAKICAgICBXS1ByZWZlcmVu
Y2VzU2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBX
S1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsK
ICAgICBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUp
OworICAgIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRy
dWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVByZWxvYWRpbmdFbmFibGVkKHByZWZlcmVu
Y2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQbGF5YmFja0FsbG93c0lubGlu
ZShwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldElubGluZU1lZGlhUGxh
eWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKHByZWZlcmVuY2VzLCBmYWxzZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397330</attachid>
            <date>2020-04-23 01:48:03 -0700</date>
            <delta_ts>2020-04-27 12:26:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200423114801.patch</filename>
            <type>text/plain</type>
            <size>149326</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDU1OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyNCBAQAorMjAyMC0wNC0yMSAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIHRoZSBuZWNlc3NhcnkgaW50ZXJmYWNlLCBleHRlbnNpb25zIHRv
IHRoZSBwZXJmb3JtYW5jZSBpbnRlcmZhY2UgYW5kIG9ic2VydmVyLCBuZXcgcnVudGltZSBmbGFn
LgorICAgICAgICBEZXRlY3RpbmcgY29udGVudGZ1bG5lc3MgYWZ0ZXIgbGF5b3V0IGFuZCBiZWZv
cmUgYWN0dWFsIHBhaW50LCBieSBydW5uaW5nIGEgImR1bW15IiBwYWludCwgc2ltaWxhciB0byAK
KyAgICAgICAgaW52YWxpZGF0ZUNvbnRyb2xUaW50cygpIC8gaW52YWxpZGF0ZUltYWdlc1dpdGhB
c3luY0RlY29kZXMoKS4gU2F2ZSB0aGUgcmVzdWx0IHRvIHRoZSBHcmFwaGljc0NvbnRleHQgYW5k
IHRoZW4gdG8gdGhlIGRvY3VtZW50LgorICAgICAgICBUaGlzIHdvdWxkIHJ1biBmb3IgZXZlcnkg
cGFpbnQgdW50aWwgd2UgZGV0ZWN0IGEgY29udGVudGZ1bCBvbmUuCisKKyAgICAgICAgTm90ZSB0
aGF0IGl0IHBhaW50cyB0aGUgZW50aXJlIGZyYW1lIGNvbnRlbnRzLCBhcyBGQ1AgaXMgbm90IHZp
ZXdwb3J0LWRlcGVuZGVudC4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1s
CisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1p
bWFnZS10d28tc3RlcHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qt
cm90YXRlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQt
b2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LW9wYWNpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRl
eHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1s
CisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC12aWRlby1mcmFtZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5o
dG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWlu
dC1mcmFtZXMuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQtd2l0aC13b3JrZXIuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFw
aS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6Cisg
ICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogcGFnZS9QZXJmb3Jt
YW5jZVBhaW50VGltaW5nLmg6IEFkZGVkLgorICAgICAgICAoaXNUeXBlKToKKyAgICAgICAgKiBw
YWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsOiBBZGRlZC4KKyAgICAgICAgICAgICAgICBB
ZGQgUGVyZm9ybWFuY2VQYWludFRpbWluZyBpbnRlcmZhY2UuIGh0dHBzOi8vdzNjLmdpdGh1Yi5p
by9wYWludC10aW1pbmcvI3NlYy1QZXJmb3JtYW5jZVBhaW50VGltaW5nCisKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnN1cHBvcnRzUGFp
bnRUaW1pbmcgY29uc3QpOgorICAgICAgICAgICAgICAgIFdlIG9ubHkgcmVwb3J0IHBhaW50IHRp
bWluZyBmb3IgZG9jdW1lbnQgdGhhdCBjYW4gYWNjZXNzIHRoZSB0b3AgbGV2ZWwgc2VjdXJpdHkg
b3JpZ2luLCB0byBhdm9pZCBsZWFrYWdlIG9mIGluZm9ybWF0aW9uIHRvIHNhbmRib3hlZCBpZnJh
bWVzLgorCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVwb3J0UGFpbnRUaW1pbmdJZk5l
ZWRlZCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICAgICAgICAgUmVwb3J0
IHBhaW50IHRpbWluZywgYWNjb3JkaW5nIHRvIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10
aW1pbmcvI3NlYy1yZXBvcnRpbmctcGFpbnQtdGltaW5nCisKKyAgICAgICAgKiBwYWdlL1BhZ2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6Cisg
ICAgICAgICAgICAgICAgUmVwb3J0IGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgYWZ0ZXIgbGF5b3V0
LgorICAgICAgICAgICAgICAgIFNlZSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRp
cGFnZS93ZWJhcHBhcGlzLmh0bWwjdXBkYXRlLXRoZS1yZW5kZXJpbmcKKworICAgICAgICAqIHBh
Z2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVu
dHJpZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNC
eVR5cGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNC
eU5hbWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0
Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAgICAg
ICAgICAgICAgU3VwcG9ydCBmaXJzdC1jb250ZW50ZnVsLXBhaW50IHJlcG9ydGluZy4KKworICAg
ICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyk6CisgICAgICAgICogcGFnZS9QZXJm
b3JtYW5jZUVudHJ5Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc1Bh
aW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6
CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmg6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZU9ic2VydmVyLmlkbDoKKyAgICAgICAgICAgICAgICBBZGQgcGFpbnQgcGVyZm9y
bWFuY2UgZW50cnkgdHlwZS4KKworICAgICAgICAqIHBhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0UGFpbnRU
aW1pbmdFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnBhaW50VGltaW5nRW5hYmxlZCBjb25zdCk6CisgICAgICAgICAgICAgICAgTmV3IHJ1bnRpbWUg
ZmxhZyBmb3IgcGFpbnQgdGltaW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRldGVj
dGluZ0NvbnRlbnRmdWxQYWludCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQ6OnNldENvbnRlbnRmdWxQYWludERldGVjdGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDo6Y29udGVuZnVsUGFpbnREZXRlY3RlZCBjb25zdCk6CisgICAgICAgICAg
ICAgICAgQWRkIGEgZmxhZyBpbiBHcmFwaGljc0NvbnRleHQgd2hlcmUgZGlmZmVyZW50IHJlbmRl
ciBvcGVyYXRpb25zIGNhbiByZXBvcnQgaWYgdGhleSdyZSBjb250ZW50ZnVsLgorCisgICAgICAg
ICogcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkNvbnRlbnRmdWxQYWludENoZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRmdWxQ
YWludCk6CisgICAgICAgICAgICAgICAgUnVuIGEgImR1bW15IiBwYWludCBvZiB0aGUgRnJhbWVW
aWV3LCB0byBkZXRlY3QgY29udGVudGZ1bCBlbGVtZW50cy4gCisKKyAgICAgICAgKiByZW5kZXJp
bmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oOiBBZGRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9k
ZWxPYmplY3Q6OnBhaW50RmlsbExheWVyRXh0ZW5kZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJIVE1MQ2FudmFzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckhUTUxDYW52YXM6
OnBhaW50UmVwbGFjZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6cGFpbnRSZXBsYWNlZCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpwYWludExheWVyQ29udGVudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWRlby5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWRlbzo6cGFpbnRSZXBsYWNlZCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1RleHRQYWludGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRQ
YWludGVyOjpwYWludFRleHRPckVtcGhhc2lzTWFya3MpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUm9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSb290Ojpw
YWludFJlcGxhY2VkKToKKyAgICAgICAgICAgICAgICBSZXBvcnQgY29udGVudGZ1bG5lc3Mgd2hl
biB3ZSByZWFjaCBhbnl0aGluZyB0aGF0IHF1YWxpZmllcyBhcyBjb250ZW50ZnVsLAorICAgICAg
ICAgICAgICAgIGJhc2VkIG9uIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvI2Nv
bnRlbnRmdWwuCisKIDIwMjAtMDQtMjIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CiAKICAgICAgICAgTWFrZSBpdCBwb3NzaWJsZSB0byBlYWdlcmx5IGFwcGx5IHNjcm9s
bGluZyB0cmVlIHN0YXRlIGZyb20gdGhlIG1haW4gdGhyZWFkCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAkocmV2aXNpb24gMjYwNTU5KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTkzNiw2ICs5MzYsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lE
TF9GSUxFUwogICAgIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbAogICAgIHBh
Z2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNl
TmF2aWdhdGlvbi5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCiAgICAg
cGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VT
ZXJ2ZXJUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gMjYwNTU5KQorKysgU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtOTI2LDYgKzkyNiw3
IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlci5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyQ2Fs
bGJhY2suaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5
TGlzdC5pZGwgXAorICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsIFwKICAgICAk
KFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CShyZXZpc2lvbiAyNjA1NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMjEyNCw2ICsyMTI0LDcgQEAgcmVuZGVyaW5nL0JyZWFrTGluZXMuY3BwCiBy
ZW5kZXJpbmcvQ1NTRmlsdGVyLmNwcAogcmVuZGVyaW5nL0NsaXBSZWN0LmNwcAogcmVuZGVyaW5n
L0NvbXBsZXhMaW5lTGF5b3V0LmNwcAorcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIu
Y3BwCiByZW5kZXJpbmcvQ291bnRlck5vZGUuY3BwCiByZW5kZXJpbmcvRWxsaXBzaXNCb3guY3Bw
CiByZW5kZXJpbmcvRXZlbnRSZWdpb24uY3BwCkBAIC0zMjAyLDYgKzMyMDMsNyBAQCBKU1BlcmZv
cm1hbmNlTmF2aWdhdGlvbi5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKIEpTUGVyZm9y
bWFuY2VPYnNlcnZlckNhbGxiYWNrLmNwcAogSlNQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmNwcAorSlNQZXJmb3JtYW5jZVBhaW50VGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VU
aW1pbmcuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNjA1NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTQwNTYsNiAr
NDA1Niw3IEBACiAJCUM5Rjg3Q0ZFMUIyOEY0MEUwMDk3OUI4MyAvKiBNZWRpYVNlc3Npb25FdmVu
dHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5Rjg3
Q0ZEMUIyOEU1RjYwMDk3OUI4MyAvKiBNZWRpYVNlc3Npb25FdmVudHMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDQTNCRjY3RTEwRDk5QkFFMDBF
NkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRv
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNB
NkMxNTMwMjIwQjk4Q0MwMDU1Q0JGQyAvKiBKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzFBRTNCODFGQjgwRUFF
MDBGNUVGQjIgLyogSlNWYWx1ZUluV3JhcHBlZE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNBN0U5QjQ5MjQzNjFEQzUwMDRFODlGNiAv
KiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDQTdFOUI0NzI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBh
aW50Q2hlY2tlci5oICovOyB9OwogCQlDQUU5RjkxMDE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNw
ZWN0UmF0aW9WYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0FFOUY5MEUxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUuaCAq
LzsgfTsKIAkJQ0IzOEZENTIxQ0NGOTM5NDAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VFbnRyeS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0IzOEZENEUx
Q0NGOTM3RTAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VFbnRyeS5oICovOyB9OwogCQlDQjM4RkQ1
QjFDRDIzMjVCMDA1OTJBM0YgLyogSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQjM4RkQ1OTFDRDIzMTQ1
MDA1OTJBM0YgLyogSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi87IH07CkBAIC0xMzgy
NSw2ICsxMzgyNiw4IEBACiAJCUNBMDkxRDg2MjNDRjkwNzgwMEFENDM0NiAvKiBTdHlsZUltYWdl
U2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlSW1hZ2VTZXQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDQTA5MUQ4OTIzQ0Y5MDg4MDBBRDQzNDYgLyogU3R5bGVJbWFn
ZVNldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTdHlsZUltYWdlU2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBMTYzNURDMjA3MkU3NjkwMEU3RDJDRSAvKiBSZWZlcnJlclBvbGljeS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWZlcnJlclBvbGljeS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkzM0Q1MjQwN0Q2NDAwMDcxMjQx
QSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNl
UGFpbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0ExOTMzRDgyNDA3
RURDRjAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDQTNCRjY3QjEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Nyb2xsQW5pbWF0b3IuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMg
LyogU2Nyb2xsQW5pbWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Ny
b2xsQW5pbWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0E1MkJBRTUyM0Qw
QUYxNjAwREUwQjg0IC8qIFN0eWxlQ3Vyc29ySW1hZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U3R5bGVDdXJzb3JJbWFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzgz
NCw2ICsxMzgzNyw4IEBACiAJCUNBNkMxNTJGMjIwQjRBNTUwMDU1Q0JGQyAvKiBKU0lEQlJlcXVl
c3RDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJREJS
ZXF1ZXN0Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0E2QzE1Mzcy
MjBEMUVCMzAwNTVDQkZDIC8qIEpTSURCQ3Vyc29yQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCQ3Vyc29yQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0E2QzE1MzgyMjBEMUVCMzAwNTVDQkZDIC8qIEpTSURCQ3Vyc29y
V2l0aFZhbHVlQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTSURCQ3Vyc29yV2l0aFZhbHVlQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQ0E3RTlCNDcyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udGVudGZ1bFBhaW50Q2hlY2tl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTdFOUI0ODI0MzYxREM1MDA0RTg5
RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0FFOUY5MEQxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJhdGlv
VmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTQXNwZWN0
UmF0aW9WYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBRTlGOTBFMTQ2
NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENTU0FzcGVjdFJhdGlvVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQ0IzOEZENEExQ0NDRjJERDAwNTkyQTNGIC8qIFBlcmZvcm1hbmNlRW50cnku
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2VFbnRy
eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMTAyNiw2ICsyMTAzMSw4IEBA
CiAJCQkJQTVBOTkzM0ExRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRy
eUxpc3QuY3BwICovLAogCQkJCUE1QTk5MzNCMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5j
ZU9ic2VydmVyRW50cnlMaXN0LmggKi8sCiAJCQkJQTVBOTkzM0MxRTM3RkFGRDAwNUI1RTREIC8q
IFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsICovLAorCQkJCUNBMTkzM0Q1MjQwN0Q2
NDAwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmggKi8sCisJCQkJQ0ExOTMzRDgy
NDA3RURDRjAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsICovLAogCQkJCTg2
NTEyRURCMTU0QTJBRUUwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCAq
LywKIAkJCQk4NjUxMkVEQzE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5oICovLAogCQkJCTg2NTEyRUREMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmlkbCAqLywKQEAgLTI4MTI4LDYgKzI4MTM1LDggQEAKIAkJCQlCQ0RENDU0
RDEyMzZDOTVDMDA5QTc5ODUgLyogQ29sdW1uSW5mby5oICovLAogCQkJCUJDRUE0ODEzMDk3RDkz
MDIwMDk0QzlFNCAvKiBDb21wbGV4TGluZUxheW91dC5jcHAgKi8sCiAJCQkJRTRBMUFDNzgyMkZB
RkQ1MDAwMTdCNzVCIC8qIENvbXBsZXhMaW5lTGF5b3V0LmggKi8sCisJCQkJQ0E3RTlCNDgyNDM2
MURDNTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwICovLAorCQkJCUNBN0U5
QjQ3MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmggKi8sCiAJCQkJ
OTM5MkYxNEYwQUQxODYyMzAwNjkxQkQ0IC8qIENvdW50ZXJOb2RlLmNwcCAqLywKIAkJCQk5Mzky
RjE0QjBBRDE4NjFCMDA2OTFCRDQgLyogQ291bnRlck5vZGUuaCAqLywKIAkJCQkwRjUzRkI4MTIx
M0IxQkI4MDBDNDBEMzQgLyogQ1NTRmlsdGVyLmNwcCAqLywKQEAgLTI5ODMzLDYgKzI5ODQyLDcg
QEAKIAkJCQlBMTQ5Nzg2RjFBQkFGMzM4MDBDRUY3RTQgLyogQ29udGVudEZpbHRlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNUNEQ0REQzYyM0Q4MEExQzAwQkEzNEExIC8qIENvbnRlbnRGaWx0ZXJD
bGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNDA5MEZEMUFBNTFFNDgwMDkxMTkxQSAvKiBD
b250ZW50RmlsdGVyVW5ibG9ja0hhbmRsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUNBN0U5QjQ5
MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1QzlDMkRCNTIyNDFBNjdCMDA5OTZCMEIgLyogQ29udGVudFJ1bGVMaXN0UmVzdWx0
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdDNDcxREMxMkY5MjVCRDAwODYzNTRCIC8qIENvbnRl
bnRTZWN1cml0eVBvbGljeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0U1RkEyNTUyMDlFNDhDNTAw
NTFENzAwIC8qIENvbnRlbnRTZWN1cml0eVBvbGljeUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFu
Y2VFbnRyeUN1c3RvbS5jcHAJKHJldmlzaW9uIDI2MDU1OSkKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM1LDkgKzM1LDExIEBACiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNQ
ZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlTWVhc3VyZS5oIgorI2lu
Y2x1ZGUgIkpTUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWFyay5oIgogI2luY2x1
ZGUgIlBlcmZvcm1hbmNlTWVhc3VyZS5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlUGFpbnRUaW1p
bmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCiAKIApAQCAtNDYs
NiArNDgsOSBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBKU1ZhbHVlIHRvSlNOZXdseUNyZWF0
ZWQoSlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8
UGVyZm9ybWFuY2VFbnRyeT4mJiBlbnRyeSkKIHsKKyAgICBpZiAoaXM8UGVyZm9ybWFuY2VQYWlu
dFRpbWluZz4oZW50cnkpKQorICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5j
ZVBhaW50VGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKKwogICAgIGlmIChp
czxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPihlbnRyeSkpCiAgICAgICAgIHJldHVybiBjcmVh
dGVXcmFwcGVyPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+KGdsb2JhbE9iamVjdCwgV1RGTW92
ZShlbnRyeSkpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVp
bHRpbk5hbWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUJ1aWx0aW5OYW1lcy5oCShyZXZpc2lvbiAyNjA1NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE4Miw2
ICsxODIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oUGVyZm9ybWFuY2VNZWFz
dXJlKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VPYnNlcnZlcikgXAogICAgIG1hY3JvKFBlcmZv
cm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QpIFwKKyAgICBtYWNybyhQZXJmb3JtYW5jZVBhaW50VGlt
aW5nKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZykgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlU2VydmVyVGltaW5nKSBcCiAgICAgbWFjcm8oUG9pbnRlckV2ZW50KSBcCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDI2MDU1OSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDYgKzQ4LDcgQEAK
ICNpbmNsdWRlICJDb21wb3NpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiQ29uc3RhbnRQcm9wZXJ0
eU1hcC5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgorI2luY2x1ZGUgIkNv
bnRlbnRmdWxQYWludENoZWNrZXIuaCIKICNpbmNsdWRlICJDb29raWVKYXIuaCIKICNpbmNsdWRl
ICJDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZS5oIgogI2luY2x1ZGUgIkN1c3RvbUVsZW1lbnRS
ZWdpc3RyeS5oIgpAQCAtMTQ5LDYgKzE1MCw3IEBACiAjaW5jbHVkZSAiUGFnZUdyb3VwLmgiCiAj
aW5jbHVkZSAiUGFnZVRyYW5zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlBhaW50V29ya2xldEds
b2JhbFNjb3BlLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKICNpbmNsdWRlICJQbGF0Zm9y
bUxvY2FsZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgogI2lu
Y2x1ZGUgIlBsYXRmb3JtU2NyZWVuLmgiCkBAIC0zMTQ0LDYgKzMxNDYsMzQgQEAgYm9vbCBEb2N1
bWVudDo6aXNMYXlvdXRUaW1lckFjdGl2ZSgpIGNvbgogICAgIHJldHVybiB2aWV3KCkgJiYgdmll
dygpLT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQZW5kaW5nKCk7CiB9CiAKK2Jvb2wgRG9jdW1l
bnQ6OnN1cHBvcnRzUGFpbnRUaW1pbmcoKSBjb25zdAoreworICAgIHJldHVybiBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnBhaW50VGltaW5nRW5hYmxlZCgpICYmIHNl
Y3VyaXR5T3JpZ2luKCkuY2FuQWNjZXNzKHRvcE9yaWdpbigpKTsKK30KKworLy8gaHR0cHM6Ly93
M2MuZ2l0aHViLmlvL3BhaW50LXRpbWluZy8jcmVmLWZvci1tYXJrLXBhaW50LXRpbWluZwordm9p
ZCBEb2N1bWVudDo6cmVwb3J0UGFpbnRUaW1pbmdJZk5lZWRlZCgpCit7CisgICAgaWYgKG1fZGlk
UmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICgh
c3VwcG9ydHNQYWludFRpbWluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIWRvbVdp
bmRvdygpIHx8ICF2aWV3KCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIFRvIG1ha2Ugc3Vy
ZSB3ZSBkb24ndCByZXBvcnQgcGFpbnQgd2hpbGUgdGhlIGxheWVyIHRyZWUgaXMgc3RpbGwgZnJv
emVuLgorICAgIGlmICghdmlldygpLT5pc1Zpc3VhbGx5Tm9uRW1wdHkoKSB8fCB2aWV3KCktPm5l
ZWRzTGF5b3V0KCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghQ29udGVudGZ1bFBhaW50
Q2hlY2tlcjo6cXVhbGlmaWVzRm9yQ29udGVudGZ1bFBhaW50KCp2aWV3KCkpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBkb21XaW5kb3coKS0+cGVyZm9ybWFuY2UoKS5yZXBvcnRGaXJzdENvbnRl
bnRmdWxQYWludCgpOworICAgIG1fZGlkUmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQgPSB0cnVl
OworfQorCiBFeGNlcHRpb25Pcjx2b2lkPiBEb2N1bWVudDo6d3JpdGUoRG9jdW1lbnQqIHJlc3Bv
bnNpYmxlRG9jdW1lbnQsIFNlZ21lbnRlZFN0cmluZyYmIHRleHQpCiB7CiAgICAgaWYgKG1fYWN0
aXZlUGFyc2VyV2FzQWJvcnRlZCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCShyZXZpc2lvbiAy
NjA1NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMTAzOCw2ICsxMDM4LDggQEAgcHVibGljOgogCiAgICAgYm9vbCBzaG91bGREZWZlckFzeW5j
aHJvbm91c1NjcmlwdHNVbnRpbFBhcnNpbmdGaW5pc2hlcygpIGNvbnN0OwogCisgICAgYm9vbCBz
dXBwb3J0c1BhaW50VGltaW5nKCkgY29uc3Q7CisKICNpZiBFTkFCTEUoWFNMVCkKICAgICB2b2lk
IHNjaGVkdWxlVG9BcHBseVhTTFRyYW5zZm9ybXMoKTsKICAgICB2b2lkIGFwcGx5UGVuZGluZ1hT
TFRyYW5zZm9ybXNOb3dJZlNjaGVkdWxlZCgpOwpAQCAtMTU3Nyw2ICsxNTc5LDcgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBzZXRIYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCgpIHsgbV9o
YXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCA9IHRydWU7IH0KICAgICBib29sIGhhc1Zp
c3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50KCkgY29uc3QgeyByZXR1cm4gbV9oYXNWaXN1YWxs
eU5vbkVtcHR5Q3VzdG9tQ29udGVudDsgfQorICAgIHZvaWQgcmVwb3J0UGFpbnRUaW1pbmdJZk5l
ZWRlZCgpOwogCiBwcm90ZWN0ZWQ6CiAgICAgZW51bSBDb25zdHJ1Y3Rpb25GbGFncyB7IFN5bnRo
ZXNpemVkID0gMSwgTm9uUmVuZGVyZWRQbGFjZWhvbGRlciA9IDEgPDwgMSB9OwpAQCAtMjA0Myw2
ICsyMDQ2LDkgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9hcmVEZXZpY2VNb3Rpb25BbmRPcmll
bnRhdGlvblVwZGF0ZXNTdXNwZW5kZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV91c2VyRGlkSW50
ZXJhY3RXaXRoUGFnZSB7IGZhbHNlIH07CisKKyAgICBib29sIG1fZGlkUmVwb3J0Rmlyc3RDb250
ZW50ZnVsUGFpbnQgeyBmYWxzZSB9OworCiAjaWYgQVNTRVJUX0VOQUJMRUQKICAgICBib29sIG1f
aW5IaXRUZXN0aW5nIHsgZmFsc2UgfTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCShy
ZXZpc2lvbiAyNjA1NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMzc3LDYgKzEzNzcsMTAgQEAgdm9pZCBQYWdlOjpkb0FmdGVyVXBkYXRlUmVu
ZGVyaW5nKCkKICAgICAvLyBsYXlvdXQgdG8gYmUgdXAtdG8tZGF0ZS4gSXQgc2hvdWxkIG5vdCBy
dW4gc2NyaXB0LCB0cmlnZ2VyIGxheW91dCwgb3IgZGlydHkgbGF5b3V0LgogCiAgICAgZm9yRWFj
aERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKKyAgICAgICAgZG9jdW1lbnQucmVw
b3J0UGFpbnRUaW1pbmdJZk5lZWRlZCgpOworICAgIH0pOworCisgICAgZm9yRWFjaERvY3VtZW50
KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKICAgICAgICAgZG9jdW1lbnQudXBkYXRlSGlnaGxp
Z2h0UG9zaXRpb25zKCk7CiAgICAgfSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2UuY3BwCShyZXZpc2lvbiAyNjA1NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlBlcmZv
cm1hbmNlRW50cnkuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKICNpbmNs
dWRlICJQZXJmb3JtYW5jZU9ic2VydmVyLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VQYWludFRp
bWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZVRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVXNlclRpbWluZy5o
IgpAQCAtMTI0LDYgKzEyNSw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBl
cmZvcm0KICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNZWFz
dXJlcygpKTsKICAgICB9CiAKKyAgICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCkKKyAgICAg
ICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBzdGQ6OnNv
cnQoZW50cmllcy5iZWdpbigpLCBlbnRyaWVzLmVuZCgpLCBQZXJmb3JtYW5jZUVudHJ5OjpzdGFy
dFRpbWVDb21wYXJlTGVzc1RoYW4pOwogICAgIHJldHVybiBlbnRyaWVzOwogfQpAQCAtMTM1LDYg
KzEzOSw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICBp
ZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicmVzb3VyY2UiKSkK
ICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV9yZXNvdXJjZVRpbWluZ0J1ZmZlcik7CiAK
KyAgICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FT
Q0lJQ2FzZShlbnRyeVR5cGUsICJwYWludCIpKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2Zp
cnN0Q29udGVudGZ1bFBhaW50KTsKKwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAg
aWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkKICAg
ICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MoKSk7
CkBAIC0xNTcsNiArMTY0LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVy
Zm9ybQogICAgICAgICB9CiAgICAgfQogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQg
JiYgKGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShl
bnRyeVR5cGUsICJwYWludCIpKSAmJiBuYW1lID09ICJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikK
KyAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBp
ZiAobV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1
YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAibWFyayIpKQogICAgICAgICAg
ICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNYXJrcyhuYW1lKSk7CkBA
IC0xODAsNiArMTkwLDEzIEBAIHZvaWQgUGVyZm9ybWFuY2U6OnNldFJlc291cmNlVGltaW5nQnVm
ZmUKICAgICBtX3Jlc291cmNlVGltaW5nQnVmZmVyRnVsbEZsYWcgPSBmYWxzZTsKIH0KIAordm9p
ZCBQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKQoreworICAgIEFTU0VS
VCghbV9maXJzdENvbnRlbnRmdWxQYWludCk7CisgICAgbV9maXJzdENvbnRlbnRmdWxQYWludCA9
IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc6OmNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KG5vdygp
KTsKKyAgICBxdWV1ZUVudHJ5KCptX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKK30KKwogdm9pZCBQ
ZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRp
bWluZykKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlLmgJKHJldmlzaW9uIDI2MDU1OSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBj
bGFzcyBMb2FkVGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VFbnRyeTsKIGNsYXNzIFBlcmZvcm1h
bmNlTmF2aWdhdGlvbjsKIGNsYXNzIFBlcmZvcm1hbmNlT2JzZXJ2ZXI7CitjbGFzcyBQZXJmb3Jt
YW5jZVBhaW50VGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VUaW1pbmc7CiBjbGFzcyBSZXNvdXJj
ZVJlc3BvbnNlOwogY2xhc3MgUmVzb3VyY2VUaW1pbmc7CkBAIC03Nyw2ICs3OCw4IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgYWRkUmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJik7CiAKKyAg
ICB2b2lkIHJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7CisKICAgICB2b2lkIHJlbW92ZUFs
bE9ic2VydmVycygpOwogICAgIHZvaWQgcmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZv
cm1hbmNlT2JzZXJ2ZXImKTsKICAgICB2b2lkIHVucmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVy
KFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKQEAgLTEyMSw2ICsxMjQsNyBAQCBwcml2YXRlOgogCiAg
ICAgTW9ub3RvbmljVGltZSBtX3RpbWVPcmlnaW47CiAKKyAgICBSZWZQdHI8UGVyZm9ybWFuY2VQ
YWludFRpbWluZz4gbV9maXJzdENvbnRlbnRmdWxQYWludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
VXNlclRpbWluZz4gbV91c2VyVGltaW5nOwogCiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxTY3JpcHRF
eGVjdXRpb25Db250ZXh0PiBtX3BlcmZvcm1hbmNlVGltZWxpbmVUYXNrUXVldWU7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAJKHJldmlzaW9uIDI2MDU1OSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTY0LDYgKzY0LDExIEBAIE9wdGlvbmFsPFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IFBl
cmZvcm0KICAgICAgICAgICAgIHJldHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpSZXNvdXJjZSk7
CiAgICAgfQogCisgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkucGFpbnRUaW1pbmdFbmFibGVkKCkpIHsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9PSAicGFp
bnQiKQorICAgICAgICAgICAgcmV0dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6OlBhaW50KTsKKyAg
ICB9CisKICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlRW50cnkuaAkocmV2aXNpb24gMjYwNTU5KQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDEwICs0OCwx
MSBAQCBwdWJsaWM6CiAgICAgZG91YmxlIGR1cmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kdXJh
dGlvbjsgfQogCiAgICAgZW51bSBjbGFzcyBUeXBlIHsKLSAgICAgICAgTmF2aWdhdGlvbiA9IDEg
PDwgMCwKLSAgICAgICAgTWFyayA9IDEgPDwgMSwKLSAgICAgICAgTWVhc3VyZSA9IDEgPDwgMiwK
LSAgICAgICAgUmVzb3VyY2UgPSAxIDw8IDMsCisgICAgICAgIE5hdmlnYXRpb24gID0gMSA8PCAw
LAorICAgICAgICBNYXJrICAgICAgICA9IDEgPDwgMSwKKyAgICAgICAgTWVhc3VyZSAgICAgPSAx
IDw8IDIsCisgICAgICAgIFJlc291cmNlICAgID0gMSA8PCAzLAorICAgICAgICBQYWludCAgICAg
ICA9IDEgPDwgNAogICAgIH07CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0ID0gMDsK
QEAgLTYyLDYgKzYzLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNSZXNvdXJjZSgpIGNvbnN0IHsg
cmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpSZXNvdXJjZTsgfQogICAgIGJvb2wgaXNNYXJrKCkgY29u
c3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1hcms7IH0KICAgICBib29sIGlzTWVhc3VyZSgp
IGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNZWFzdXJlOyB9CisgICAgYm9vbCBpc1Bh
aW50KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OlBhaW50OyB9CiAKICAgICBzdGF0
aWMgYm9vbCBzdGFydFRpbWVDb21wYXJlTGVzc1RoYW4oY29uc3QgUmVmUHRyPFBlcmZvcm1hbmNl
RW50cnk+JiBhLCBjb25zdCBSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4mIGIpCiAgICAgewpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCShyZXZpc2lv
biAyNjA1NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsMTUgKzExMywyMSBAQCB2b2lkIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXI6OmRlbGl2ZXIoKQogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmlyZU9i
c2VydmVyQ2FsbGJhY2soKmNvbnRleHQpOwogfQogCi1WZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5j
ZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKCkKK1ZlY3RvcjxTdHJpbmc+IFBlcmZvcm1h
bmNlT2JzZXJ2ZXI6OnN1cHBvcnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCkKIHsKLSAgICByZXR1cm4geworICAgIFZlY3RvcjxTdHJpbmc+IGVudHJ5VHlwZXMg
PSB7CiAgICAgICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTg0MzYzPiBBZGQg
c3VwcG9ydCBmb3IgTmF2aWdhdGlvbiBUaW1pbmcgTGV2ZWwgMgogICAgICAgICAvLyAibmF2aWdh
dGlvbiJfcywKICAgICAgICAgIm1hcmsiX3MsCi0gICAgICAgICJtZWFzdXJlIl9zLAotICAgICAg
ICAicmVzb3VyY2UiX3MKKyAgICAgICAgIm1lYXN1cmUiX3MKICAgICB9OworCisgICAgaWYgKGlz
PERvY3VtZW50Pihjb250ZXh0KSAmJiBkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCkuc3VwcG9y
dHNQYWludFRpbWluZygpKQorICAgICAgICBlbnRyeVR5cGVzLmFwcGVuZCgicGFpbnQiX3MpOwor
CisgICAgZW50cnlUeXBlcy5hcHBlbmQoInJlc291cmNlIl9zKTsKKworICAgIHJldHVybiBlbnRy
eVR5cGVzOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaAkocmV2aXNpb24gMjYwNTU5KQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5
LDcgKzQ5LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3Jt
YW5jZU9ic2VydmVyKGNvbnRleHQsIFdURk1vdmUoY2FsbGJhY2spKSk7CiAgICAgfQogCi0gICAg
c3RhdGljIFZlY3RvcjxTdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXMoKTsKKyAgICBzdGF0aWMg
VmVjdG9yPFN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0
Jik7CiAKICAgICB2b2lkIGRpc2Fzc29jaWF0ZSgpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwJKHJldmlzaW9uIDI2MDU1OSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTM2LDcgKzM2LDcgQEAKIF0gaW50ZXJmYWNlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgewogICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBvYnNlcnZlKFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IG9w
dGlvbnMpOwogICAgIHZvaWQgZGlzY29ubmVjdCgpOwotICAgIHN0YXRpYyByZWFkb25seSBhdHRy
aWJ1dGUgRnJvemVuQXJyYXk8RE9NU3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzOworICAgIFtD
YWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRl
IEZyb3plbkFycmF5PERPTVN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlczsKIH07CiAKIGRpY3Rp
b25hcnkgUGVyZm9ybWFuY2VPYnNlcnZlckluaXQgewpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBXaWtpTWVkaWEgRm91bmRhdGlv
bi4gQWxsIFJpZ2h0cyBSZXNlcnZlLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIK
KyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBQZXJmb3JtYW5jZVBhaW50VGltaW5nIGZpbmFsIDogcHVibGljIFBlcmZvcm1hbmNl
RW50cnkgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VQYWludFRpbWluZz4g
Y3JlYXRlRmlyc3RDb250ZW50ZnVsUGFpbnQoRE9NSGlnaFJlc1RpbWVTdGFtcCB0aW1lU3RhbXAp
CisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZVBhaW50VGlt
aW5nKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50Il9zLCB0aW1lU3RhbXApKTsKKyAgICB9CisKK3By
aXZhdGU6CisgICAgUGVyZm9ybWFuY2VQYWludFRpbWluZyhjb25zdCBTdHJpbmcmIG5hbWUsIERP
TUhpZ2hSZXNUaW1lU3RhbXAgdGltZVN0YW1wKQorICAgICAgICA6IFBlcmZvcm1hbmNlRW50cnko
bmFtZSwgdGltZVN0YW1wLCB0aW1lU3RhbXApCisgICAgeworICAgIH0KKworICAgIEFTQ0lJTGl0
ZXJhbCBlbnRyeVR5cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiAicGFpbnQiX3M7IH0KKyAgICBU
eXBlIHR5cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBUeXBlOjpQYWludDsgfQorCisgICAgflBl
cmZvcm1hbmNlUGFpbnRUaW1pbmcoKSA9IGRlZmF1bHQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6UGVyZm9ybWFu
Y2VQYWludFRpbWluZykKKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6UGVy
Zm9ybWFuY2VFbnRyeSYgZW50cnkpIHsgcmV0dXJuIGVudHJ5LmlzUGFpbnQoKTsgfQorU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19FTkQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZVBhaW50VGltaW5nLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBXaWtpTWVkaWEgRm91bmRhdGlvbi4g
QWxsIFJpZ2h0cyBSZXNlcnZlLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvCisK
K3R5cGVkZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1lU3RhbXA7CisKK1sKKyAgICBFbmFibGVkQXRS
dW50aW1lPVBhaW50VGltaW5nLAorICAgIEV4cG9zZWQ9KFdpbmRvdyksCitdIGludGVyZmFjZSBQ
ZXJmb3JtYW5jZVBhaW50VGltaW5nIDogUGVyZm9ybWFuY2VFbnRyeSB7Cit9OwpJbmRleDogU291
cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHJldmlzaW9uIDI2
MDU1OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC02Miw2ICs2Miw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVzZXJU
aW1pbmdFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNVc2VyVGltaW5nRW5hYmxlZCA9IGlz
RW5hYmxlZDsgfQogICAgIGJvb2wgdXNlclRpbWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBt
X2lzVXNlclRpbWluZ0VuYWJsZWQ7IH0KIAorICAgIHZvaWQgc2V0UGFpbnRUaW1pbmdFbmFibGVk
KGJvb2wgaXNFbmFibGVkKSB7IG1faXNQYWludFRpbWluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0K
KyAgICBib29sIHBhaW50VGltaW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNQYWludFRp
bWluZ0VuYWJsZWQ7IH0KKwogICAgIGJvb2wgcGVyZm9ybWFuY2VUaW1lbGluZUVuYWJsZWQoKSBj
b25zdCB7IHJldHVybiByZXNvdXJjZVRpbWluZ0VuYWJsZWQoKSB8fCB1c2VyVGltaW5nRW5hYmxl
ZCgpOyB9CiAKICAgICB2b2lkIHNldFNoYWRvd0RPTUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsg
bV9pc1NoYWRvd0RPTUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KQEAgLTQyNCw2ICs0MjcsNyBAQCBw
cml2YXRlOgogICAgIGJvb2wgbV9pc0xpbmtQcmVsb2FkRW5hYmxlZCB7IHRydWUgfTsKICAgICBi
b29sIG1faXNMaW5rUHJlZmV0Y2hFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNNZWRp
YVByZWxvYWRpbmdFbmFibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNQYWludFRpbWluZ0Vu
YWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1Jlc291cmNlVGltaW5nRW5hYmxlZCB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX2lzVXNlclRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV9pc0ludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkIHsgZmFsc2UgfTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dC5oCShyZXZpc2lvbiAyNjA1NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMjczLDcgKzI3Myw4IEBAIHB1
YmxpYzoKICAgICBlbnVtIGNsYXNzIFBhaW50SW52YWxpZGF0aW9uUmVhc29ucyA6IHVpbnQ4X3Qg
ewogICAgICAgICBOb25lLAogICAgICAgICBJbnZhbGlkYXRpbmdDb250cm9sVGludHMsCi0gICAg
ICAgIEludmFsaWRhdGluZ0ltYWdlc1dpdGhBc3luY0RlY29kZXMKKyAgICAgICAgSW52YWxpZGF0
aW5nSW1hZ2VzV2l0aEFzeW5jRGVjb2RlcywKKyAgICAgICAgRGV0ZWN0aW5nQ29udGVudGZ1bFBh
aW50CiAgICAgfTsKICAgICBHcmFwaGljc0NvbnRleHQoUGFpbnRJbnZhbGlkYXRpb25SZWFzb25z
KTsKIApAQCAtMjkyLDYgKzI5Myw3IEBAIHB1YmxpYzoKICAgICBib29sIHBlcmZvcm1pbmdQYWlu
dEludmFsaWRhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fcGFpbnRJbnZhbGlkYXRpb25SZWFzb25z
ICE9IFBhaW50SW52YWxpZGF0aW9uUmVhc29uczo6Tm9uZTsgfQogICAgIGJvb2wgaW52YWxpZGF0
aW5nQ29udHJvbFRpbnRzKCkgY29uc3QgeyByZXR1cm4gbV9wYWludEludmFsaWRhdGlvblJlYXNv
bnMgPT0gUGFpbnRJbnZhbGlkYXRpb25SZWFzb25zOjpJbnZhbGlkYXRpbmdDb250cm9sVGludHM7
IH0KICAgICBib29sIGludmFsaWRhdGluZ0ltYWdlc1dpdGhBc3luY0RlY29kZXMoKSBjb25zdCB7
IHJldHVybiBtX3BhaW50SW52YWxpZGF0aW9uUmVhc29ucyA9PSBQYWludEludmFsaWRhdGlvblJl
YXNvbnM6OkludmFsaWRhdGluZ0ltYWdlc1dpdGhBc3luY0RlY29kZXM7IH0KKyAgICBib29sIGRl
dGVjdGluZ0NvbnRlbnRmdWxQYWludCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFpbnRJbnZhbGlkYXRp
b25SZWFzb25zID09IFBhaW50SW52YWxpZGF0aW9uUmVhc29uczo6RGV0ZWN0aW5nQ29udGVudGZ1
bFBhaW50OyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN0cm9rZVRoaWNrbmVzcyhm
bG9hdCk7CiAgICAgZmxvYXQgc3Ryb2tlVGhpY2tuZXNzKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0
ZS5zdHJva2VUaGlja25lc3M7IH0KQEAgLTUxMyw2ICs1MTUsOSBAQCBwdWJsaWM6CiAgICAgRmxv
YXRTaXplIHNjYWxlRmFjdG9yKCkgY29uc3Q7CiAgICAgRmxvYXRTaXplIHNjYWxlRmFjdG9yRm9y
RHJhd2luZyhjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1Jl
Y3QpIGNvbnN0OwogCisgICAgdm9pZCBzZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpIHsgbV9j
b250ZW5mdWxQYWludERldGVjdGVkID0gdHJ1ZTsgfQorICAgIGJvb2wgY29udGVuZnVsUGFpbnRE
ZXRlY3RlZCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVuZnVsUGFpbnREZXRlY3RlZDsgfQorCiAj
aWYgT1MoV0lORE9XUykKICAgICBIREMgZ2V0V2luZG93c0NvbnRleHQoY29uc3QgSW50UmVjdCYs
IGJvb2wgc3VwcG9ydEFscGhhQmxlbmQpOyAvLyBUaGUgcGFzc2VkIGluIHJlY3QgaXMgdXNlZCB0
byBjcmVhdGUgYSBiaXRtYXAgZm9yIGNvbXBvc2l0aW5nIGluc2lkZSB0cmFuc3BhcmVuY3kgbGF5
ZXJzLgogICAgIHZvaWQgcmVsZWFzZVdpbmRvd3NDb250ZXh0KEhEQywgY29uc3QgSW50UmVjdCYs
IGJvb2wgc3VwcG9ydEFscGhhQmxlbmQpOyAvLyBUaGUgcGFzc2VkIGluIEhEQyBzaG91bGQgYmUg
dGhlIG9uZSBoYW5kZWQgYmFjayBieSBnZXRXaW5kb3dzQ29udGV4dC4KQEAgLTY2MSw2ICs2NjYs
NyBAQCBwcml2YXRlOgogCiAgICAgY29uc3QgUGFpbnRJbnZhbGlkYXRpb25SZWFzb25zIG1fcGFp
bnRJbnZhbGlkYXRpb25SZWFzb25zIHsgUGFpbnRJbnZhbGlkYXRpb25SZWFzb25zOjpOb25lIH07
CiAgICAgdW5zaWduZWQgbV90cmFuc3BhcmVuY3lDb3VudCB7IDAgfTsKKyAgICBib29sIG1fY29u
dGVuZnVsUGFpbnREZXRlY3RlZCB7IGZhbHNlIH07CiB9OwogCiBjbGFzcyBHcmFwaGljc0NvbnRl
eHRTdGF0ZVNhdmVyIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db250ZW50ZnVs
UGFpbnRDaGVja2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
Q29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgV2lraU1lZGlhIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCisgKgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNv
bnRlbnRmdWxQYWludENoZWNrZXIuaCIKKworI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1
ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Jvb2wgQ29u
dGVudGZ1bFBhaW50Q2hlY2tlcjo6cXVhbGlmaWVzRm9yQ29udGVudGZ1bFBhaW50KEZyYW1lVmll
dyYgZnJhbWVWaWV3KQoreworICAgIEFTU0VSVCghZnJhbWVWaWV3Lm5lZWRzTGF5b3V0KCkpOwor
ICAgIEFTU0VSVChmcmFtZVZpZXcucmVuZGVyVmlldygpKTsKKworICAgIGF1dG8gb2xkUGFpbnRC
ZWhhdmlvciA9IGZyYW1lVmlldy5wYWludEJlaGF2aW9yKCk7CisgICAgYXV0byBvbGRFbnRpcmVD
b250ZW50cyA9IGZyYW1lVmlldy5wYWludHNFbnRpcmVDb250ZW50cygpOworCisgICAgZnJhbWVW
aWV3LnNldFBhaW50QmVoYXZpb3IoUGFpbnRCZWhhdmlvcjo6RmxhdHRlbkNvbXBvc2l0aW5nTGF5
ZXJzKTsKKyAgICBmcmFtZVZpZXcuc2V0UGFpbnRzRW50aXJlQ29udGVudHModHJ1ZSk7CisKKyAg
ICBHcmFwaGljc0NvbnRleHQgY2hlY2tlckNvbnRleHQoR3JhcGhpY3NDb250ZXh0OjpQYWludElu
dmFsaWRhdGlvblJlYXNvbnM6OkRldGVjdGluZ0NvbnRlbnRmdWxQYWludCk7CisgICAgZnJhbWVW
aWV3LnBhaW50KGNoZWNrZXJDb250ZXh0LCBmcmFtZVZpZXcucmVuZGVyVmlldygpLT5kb2N1bWVu
dFJlY3QoKSk7CisKKyAgICBmcmFtZVZpZXcuc2V0UGFpbnRzRW50aXJlQ29udGVudHMob2xkRW50
aXJlQ29udGVudHMpOworICAgIGZyYW1lVmlldy5zZXRQYWludEJlaGF2aW9yKG9sZFBhaW50QmVo
YXZpb3IpOworCisgICAgcmV0dXJuIGNoZWNrZXJDb250ZXh0LmNvbnRlbmZ1bFBhaW50RGV0ZWN0
ZWQoKTsKK30KKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQ
YWludENoZWNrZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29u
dGVudGZ1bFBhaW50Q2hlY2tlci5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBXaWtpTWVkaWEgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor
ICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElm
IG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KKyAqCisqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBGcmFtZVZpZXc7CisKK2NsYXNzIENvbnRlbnRmdWxQYWludENoZWNrZXIgeworcHVibGlj
OgorICAgIHN0YXRpYyBib29sIHF1YWxpZmllc0ZvckNvbnRlbnRmdWxQYWludChGcmFtZVZpZXcm
KTsKK307CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveE1vZGVsT2JqZWN0LmNwcAkocmV2aXNpb24gMjYwNTU5KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzE2
LDcgKzcxNiw4IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50RmlsbExheWUKICAg
ICBCYWNrZ3JvdW5kQmxlZWRBdm9pZGFuY2UgYmxlZWRBdm9pZGFuY2UsIElubGluZUZsb3dCb3gq
IGJveCwgY29uc3QgTGF5b3V0U2l6ZSYgYm94U2l6ZSwgQ29tcG9zaXRlT3BlcmF0b3Igb3AsIFJl
bmRlckVsZW1lbnQqIGJhY2tncm91bmRPYmplY3QsIEJhc2VCYWNrZ3JvdW5kQ29sb3JVc2FnZSBi
YXNlQmdDb2xvclVzYWdlKQogewogICAgIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCA9IHBhaW50
SW5mby5jb250ZXh0KCk7Ci0gICAgaWYgKGNvbnRleHQucGFpbnRpbmdEaXNhYmxlZCgpIHx8IHJl
Y3QuaXNFbXB0eSgpKQorCisgICAgaWYgKChjb250ZXh0LnBhaW50aW5nRGlzYWJsZWQoKSAmJiAh
Y29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgfHwgcmVjdC5pc0VtcHR5KCkpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIGJvb2wgaW5jbHVkZUxlZnRFZGdlID0gYm94ID8gYm94LT5p
bmNsdWRlTG9naWNhbExlZnRFZGdlKCkgOiB0cnVlOwpAQCAtNzMxLDYgKzczMiwxNCBAQCB2b2lk
IFJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludEZpbGxMYXllCiAgICAgU3R5bGVJbWFnZSogYmdJ
bWFnZSA9IGJnTGF5ZXIuaW1hZ2UoKTsKICAgICBib29sIHNob3VsZFBhaW50QmFja2dyb3VuZElt
YWdlID0gYmdJbWFnZSAmJiBiZ0ltYWdlLT5jYW5SZW5kZXIodGhpcywgc3R5bGUoKS5lZmZlY3Rp
dmVab29tKCkpOwogICAgIAorICAgIGlmIChjb250ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQYWlu
dCgpKSB7CisgICAgICAgIGlmICghY29udGV4dC5jb250ZW5mdWxQYWludERldGVjdGVkKCkgJiYg
c2hvdWxkUGFpbnRCYWNrZ3JvdW5kSW1hZ2UgJiYgYmdJbWFnZS0+Y2FjaGVkSW1hZ2UoKSkgewor
ICAgICAgICAgICAgaWYgKHN0eWxlKCkuYmFja2dyb3VuZFNpemVUeXBlKCkgIT0gRmlsbFNpemVU
eXBlOjpTaXplIHx8ICFzdHlsZSgpLmJhY2tncm91bmRTaXplTGVuZ3RoKCkuaXNFbXB0eSgpKQor
ICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0Q29udGVudGZ1bFBhaW50RGV0ZWN0ZWQoKTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKwogICAgIGlmIChjb250ZXh0Lmlu
dmFsaWRhdGluZ0ltYWdlc1dpdGhBc3luY0RlY29kZXMoKSkgewogICAgICAgICBpZiAoc2hvdWxk
UGFpbnRCYWNrZ3JvdW5kSW1hZ2UgJiYgYmdJbWFnZS0+Y2FjaGVkSW1hZ2UoKS0+aXNDbGllbnRX
YWl0aW5nRm9yQXN5bmNEZWNvZGluZygqdGhpcykpCiAgICAgICAgICAgICBiZ0ltYWdlLT5jYWNo
ZWRJbWFnZSgpLT5yZW1vdmVBbGxDbGllbnRzV2FpdGluZ0ZvckFzeW5jRGVjb2RpbmcoKTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5jcHAJKHJl
dmlzaW9uIDI2MDU1OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2Fu
dmFzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsNiArNzEsMTMgQEAgdm9pZCBSZW5kZXJIVE1M
Q2FudmFzOjpwYWludFJlcGxhY2VkKFBhaQogICAgIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCA9
IHBhaW50SW5mby5jb250ZXh0KCk7CiAKICAgICBMYXlvdXRSZWN0IGNvbnRlbnRCb3hSZWN0ID0g
dGhpcy0+Y29udGVudEJveFJlY3QoKTsKKworICAgIGlmIChjb250ZXh0LmRldGVjdGluZ0NvbnRl
bnRmdWxQYWludCgpKSB7CisgICAgICAgIGlmICghY29udGV4dC5jb250ZW5mdWxQYWludERldGVj
dGVkKCkgJiYgY2FudmFzRWxlbWVudCgpLnJlbmRlcmluZ0NvbnRleHQoKSkKKyAgICAgICAgICAg
IGNvbnRleHQuc2V0Q29udGVudGZ1bFBhaW50RGV0ZWN0ZWQoKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKwogICAgIGNvbnRlbnRCb3hSZWN0Lm1vdmVCeShwYWludE9mZnNldCk7CiAgICAgTGF5
b3V0UmVjdCByZXBsYWNlZENvbnRlbnRSZWN0ID0gdGhpcy0+cmVwbGFjZWRDb250ZW50UmVjdCgp
OwogICAgIHJlcGxhY2VkQ29udGVudFJlY3QubW92ZUJ5KHBhaW50T2Zmc2V0KTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkocmV2aXNpb24gMjYwNTU5KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDkyLDYgKzQ5MiwxMyBAQCB2b2lkIFJlbmRlckltYWdlOjpwYWludFJlcGxhY2VkKFBh
aW50SW5mCiAgICAgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IgPSBkb2N1bWVudCgpLmRldmljZVNj
YWxlRmFjdG9yKCk7CiAgICAgTGF5b3V0VW5pdCBtaXNzaW5nSW1hZ2VCb3JkZXJXaWR0aCgxIC8g
ZGV2aWNlU2NhbGVGYWN0b3IpOwogCisgICAgaWYgKGNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1
bFBhaW50KCkpIHsKKyAgICAgICAgaWYgKCFjb250ZXh0LmNvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQo
KSAmJiAhaXNEZWZlcnJlZEltYWdlKGVsZW1lbnQoKSkgJiYgY2FjaGVkSW1hZ2UoKSAmJiBjYWNo
ZWRJbWFnZSgpLT5jYW5SZW5kZXIodGhpcywgZGV2aWNlU2NhbGVGYWN0b3IpICYmICFjb250ZW50
U2l6ZS5pc0VtcHR5KCkpCisgICAgICAgICAgICBjb250ZXh0LnNldENvbnRlbnRmdWxQYWludERl
dGVjdGVkKCk7CisKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmICghaW1hZ2VSZXNv
dXJjZSgpLmNhY2hlZEltYWdlKCkgfHwgaXNEZWZlcnJlZEltYWdlKGVsZW1lbnQoKSkgfHwgc2hv
dWxkRGlzcGxheUJyb2tlbkltYWdlSWNvbigpKSB7CiAgICAgICAgIGlmIChwYWludEluZm8ucGhh
c2UgPT0gUGFpbnRQaGFzZTo6U2VsZWN0aW9uKQogICAgICAgICAgICAgcmV0dXJuOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCShyZXZpc2lvbiAyNjA1NTkp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00NTQ1LDYgKzQ1NDUsOSBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExheWVyQ29u
dGVudHMoR3JhCiB7CiAgICAgQVNTRVJUKGlzU2VsZlBhaW50aW5nTGF5ZXIoKSB8fCBoYXNTZWxm
UGFpbnRpbmdMYXllckRlc2NlbmRhbnQoKSk7CiAKKyAgICBpZiAoY29udGV4dC5kZXRlY3RpbmdD
b250ZW50ZnVsUGFpbnQoKSAmJiBjb250ZXh0LmNvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQoKSkKKyAg
ICAgICAgcmV0dXJuOworCiAgICAgYXV0byBsb2NhbFBhaW50RmxhZ3MgPSBwYWludEZsYWdzIC0g
UGFpbnRMYXllckFwcGxpZWRUcmFuc2Zvcm07CiAgICAgYm9vbCBoYXZlVHJhbnNwYXJlbmN5ID0g
bG9jYWxQYWludEZsYWdzLmNvbnRhaW5zKFBhaW50TGF5ZXJIYXZlVHJhbnNwYXJlbmN5KTsKICAg
ICBib29sIGlzU2VsZlBhaW50aW5nTGF5ZXIgPSB0aGlzLT5pc1NlbGZQYWludGluZ0xheWVyKCk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAJKHJldmlzaW9u
IDI2MDU1OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTIwNCw2ICsyMDQsMTIgQEAgdm9pZCBSZW5kZXJWaWRlbzo6cGFpbnRS
ZXBsYWNlZChQYWludEluZgogICAgIExheW91dFJlY3QgY29udGVudFJlY3QgPSBjb250ZW50Qm94
UmVjdCgpOwogICAgIGNvbnRlbnRSZWN0Lm1vdmVCeShwYWludE9mZnNldCk7CiAgICAgR3JhcGhp
Y3NDb250ZXh0JiBjb250ZXh0ID0gcGFpbnRJbmZvLmNvbnRleHQoKTsKKworICAgIGlmIChjb250
ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpKSB7CisgICAgICAgIGNvbnRleHQuc2V0Q29u
dGVudGZ1bFBhaW50RGV0ZWN0ZWQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGJv
b2wgY2xpcCA9ICFjb250ZW50UmVjdC5jb250YWlucyhyZWN0KTsKICAgICBHcmFwaGljc0NvbnRl
eHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoY29udGV4dCwgY2xpcCk7CiAgICAgaWYgKGNsaXApCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50ZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRlci5jcHAJKHJldmlzaW9uIDI2
MDU1OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJEaXNwbGF5UnVuLmgiCiAjaW5j
bHVkZSAiRmlsdGVyT3BlcmF0aW9ucy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgor
I2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJJbmxpbmVUZXh0Qm94Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyQ29tYmluZVRleHQuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5o
IgpAQCAtMTA1LDYgKzEwNiwxMyBAQCB2b2lkIFRleHRQYWludGVyOjpwYWludFRleHRPckVtcGhh
c2lzTWFyCiAgICAgZmxvYXQgZW1waGFzaXNNYXJrT2Zmc2V0LCBjb25zdCBGbG9hdFBvaW50JiB0
ZXh0T3JpZ2luLCB1bnNpZ25lZCBzdGFydE9mZnNldCwgdW5zaWduZWQgZW5kT2Zmc2V0KQogewog
ICAgIEFTU0VSVChzdGFydE9mZnNldCA8IGVuZE9mZnNldCk7CisKKyAgICBpZiAobV9jb250ZXh0
LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpKSB7CisgICAgICAgIGlmICghdGV4dFJ1bi50ZXh0
KCkudG9TdHJpbmdXaXRob3V0Q29weWluZygpLmlzQWxsU3BlY2lhbENoYXJhY3RlcnM8aXNIVE1M
U3BhY2U+KCkpCisgICAgICAgICAgICBtX2NvbnRleHQuc2V0Q29udGVudGZ1bFBhaW50RGV0ZWN0
ZWQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmICghZW1waGFzaXNNYXJrLmlz
RW1wdHkoKSkKICAgICAgICAgbV9jb250ZXh0LmRyYXdFbXBoYXNpc01hcmtzKGZvbnQsIHRleHRS
dW4sIGVtcGhhc2lzTWFyaywgdGV4dE9yaWdpbiArIEZsb2F0U2l6ZSgwLCBlbXBoYXNpc01hcmtP
ZmZzZXQpLCBzdGFydE9mZnNldCwgZW5kT2Zmc2V0KTsKICAgICBlbHNlIGlmIChzdGFydE9mZnNl
dCB8fCBlbmRPZmZzZXQgPCB0ZXh0UnVuLmxlbmd0aCgpIHx8ICFtX2dseXBoRGlzcGxheUxpc3Qp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5j
cHAJKHJldmlzaW9uIDI2MDU1OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHUm9vdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRl
ICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVwYWludGVyLmgiCiAjaW5jbHVk
ZSAiUGFnZS5oIgorI2luY2x1ZGUgIlJlbmRlckNoaWxkSXRlcmF0b3IuaCIKICNpbmNsdWRlICJS
ZW5kZXJJdGVyYXRvci5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyTGF5b3V0U3RhdGUuaCIKQEAgLTIxMSw3ICsyMTIsNyBAQCB2b2lkIFJlbmRlclNWR1Jvb3Q6
OnBhaW50UmVwbGFjZWQoUGFpbnRJCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIERvbid0IHBh
aW50LCBpZiB0aGUgY29udGV4dCBleHBsaWNpdGx5IGRpc2FibGVkIGl0LgotICAgIGlmIChwYWlu
dEluZm8uY29udGV4dCgpLnBhaW50aW5nRGlzYWJsZWQoKSkKKyAgICBpZiAocGFpbnRJbmZvLmNv
bnRleHQoKS5wYWludGluZ0Rpc2FibGVkKCkgJiYgIXBhaW50SW5mby5jb250ZXh0KCkuZGV0ZWN0
aW5nQ29udGVudGZ1bFBhaW50KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIFNWRyBvdXRs
aW5lcyBhcmUgcGFpbnRlZCBkdXJpbmcgUGFpbnRQaGFzZTo6Rm9yZWdyb3VuZC4KQEAgLTIyMyw2
ICsyMjQsMTcgQEAgdm9pZCBSZW5kZXJTVkdSb290OjpwYWludFJlcGxhY2VkKFBhaW50SQogICAg
IGlmIChzdmdTVkdFbGVtZW50KCkuaGFzRW1wdHlWaWV3Qm94KCkpCiAgICAgICAgIHJldHVybjsK
IAorICAgIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCA9IHBhaW50SW5mby5jb250ZXh0KCk7Cisg
ICAgaWYgKGNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAgZm9y
IChhdXRvJiBjdXJyZW50IDogY2hpbGRyZW5PZlR5cGU8UmVuZGVyT2JqZWN0PigqdGhpcykpIHsK
KyAgICAgICAgICAgIGlmICghY3VycmVudC5pc1NWR0hpZGRlbkNvbnRhaW5lcigpKSB7CisgICAg
ICAgICAgICAgICAgY29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworICAgICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXR1
cm47CisgICAgfQorCiAgICAgLy8gRG9uJ3QgcGFpbnQgaWYgd2UgZG9uJ3QgaGF2ZSBraWRzLCBl
eGNlcHQgaWYgd2UgaGF2ZSBmaWx0ZXJzIHdlIHNob3VsZCBwYWludCB0aG9zZS4KICAgICBpZiAo
IWZpcnN0Q2hpbGQoKSkgewogICAgICAgICBhdXRvKiByZXNvdXJjZXMgPSBTVkdSZXNvdXJjZXND
YWNoZTo6Y2FjaGVkUmVzb3VyY2VzRm9yUmVuZGVyZXIoKnRoaXMpOwpJbmRleDogU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI2MDU1OSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDQtMTMgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJr
aXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBy
dW50aW1lIGZsYWcgZm9yIHBhaW50LXRpbWluZyAocGFpbnRUaW1pbmdFbmFibGVkKS4KKworICAg
ICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRQYWludFRp
bWluZ0VuYWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5nRW5hYmxl
ZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246
OnVwZGF0ZVByZWZlcmVuY2VzU3RvcmUpOgorCiAyMDIwLTA0LTIyICBSeWFuIEhhZGRhZCAgPHJ5
YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjYw
NTUzLgpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCShyZXZp
c2lvbiAyNjA1NTkpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
CSh3b3JraW5nIGNvcHkpCkBAIC04MzksNiArODM5LDEzIEBAIFVzZXJUaW1pbmdFbmFibGVkOgog
ICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgVXNlclRpbWluZyBBUEkiCiAgIHdl
YmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKK1BhaW50VGltaW5nRW5hYmxl
ZDoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisgIGh1bWFuUmVhZGFibGVO
YW1lOiAiUGFpbnQgVGltaW5nIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUg
UGFpbnQgVGltaW5nIEFQSSIKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMKKwogQmVhY29uQVBJRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRy
dWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuY3BwCShyZXZpc2lvbiAyNjA1NTkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgyMCw2ICsxODIwLDE2IEBA
IGJvb2wgV0tQcmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFcKICAgICByZXR1cm4gdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+dXNlclRpbWluZ0VuYWJsZWQoKTsKIH0KIAordm9pZCBXS1By
ZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYsIGJvb2wgZmxhZykKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRQYWlu
dFRpbWluZ0VuYWJsZWQoZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFBhaW50VGlt
aW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVy
biB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5wYWludFRpbWluZ0VuYWJsZWQoKTsKK30KKwogdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoZmxhZyk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgJKHJl
dmlzaW9uIDI2MDU1OSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXNSZWZQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwMCw2ICs1MDAsMTAgQEAgV0tf
RVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbgogV0tfRVhQT1JUIGJvb2wgV0tQ
cmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCiAvLyBE
ZWZhdWx0cyB0byBmYWxzZQorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFBhaW50VGlt
aW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOworV0tfRVhQT1JUIGJvb2wg
V0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKKwor
Ly8gRGVmYXVsdHMgdG8gZmFsc2UKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRSZXNv
dXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9S
VCBib29sIFdLUHJlZmVyZW5jZXNHZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZik7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAJKHJldmlz
aW9uIDI2MDU1OSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIyLDYgKzEyMiw3
IEBAIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGEKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENhY2hlQVBJRW5hYmxlZChzdG9y
ZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNhY2hlQVBJRW5hYmxlZEtl
eSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRG
ZXRjaEFQSUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
OjpmZXRjaEFQSUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp1c2VyVGltaW5nRW5hYmxlZEtleSgpKSk7CisgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJs
ZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYWludFRpbWlu
Z0VuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6cmVzb3VyY2VUaW1pbmdFbmFibGVkS2V5KCkpKTsKICAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJS2VlcEFsaXZl
RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZldGNo
QVBJS2VlcEFsaXZlRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVzdHJpY3RlZEhUVFBSZXNwb25z
ZUFjY2Vzc0tleSgpKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShyZXZpc2lv
biAyNjA1NTkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxub2Ft
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBw
YWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
ODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBhIHByZWZlcmVuY2Uga2V5IGZvciBwYWludCB0aW1pbmcuCisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAg
ICAgKC1bV2ViUHJlZmVyZW5jZXMgcGFpbnRUaW1pbmdFbmFibGVkXSk6CisgICAgICAgICgtW1dl
YlByZWZlcmVuY2VzIHNldFBhaW50VGltaW5nRW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToK
KwogMjAyMC0wNC0yMiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
W0NvY29hXSBCdWlsZCB3aXRoIFVDaGFyIGFzIGNoYXIxNl90IGV2ZW4gaW4gYnVpbGRzIHRoYXQg
dXNlIEFwcGxlJ3MgaW50ZXJuYWwgU0RLCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlz
aW9uIDI2MDU1OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2MCw2ICsyNjAsNyBAQAogI2Rl
ZmluZSBXZWJLaXRBdHRhY2htZW50RWxlbWVudEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0
QXR0YWNobWVudEVsZW1lbnRFbmFibGVkIgogI2RlZmluZSBXZWJLaXRJbnRlcnNlY3Rpb25PYnNl
cnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFi
bGVkIgogI2RlZmluZSBXZWJLaXRNZW51SXRlbUVsZW1lbnRFbmFibGVkUHJlZmVyZW5jZUtleSBA
IldlYktpdE1lbnVJdGVtRWxlbWVudEVuYWJsZWQiCisjZGVmaW5lIFdlYktpdFBhaW50VGltaW5n
RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRQYWludFRpbWluZ0VuYWJsZWQiCiAjZGVmaW5l
IFdlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFVzZXJUaW1pbmdF
bmFibGVkIgogI2RlZmluZSBXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5
IEAiV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkIgogI2RlZmluZSBXZWJLaXRNZWRpYUNvbnRl
bnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydFByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZWRp
YUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydCIKSW5kZXg6IFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkocmV2aXNpb24g
MjYwNTU5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
cy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjgyLDYgKzY4Miw3IEBAICsgKHZvaWQpaW5pdGlhbGl6
ZQogI2lmIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCiAgICAgICAgIEBOTywgV2ViS2l0
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleSwKICNlbmRpZgorICAgICAg
ICBATk8sIFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBO
TywgV2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdl
YktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2Vi
S2l0TWVkaWFVc2VyR2VzdHVyZUluaGVyaXRzRnJvbURvY3VtZW50LApAQCAtMzMwNiw2ICszMzA3
LDE2IEBAIC0gKHZvaWQpc2V0VXNlclRpbWluZ0VuYWJsZWQ6KEJPT0wpZmxhZwogICAgIFtzZWxm
IF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJl
bmNlS2V5XTsKIH0KIAorLSAoQk9PTClwYWludFRpbWluZ0VuYWJsZWQKK3sKKyAgICByZXR1cm4g
W3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNl
S2V5XTsKK30KKworLSAodm9pZClzZXRQYWludFRpbWluZ0VuYWJsZWQ6KEJPT0wpZmxhZworewor
ICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0UGFpbnRUaW1pbmdFbmFi
bGVkUHJlZmVyZW5jZUtleV07Cit9CisKIC0gKEJPT0wpcmVzb3VyY2VUaW1pbmdFbmFibGVkCiB7
CiAgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UmVzb3VyY2VUaW1pbmdF
bmFibGVkUHJlZmVyZW5jZUtleV07CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHJldmlzaW9uIDI2MDU1
OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTY2MSw2ICs2NjEsNyBAQCBAaW50ZXJmYWNlIFdlYlBy
ZWZlcmVuY2VzIChXZWJQcml2YXRlKQogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wga2V5Z2Vu
RWxlbWVudEVuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCB1c2VyVGltaW5nRW5h
YmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHJlc291cmNlVGltaW5nRW5hYmxlZDsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHBhaW50VGltaW5nRW5hYmxlZDsKIEBwcm9wZXJ0
eSAobm9uYXRvbWljKSBCT09MIGxpbmtQcmVsb2FkRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRv
bWljKSBCT09MIG1lZGlhVXNlckdlc3R1cmVJbmhlcml0c0Zyb21Eb2N1bWVudDsKIEBwcm9wZXJ0
eSAobm9uYXRvbWljKSBCT09MIGlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQ7CkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAy
NjA1NTkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdv
cmtpbmcgY29weSkKQEAgLTMyMDEsNiArMzIwMSw3IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hh
bmdlZDooV2ViUHJlZmVyZW4KIAogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMudXNlclRpbWluZ0VuYWJs
ZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVz
b3VyY2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnJlc291cmNlVGltaW5nRW5hYmxlZCk7Cisg
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWlu
Z0VuYWJsZWQocHJlZmVyZW5jZXMucGFpbnRUaW1pbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChwcmVm
ZXJlbmNlcy5saW5rUHJlbG9hZEVuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuc2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5t
ZWRpYVByZWxvYWRpbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldElzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQocHJlZmVyZW5j
ZXMuaXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93
aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjA1NTkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0wNC0xMyAg
Tm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZD
UCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBwcmVmZXJlbmNlIGtleSBmb3IgcGFpbnQtdGltaW5nLgor
CisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAg
ICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNl
cy5oOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKiBXZWJWaWV3LmNw
cDoKKyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisKKyAgICAg
ICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGw6CisgICAgICAgICogSW50ZXJmYWNl
cy9XZWJLaXQuaWRsOgorICAgICAgICAgICAgICAgIFRvdWNoZWQgdG8gdHJpZ2dlciBidWlsZC4K
KwogMjAyMC0wNC0yMCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CiAK
ICAgICAgICAgQ2xhc3NlcyBtYXJrZWQgZmluYWwgc2hvdWxkIG5vdCB1c2UgcHJvdGVjdGVkIGFj
Y2VzcyBzcGVjaWZpZXIKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVu
Y2VLZXlzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZpc2lvbiAyNjA1NTkpCisrKyBTb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpA
QCAtMTk3LDYgKzE5Nyw4IEBACiAKICNkZWZpbmUgV2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVm
ZXJlbmNlS2V5ICJXZWJLaXRVc2VyVGltaW5nRW5hYmxlZCIKIAorI2RlZmluZSBXZWJLaXRQYWlu
dFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRQYWludFRpbWluZ0VuYWJsZWQiCisK
ICNkZWZpbmUgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0
UmVzb3VyY2VUaW1pbmdFbmFibGVkIgogCiAjZGVmaW5lIFdlYktpdExpbmtQcmVsb2FkRW5hYmxl
ZFByZWZlcmVuY2VLZXkgIldlYktpdExpbmtQcmVsb2FkRW5hYmxlZCIKSW5kZXg6IFNvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHJldmlzaW9uIDI2MDU1OSkKKysr
IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzI2LDYgKzMyNiw4IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZh
dWx0U2UKIAogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRS
ZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKIAor
ICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRQYWludFRpbWlu
Z0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKKwogICAgIENGRGljdGlv
bmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVm
ZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKIAogICAgIENGRGljdGlvbmFyeUFkZFZhbHVl
KGRlZmF1bHRzLCBDRlNUUihXZWJLaXRNZWRpYVByZWxvYWRpbmdFbmFibGVkUHJlZmVyZW5jZUtl
eSksIGtDRkJvb2xlYW5GYWxzZSk7CkBAIC0yNDE0LDYgKzI0MTYsMjAgQEAgSFJFU1VMVCBXZWJQ
cmVmZXJlbmNlczo6cmVzb3VyY2VUaW1pbmdFbgogICAgIHJldHVybiBTX09LOwogfQogCitIUkVT
VUxUIFdlYlByZWZlcmVuY2VzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQoQk9PTCBlbmFibGVkKQor
eworICAgIHNldEJvb2xWYWx1ZShXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5
LCBlbmFibGVkKTsKKyAgICByZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBXZWJQcmVmZXJlbmNl
czo6cGFpbnRUaW1pbmdFbmFibGVkKF9PdXRfIEJPT0wqIGVuYWJsZWQpCit7CisgICAgaWYgKCFl
bmFibGVkKQorICAgICAgICByZXR1cm4gRV9QT0lOVEVSOworICAgICplbmFibGVkID0gYm9vbFZh
bHVlRm9yS2V5KFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpOworICAgIHJl
dHVybiBTX09LOworfQorCiBIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXJ2ZXJUaW1pbmdFbmFi
bGVkKF9PdXRfIEJPT0wqIGVuYWJsZWQpCiB7CiAgICAgaWYgKCFlbmFibGVkKQpJbmRleDogU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCShyZXZpc2lvbiAyNjA1NTkpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zMDMsNiArMzAzLDggQEAgcHVibGljOgogICAgIC8vIElXZWJQcmVmZXJlbmNlc1ByaXZh
dGU4CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGFsbG93VG9wTmF2aWdh
dGlvblRvRGF0YVVSTHMoX091dF8gQk9PTCopOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBzZXRBbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKEJPT0wpOworICAgIHZp
cnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBwYWludFRpbWluZ0VuYWJsZWQoX091dF8g
Qk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRQYWludFRp
bWluZ0VuYWJsZWQoQk9PTCk7CiAKICAgICAvLyBXZWJQcmVmZXJlbmNlcwogCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gMjYwNTU5KQorKysgU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyODQsNiArNTI4
NCwxMSBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlCiAgICAgICAg
IHJldHVybiBocjsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnNldFVzZXJUaW1pbmdFbmFibGVkKCEhZW5hYmxlZCk7CiAKKyAgICBociA9IHByZWZzUHJpdmF0
ZS0+cGFpbnRUaW1pbmdFbmFibGVkKCZlbmFibGVkKTsKKyAgICBpZiAoRkFJTEVEKGhyKSkKKyAg
ICAgICAgcmV0dXJuIGhyOworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0UGFpbnRUaW1pbmdFbmFibGVkKCEhZW5hYmxlZCk7CisKICAgICBociA9IHByZWZz
UHJpdmF0ZS0+cmVzb3VyY2VUaW1pbmdFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVE
KGhyKSkKICAgICAgICAgcmV0dXJuIGhyOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4v
SW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRs
CShyZXZpc2lvbiAyNjA1NTkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2Vz
L0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNjUsNCArMjY1
LDYgQEAgaW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU4IDogSVdlYgogewogICAgIEhS
RVNVTFQgYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhbb3V0LCByZXR2YWxdIEJPT0wqIGVu
YWJsZWQpOwogICAgIEhSRVNVTFQgc2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhbaW5d
IEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBwYWludFRpbWluZ0VuYWJsZWQoW291dCwgcmV0
dmFsXSBCT09MKik7CisgICAgSFJFU1VMVCBzZXRQYWludFRpbWluZ0VuYWJsZWQoW2luXSBCT09M
IGVuYWJsZWQpOwogfQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9X
ZWJLaXQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFj
ZXMvV2ViS2l0LmlkbAkocmV2aXNpb24gMjYwNTU5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93
aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBA
CiAgKi8KIAogY3BwX3F1b3RlKCIvKiIpCi1jcHBfcXVvdGUoIiAqIENvcHlyaWdodCAoQykgMjAw
NiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuIikKK2NwcF9xdW90ZSgiICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAy
MDA5LCAyMDEwLCAyMDE1LCAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4iKQog
Y3BwX3F1b3RlKCIgKiIpCiBjcHBfcXVvdGUoIiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCIpCiBjcHBfcXVvdGUoIiAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyIpCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyNjA1NTkpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxub2Ft
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBw
YWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
ODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBwcmVmZXJlbmNlIGtleSBmb3IgcGFpbnQtdGltaW5nLgorCisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNl
c1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBS
ZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRW
YWx1ZXMpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVmZXJlbmNlc1RvQ29uc2lzdGVu
dFZhbHVlcyk6CisKIDIwMjAtMDQtMjIgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtDb2NvYV0gQnVpbGQgd2l0aCBVQ2hhciBhcyBjaGFyMTZfdCBldmVuIGluIGJ1
aWxkcyB0aGF0IHVzZSBBcHBsZSdzIGludGVybmFsIFNESwpJbmRleDogVG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMjYwNTU5KQorKysgVG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDA0LDYgKzEwMDQsNyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0
CiAgICAgW3ByZWZlcmVuY2VzIHNldE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkOllFU107CiAg
ICAgW3ByZWZlcmVuY2VzIHNldFJlc291cmNlVGltaW5nRW5hYmxlZDpZRVNdOwogICAgIFtwcmVm
ZXJlbmNlcyBzZXRVc2VyVGltaW5nRW5hYmxlZDpZRVNdOworICAgIFtwcmVmZXJlbmNlcyBzZXRQ
YWludFRpbWluZ0VuYWJsZWQ6WUVTXTsKIAogICAgIFtwcmVmZXJlbmNlcyBzZXRDYWNoZUFQSUVu
YWJsZWQ6Tk9dOwogICAgIHByZWZlcmVuY2VzLm1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxlZCA9IFlF
UzsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAko
cmV2aXNpb24gMjYwNTU5KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJU
cmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTAzLDYgKzkwMyw4IEBAIHN0YXRpYyB2b2lkIHJl
c2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3QKICAgICBwcmVmc1ByaXZhdGUtPnNldERhdGFUcmFu
c2Zlckl0ZW1zRW5hYmxlZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGUtPmNsZWFyTmV0d29ya0xv
YWRlclNlc3Npb24oKTsKIAorICAgIHByZWZzUHJpdmF0ZS0+c2V0UGFpbnRUaW1pbmdFbmFibGVk
KFRSVUUpOworCiAgICAgc2V0QWx3YXlzQWNjZXB0Q29va2llcyhmYWxzZSk7CiB9CiAKSW5kZXg6
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyNjA1
NTkpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtOTM2LDYgKzkzNiw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnJlc2V0UHJl
ZmVyZW5jZXNUb0MKICAgICBXS1ByZWZlcmVuY2VzU2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVk
KHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdF
bmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWlu
Z0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOworICAgIFdLUHJlZmVyZW5jZXNTZXRQYWludFRp
bWluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRNZWRp
YVByZWxvYWRpbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2Vz
U2V0TWVkaWFQbGF5YmFja0FsbG93c0lubGluZShwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQ
cmVmZXJlbmNlc1NldElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmli
dXRlKHByZWZlcmVuY2VzLCBmYWxzZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjA1NTkpCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0MyBAQAorMjAy
MC0wNC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1w
bGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3RzIGZvciBzb21lIGZpcnN0LWNv
bnRlbnRmdWwtcGFpbnQgKEZDUCkgdXNlLWNhc2VzLgorICAgICAgICBFbnN1cmUgdGhhdCBGQ1Ag
d29ya3Mgd2VsbCB3aXRoIFZORSAoZmlyc3QgcGFpbnQgZGVsYXkgdW50aWwgY29udGVudHMgYXJl
IHZpc3VhbGx5IG5vbi1lbXB0eSkuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQt
dGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1h
cGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2Ut
YXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzOiBBZGRlZC4KKyAgICAgICAgICAgICAg
ICBUZXN0IGV4aXN0ZW5jZSBvZiBwYWludCB0aW1pbmcgQVBJIG9uIHRoZSB3aW5kb3cgb2JqZWN0
LgorCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJh
bWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0
LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1h
bmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQt
d2l0aC13b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291
cmNlcy9mY3Atc3ViZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBp
L3Jlc291cmNlcy93b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAgICAgICAgICAgVGVzdCB0aGF0
IEZDUCBpcyBub3QgYXZhaWxhYmxlIGZvciBjcm9zcy1vcmlnaW4gZnJhbWVzIGFuZCB3b3JrZXJz
LgorCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0
LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3Jt
YW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LWFwaS11
dGlscy5qczogQWRkZWQuCisgICAgICAgIChhc3luYyB3YWl0Rm9yRkNQKToKKyAgICAgICAgICAg
ICAgICBUZXN0IHRoYXQgcGVyZm9ybWFuY2Ugb2JzZXJ2ZXJzIGFyZSBjYWxsZWQgZm9yIEZDUC4K
KworICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGlt
aW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5n
LWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLWV4cGVjdGVkLnR4dDogQWRk
ZWQKKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c3R5bGUu
cGhwOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9z
dHlsZS5jc3M6ICBBZGRlZC4KKyAgICAgICAgICAgICAgICBJZiBhIHBlbmRpbmcgc3R5bGVzaGVl
dCBibG9ja3MgcGFpbnRpbmcsIG1ha2Ugc3VyZSBGQ1AgaXMgcmVwb3J0ZWQgb25seSBhZnRlciBz
dHlsZXNoZWV0IGhhcyBsb2FkZWQuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNl
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGlt
aW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2UvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVy
LXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dzY3JpcHQucGhwOiBBZGRlZC4K
KyAgICAgICAgICAgICAgICBJZiBWTkUgZHVlIHRvIG51bWJlciBvZiBjaGFyYWN0ZXJzIGJsb2Nr
cyBwYWludGluZywgbWFrZSBzdXJlIEZDUCBpcyByZXBvcnRlZCBvbmx5IGFmdGVyIHBhaW50aW5n
IGlzIHVuYmxvY2tlZC4KKwogMjAyMC0wNC0yMyAgRGllZ28gUGlubyBHYXJjaWEgIDxkcGlub0Bp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gR2FyZGVuaW5nLCB1cGRhdGUgYmFzZWxp
bmVzIGFuZCB0ZXN0IGV4cGVjdGF0aW9ucwpJbmRleDogTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0
aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lv
biAyNjA1NTkpCisrKyBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkp
CkBAIC0yMDcsNiArMjA3LDkgQEAgZmFzdC92aXN1YWwtdmlld3BvcnQvcnViYmVyYmFuZGluZy12
aWV3cAogIyBEYXRhRGV0ZWN0b3JzIHRlc3RzIG9ubHkgbWFrZSBzZW5zZSBvbiBNYWMKIGZhc3Qv
ZXZlbnRzL2RvLW5vdC1kcmFnLWFuZC1kcm9wLWRhdGEtZGV0ZWN0b3JzLWxpbmsuaHRtbCBbIFNr
aXAgXQogCisjIEEgcm91bmRpbmcgZXJyb3IgbWF5IGNhdXNlIDkwZGVnIDNkLXJvdGF0ZWQgZWxl
bWVudHMgdG8gY291bnQgYXMgcGFpbnRlZAoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFu
dC5odG1sCisKIHdlYmtpdC5vcmcvYi8yMDI2MTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9waWN0dXJlLWluLXBpY3R1cmUgWyBTa2lwIF0KIAogIyBQaVAgQVBJIHRlc3RzIGFyZSBv
bmx5IHJlbGV2YW50IG9uIG1hYyBhbmQgaVBhZApJbmRleDogTGF5b3V0VGVzdHMvdGVzdHMtb3B0
aW9ucy5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgko
cmV2aXNpb24gMjYwNTU5KQorKysgTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNyw2ICsxNyw5IEBACiAgICAgImltcG9ydGVkL3czYy9jc3MvY3NzLXZh
bHVlcy92aF9ub3RfcmVmcmVzaGluZ19vbl9jaHJvbWUuaHRtbCI6IFsKICAgICAgICAgInNsb3ci
CiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3BhaW50LXRpbWluZy9maXJzdC1pbWFnZS1jaGls
ZC5odG1sIjogWworICAgICAgICAic2xvdyIKKyAgICBdLAogICAgICJpbXBvcnRlZC93M2Mvd2Vi
LWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvdXBkYXRpbmctdGhlLWZpbmlzaGVk
LXN0YXRlLmh0bWwiOiBbCiAgICAgICAgICJzbG93IgogICAgIF0sCkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0
ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFp
bnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3Jt
YW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0
eS1mb3ItbnVtLWNoYXJzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMg
QEAKK1BBU1MgcGFpbnRFbnRyeS5zdGFydFRpbWUgPiB0aW1lc3RhbXBzW2V4cGVjdGVkSXRlcmF0
aW9uc10gaXMgdHJ1ZQorUEFTUyBwYWludEVudHJ5LnN0YXJ0VGltZSA8IHRpbWVzdGFtcHNbZXhw
ZWN0ZWRJdGVyYXRpb25zICsgMl0gaXMgdHJ1ZQorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFs
bHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0
ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRp
bWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDczIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKQorICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICB9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHZhciBzdHlsZUVudHJ5ID0gbnVsbAor
ICAgIHZhciBwYWludEVudHJ5ID0gbnVsbAorICAgIHZhciB0aW1lc3RhbXBzID0gW10KKyAgICB2
YXIgY2hhcnNQZXJJdGVyYXRpb24gPSA4MAorICAgIHZhciBjaGFyVGhyZXNob2xkID0gMjAwCisg
ICAgdmFyIGV4cGVjdGVkSXRlcmF0aW9ucyA9IE1hdGguY2VpbChjaGFyVGhyZXNob2xkIC8gY2hh
cnNQZXJJdGVyYXRpb24pCisKKyAgICBmdW5jdGlvbiBzbG93U3RyaW5nKHN0ciwgZGVsYXkpIHsK
KyAgICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JykK
KyAgICAgICAgY29uc3Qgc291cmNlID0gYGRvY3VtZW50LndyaXRlKCcke3N0cn0nKTsgdGltZXN0
YW1wcy5wdXNoKCR7cGVyZm9ybWFuY2Uubm93KCl9KTsgY2hlY2soKTtgCisgICAgICAgIHNjcmlw
dC5zcmMgPSBgLi9yZXNvdXJjZXMvc2xvd3NjcmlwdC5waHA/Y2FjaGVCdXN0ZXI9JHtwZXJmb3Jt
YW5jZS5ub3coKX0mZGVsYXk9JHtkZWxheX0mc2NyaXB0PSR7c291cmNlfWAKKyAgICAgICAgZG9j
dW1lbnQud3JpdGUoc2NyaXB0Lm91dGVySFRNTCkKKyAgICB9CisKKyAgICBmdW5jdGlvbiBjaGVj
aygpIHsKKyAgICAgICAgaWYgKHRpbWVzdGFtcHMubGVuZ3RoIDwgZXhwZWN0ZWRJdGVyYXRpb25z
ICsgMyB8fCAhcGFpbnRFbnRyeSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBkb2N1
bWVudC5ib2R5LmlubmVyVGV4dCA9ICcnCisKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJwYWludEVu
dHJ5LnN0YXJ0VGltZSA+IHRpbWVzdGFtcHNbZXhwZWN0ZWRJdGVyYXRpb25zXSIpCisgICAgICAg
IHNob3VsZEJlVHJ1ZSgicGFpbnRFbnRyeS5zdGFydFRpbWUgPCB0aW1lc3RhbXBzW2V4cGVjdGVk
SXRlcmF0aW9ucyArIDJdIikKKyAgICAgICAgCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpCisgICAgfQorCisgICAgY29u
c3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+IHsKKyAgICAgICAg
cGFpbnRFbnRyeSA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3BhaW50JylbMF0KKyAg
ICAgICAgaWYgKHBhaW50RW50cnkpCisgICAgICAgICAgICBjaGVjaygpCisgICAgfSk7CisgICAg
b2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJwYWludCJdfSkKKworICAgIGZ1bmN0aW9u
IG5leHQoKSB7CisgICAgICAgIHNsb3dTdHJpbmcoJ1x0ICcgKyBBcnJheShjaGFyc1Blckl0ZXJh
dGlvbiAvIDIpLmZpbGwoJyAwIFx0IEEnKS5qb2luKCcnKSArICIgICBcblx0IiwgMC4zLCBjaGFy
c1Blckl0ZXJhdGlvbikKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxz
Y3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8
c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAg
PHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAg
IDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAg
ICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4K
KyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+
CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0
PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWlu
Zy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5j
ZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUtZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9y
bWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1w
dHktZm9yLXN0eWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIgQEAK
K1BBU1MgcGFpbnRFbnRyeS5zdGFydFRpbWUgPj0gc3R5bGVFbnRyeS5zdGFydFRpbWUgKyBzdHls
ZUVudHJ5LmR1cmF0aW9uIGlzIHRydWUKK1RFWFQKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxs
eS1ub24tZW1wdHktZm9yLXN0eWxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZp
c3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3At
YWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+
CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpCisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKzwvc2Ny
aXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisgICAgdmFyIHN0eWxlRW50cnkgPSBudWxsOworICAgIHZhciBwYWlu
dEVudHJ5ID0gbnVsbDsKKyAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2Vy
dmVyKGxpc3QgPT4geworICAgICAgICBjb25zdCBwYWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlUeXBlKCdwYWludCcpOworICAgICAgICBpZiAocGFpbnRFbnRyaWVzLmxlbmd0
aCkKKyAgICAgICAgICAgIHBhaW50RW50cnkgPSBwYWludEVudHJpZXNbMF07CisKKyAgICAgICAg
Y29uc3QgcmVzb3VyY2VFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVz
b3VyY2UnKS5maWx0ZXIociA9PiByLm5hbWUuaW5jbHVkZXMoJ3Nsb3dzdHlsZS5waHAnKSk7Cisg
ICAgICAgIGlmIChyZXNvdXJjZUVudHJpZXMubGVuZ3RoKQorICAgICAgICAgICAgc3R5bGVFbnRy
eSA9IHJlc291cmNlRW50cmllc1swXTsKKworICAgICAgICBpZiAoIXN0eWxlRW50cnkgfHwgIXBh
aW50RW50cnkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJw
YWludEVudHJ5LnN0YXJ0VGltZSA+PSBzdHlsZUVudHJ5LnN0YXJ0VGltZSArIHN0eWxlRW50cnku
ZHVyYXRpb24iKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfSk7CisgICAg
b2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJwYWludCIsICJyZXNvdXJjZSJdfSk7Cis8
L3NjcmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi9yZXNvdXJjZXMvc2xvd3N0
eWxlLnBocD9kZWxheT0wLjUiIC8+Cis8L2hlYWQ+Cis8Ym9keT4KK1RFWFQKKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2Vz
L3Nsb3dzY3JpcHQucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVy
Zm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dzY3JpcHQucGhwCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dzY3JpcHQucGhwCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOSBAQAorPD9waHAKK2lmIChpc3NldCgkX0dFVFsiZGVs
YXkiXSkpCisgICAgc2xlZXAoJF9HRVRbImRlbGF5Il0pOworaGVhZGVyKCdDYWNoZS1Db250cm9s
OiBuby1jYWNoZSwgbXVzdC1yZXZhbGlkYXRlJyk7CitoZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4
dC9qYXZhc2NyaXB0Jyk7CisKK2VjaG8oJF9HRVRbInNjcmlwdCJdKQorPz4KKwpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3N0eWxlLnBocAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNl
cy9zbG93c3R5bGUucGhwCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
cGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dzdHlsZS5waHAJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw2IEBACis8P3BocAoraWYgKGlzc2V0KCRfR0VUWyJkZWxheSJdKSkKKyAgICBzbGVlcCgk
X0dFVFsiZGVsYXkiXSk7CitoZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBtdXN0LXJl
dmFsaWRhdGUnKTsKK2hlYWRlcignTG9jYXRpb246IHN0eWxlLmNzcycpOworPz4KSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3N0eWxlLmNzcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9z
dHlsZS5jc3MJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3Jt
YW5jZS9yZXNvdXJjZXMvc3R5bGUuY3NzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAor
Ym9keSB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4KK307ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
NjA1NTkpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsODUgQEAKKzIwMjAtMDQtMjEgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3
ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0
OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBv
cnRlZCB3M2MgdGVzdHMgZm9yIGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgYW5kIHVwZGF0ZWQgdGVz
dCBoYXJuZXNzLgorCisgICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNv
bjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
YWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3
by1zdGVwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNh
bnZhcy1jb250ZXh0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3Jh
ZGllbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWlu
dmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRl
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRy
YW5zaXRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS10ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LW91dC1vZi1ib3VuZHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtb3BhY2l0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0
eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4
dC1pbnB1dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dy
YXBoaWMtcHNldWRvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXdpdGgtcnRsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS93M2MtaW1w
b3J0LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmc6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1w
YWludGluZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpz
OiBBZGRlZC4KKyAgICAgICAgKHdhaXRGb3JBbmltYXRpb25GcmFtZXMpOgorICAgICAgICAoYXN5
bmMgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCk6CisgICAgICAgIChhc3luYyBhc3NlcnRG
aXJzdENvbnRlbnRmdWxQYWludC5yZXR1cm4ubmV3LlByb21pc2UpOgorICAgICAgICAoYXN5bmMg
YXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAgICAoYXN5bmMgdGVzdF9mY3ApOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM6Cisg
ICAgICAgIChwcm9taXNlX3JlamVjdHNfanMpOgorICAgICAgICAocHJvbWlzZV9yZWplY3RzX2Rv
bSk6CisgICAgICAgIChwcm9taXNlX3JlamVjdHNfZXhhY3RseSk6CisgICAgICAgIChmb3JtYXRf
dmFsdWUpOgorCiAyMDIwLTA0LTIyICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBs
ZS5jb20+CiAKICAgICAgICAgVXBkYXRlIGRvbS9ldmVudHMvRXZlbnQtZGlzcGF0Y2gtcmVkaXNw
YXRjaC5odG1sIGZyb20gdXBzdHJlYW0gV1BUCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgko
cmV2aXNpb24gMjYwNTU5KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9p
bXBvcnQtZXhwZWN0YXRpb25zLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTEzLDYgKzEzLDExIEBA
CiAgICAgImNzcy9nZW9tZXRyeSI6ICJpbXBvcnQiLCAKICAgICAiY3NzL3N1cHBvcnQiOiAiaW1w
b3J0IiwgCiAgICAgImN1c3RvbS1lbGVtZW50cyI6ICJpbXBvcnQiLCAKKyAgICAicGFpbnQtdGlt
aW5nLyI6ICJpbXBvcnQiLCAKKyAgICAicGFpbnQtdGltaW5nL2ZjcC1vbmx5IjogImltcG9ydCIs
IAorICAgICJwYWludC10aW1pbmcvcmVzb3VyY2VzIjogImltcG9ydCIsIAorICAgICJwYWludC10
aW1pbmcvcmVzb3VyY2VzLyI6ICJpbXBvcnQiLCAKKyAgICAicmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIjogImltcG9ydCIsIAogICAgICJzaGFkb3ctZG9tIjogImltcG9ydCIsIAogICAgICJ0b29s
cyI6ICJpbXBvcnQiLCAKICAgICAid2ViLWFuaW1hdGlvbnMiOiAiaW1wb3J0IiwgCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBiYWNrZ3JvdW5kIHNpemUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1z
aXplLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRp
dGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tncm91bmQg
c2l6ZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVs
YXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7Cisg
ICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwg
Y2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVu
dGZ1bCB7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOworICAgIH0KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2Ny
aXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemUuIik7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0
LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldDwvdGl0bGU+Cis8
c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGlu
IHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgYmFj
a2dyb3VuZC1pbWFnZTogLXdlYmtpdC1pbWFnZS1zZXQodXJsKC4uL3Jlc291cmNlcy9jaXJjbGVz
LnBuZykgMXgpOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS1zZXQodXJsKC4uL3Jl
c291cmNlcy9jaXJjbGVzLnBuZykgMXgpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFp
biI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdlLXNldC4iKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVw
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1z
dGVwcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdl
LXR3by1zdGVwcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dyb3VuZCBpbWFnZSBv
bmx5IHdoZW4gdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3Rl
cHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+
Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgZmlyZSBm
b3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBhbmQgcHJlRkNQIGNsYXNzZXMgYXJlIGRlZmlu
ZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLnByZUZDUCB7CisgICAgICAgIHZp
c2liaWxpdHk6IGhpZGRlbjsKKyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVsLCAgI21haW4u
cHJlRkNQIHsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJj
bGVzLnBuZyk7CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHZpc2li
aWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4K
KzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZm9y
IGJhY2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGUuIik7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ2FudmFzIHNob3Vs
ZCBjb3VudCBhcyBjb250ZW50ZnVsIHdoZW4gY29udGV4dCBpcyBjcmVhdGVkIAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtY2FudmFzLWNvbnRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2Fu
dmFzLWNvbnRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBG
Q1Agd2hlbiBjYW52YXMgY29udGV4dCBpcyBjcmVhdGVkPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Y2FudmFzIGlkPSJj
YW52YXMiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8c2NyaXB0PgorICBwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVy
Zm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7Cisg
ICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcs
IHIpKTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAgIGNv
bnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYW52YXMnKTsKKyAgICBjb25z
dCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CisgICAgY29udGV4dC5maWxsUmVj
dCgwLCAwLCAxMDAsIDEwMCk7CisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQo
dCk7CisgIH0sICdDYW52YXMgc2hvdWxkIGNvdW50IGFzIGNvbnRlbnRmdWwgd2hlbiBjb250ZXh0
IGlzIGNyZWF0ZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1ncmFkaWVudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdy
YWRpZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFT
UyBHcmFkaWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsIAorCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtZ3JhZGllbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGll
bnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRp
dGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIG5vdCBmaXJlIHdp
dGggZ3JhZGllbnQtb25seSBiYWNrZ3JvdW5kczwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIG9yYW5nZSwgYmx1
ZSk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+Cisg
IHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24od2lu
ZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVk
LiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQo
dCk7CisgIH0sICAnR3JhZGllbnRzIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bCcpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4dAorCitQQVNT
IEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5n
IHJvdGF0aW5nIGludG8gdmlldy4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qt
cm90YXRlLWRlc2NlbmRhbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFu
Y2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gM2QgcmV2ZWFsaW5nIG9mIGRlc2NlbmRh
bnRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsK
KyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3Np
dGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgdHJhbnNmb3JtOiByb3Rh
dGVYKDQ1ZGVnKTsKKyAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKKyAgICB9
CisKKyAgICAvKgorICAgICAgIFRoaXMgdGVzdHMgdGhhdCBnaXZlbiBtdWx0aXBsaWNhdGlvbiBl
ZmZlY3Qgb2YgM2QgdHJhbnNmb3JtcyBvbiBib3VuZGluZyByZWN0LAorICAgICAgIEFuIGVsZW1l
bnQgY291bnRzIGFzIGNvbnRlbnRmdWwvcGFpbnRhYmxlIG9ubHkgd2hlbiBpdHMgYm91bmRpbmcg
cmVjdCBpcyB0cnVseSBub24tZW1wdHkgKi8KKyAgICAjY2hpbGQgeworICAgICAgICB0cmFuc2Zv
cm06IHJvdGF0ZVgoNDVkZWcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMg
ZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7Cisg
ICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4i
PgorICAgIDxkaXYgaWQ9ImNoaWxkIj5UZXh0PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAg
dGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3Rv
ciBnZXR0aW5nIHJvdGF0aW5nIGludG8gdmlldy4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1Mg
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gM2Qgcm90YXRpb24gaW50byB2aWV3
LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJm
b3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZp
ZXc8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5z
Zm9ybTogcm90YXRlWSg5MGRlZyk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAg
ICAgdG9wOiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBp
biB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRy
YW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRleHQ8L2Rp
dj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldy4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIGR1ZSB0byBzY2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4gCisKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRp
b24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQ
QVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcgdHJh
bnNpdGlvbi4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlv
bi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNp
dGlvbi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUt
dHJhbnNpdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZD
UCBpbiB0cmFuc2l0aW9uPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4Owor
ICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zv
cm0gMXM7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAg
IH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3Jp
cHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogc2NhbGUo
MSk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj5URVhUPC9kaXY+Cis8c2NyaXB0
PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4gcmV2ZWFs
ZWQgZHVyaW5nIHRyYW5zaXRpb24uIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5n
IFRlc3Q6IEZDUCBkdWUgdG8gc2NhbGUgY2hhbmdlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFp
biB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAgICAgICBwb3Np
dGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFn
ZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVu
dGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5j
b250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0Pgor
PGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBzY2FsZSBiZWNvbWluZyBwb3NpdGl2ZS4iKQorPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRl
eHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4
dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10
ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK0lOVklTSUJM
RQorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVt
ZW50IGJlY29taW5nIHZpc2libGUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRl
eHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxkIHN0aWxsIGZpcmUgZm9y
IGludmlzaWJsZSB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBv
c2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgICAgIGNvbG9yOiByZ2Jh
KDAsIDAsIDAsIDApOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5l
ZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAg
IHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4K
KyAgICBJTlZJU0lCTEUKKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJs
ZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIGR1ZSB0byBhbmNlc3RvciBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAg
ICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAg
IHRvcDogMDsKKyAgICB9CisKKyAgICAjY2hpbGQgeworICAgICAgICBvcGFjaXR5OiAwOworICAg
IH0KKworICAgIC8qIGNvbnRlbnRmdWwgYW5kIGludGVybWVkaWF0ZSBjbGFzc2VzIGFyZSBkZWZp
bmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICNjaGlsZCB7
CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorCisgICAgI21haW4uaW50ZXJtZWRpYXRlICNj
aGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorCisgICAgI21haW4uaW50ZXJtZWRp
YXRlIHsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAjbWFpbi5jb250ZW50ZnVs
IHsKKyAgICAgICAgb3BhY2l0eTogMC41OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFp
biI+CisgICAgPGRpdiBpZD0iY2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAg
ICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2Vz
dG9yIGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gb3BhY2l0
eS1yZXZlYWxlZCBlbGVtZW50LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIGR1ZSB0byBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7
CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
bGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsK
KyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7
CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBp
cyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsK
KyAgICAgICAgb3BhY2l0eTogMC4xOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVsZW1lbnQuIik7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiAKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlv
biB3aXRoIGRvY3VtZW50LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJh
bnNsYXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJh
bnNsYXRlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMt
dHJhbnNsYXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IGR1ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQ8L3RpdGxl
PgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogdHJh
bnNsYXRlKC0xMDAwcHgpOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRv
cDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVz
LnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRl
c3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNm
b3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2Ny
aXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byB0
cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIikKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5j
ZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVu
dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7Cisg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IC0xMDAwcHg7CisgICAgICAgIHBv
c2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWlt
YWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250
ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWlu
LmNvbnRlbnRmdWwgeworICAgICAgICBsZWZ0OiAwcHg7CisgICAgfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2
IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgZmlyZXMgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiIpCis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC1kaXNwbGF5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRv
IHBzZXVkby1lbGVtZW50IHRleHQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtZGlzcGxheS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC1kaXNwbGF5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LWRpc3BsYXkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBG
Q1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWlu
IHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7Cisg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIgeworICAgICAg
ICBjb250ZW50OiAiVEVYVCI7CisgICAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAg
LyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAg
ICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0
X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQg
dGV4dC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1pbWFnZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1pbWFnZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1pbWFnZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9D
VFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6
IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgaW1hZ2U8L3RpdGxlPgorPHN0eWxlPgorICAgICNt
YWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7
CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFz
cyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVs
OmFmdGVyIHsKKyAgICAgICAgY29udGVudDogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7
CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91
dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAg
ICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVs
ZW1lbnQgaW1hZ2UuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZlIG9w
YWNpdHkuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVk
by1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eTwvdGl0bGU+Cis8c3R5bGU+CisgICAg
I21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBw
eDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7Cisg
ICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAg
ICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLwor
ICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBvcGFjaXR5OiAwLjU7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0
X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQg
Z2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50
IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQ8L3RpdGxlPgorPHN0
eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3
aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29u
dGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFp
bi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiCisgICAgfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgi
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4i
KQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIAorCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1l
bGVtZW50IGJlY29taW5nIHZpc2libGU8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAg
ICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBjb250
ZW50OiAiVEVYVCI7CisgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICB9CisKKyAgICAv
KiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAg
ICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwor
ICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRp
bHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAg
dGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVt
ZW50IGJlY29taW5nIHZpc2libGUuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXN2Zy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIFNWRyBiZWNvbWVzIGNvbnRlbnRmdWwuIAorCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2
Zy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBl
cmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agd2l0aCBTVkc8L3RpdGxlPgorPHN0eWxl
PgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAg
ICB9CisKKyAgICAjY2lyY2xlIHsKKyAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAg
LyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAg
ICAjbWFpbi5jb250ZW50ZnVsICNjaXJjbGUgeworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAg
ICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxz
LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICA8c3ZnIHZpZXdCb3g9IjAgMCAxMCAx
MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgorICAgICB4bWxuczp4bGluaz0i
aHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CisgICAgPGRlZnM+CisgICAgICA8Y2lyY2xl
IGlkPSJteUNpcmNsZSIgY3g9IjUiIGN5PSI1IiByPSI0IiBzdHJva2U9ImJsdWUiLz4KKyAgICA8
L2RlZnM+CisgICAgPHVzZSBpZD0iY2lyY2xlIiBocmVmPSIjbXlDaXJjbGUiIGZpbGw9ImdyZWVu
IiAvPgorICA8L3N2Zz4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIFNWRyBiZWNvbWVzIGNvbnRlbnRmdWwuIikKKzwvc2Ny
aXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFRleHQgaW5wdXQg
c2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gaXRzIHZhbHVlIGlzIG5vbi1lbXB0eSAKKwpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdGV4dC1pbnB1dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0
LWlucHV0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1
ZSBmb3Igbm9uLWVtcHR5IHRleHQgaW5wdXQ8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxpbnB1dCBpZD0iaW5wdXQiIHR5
cGU9InRleHQiIC8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAg
ICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFp
bnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIg
PT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3Nl
cnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnaW5wdXQnKTsKKyAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgndmFs
dWUnLCAnICAnKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCk7
CisgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ3ZhbHVlJyk7CisgICAgICBhd2Fp
dCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgJ1RleHQgaW5wdXQgc2hvdWxk
IGJlY29tZSBjb250ZW50ZnVsIHdoZW4gaXRzIHZhbHVlIGlzIG5vbi1lbXB0eScpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNl
dWRvLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMt
cHNldWRvLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dy
YXBoaWMtcHNldWRvLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAK
K0EKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIG9ubHkgd2hlbiBzb21lIG9m
IHRoZSB0ZXh0IGlzIHZpc2libGUsIGNvbnNpZGVyaW5nIDo6Zmlyc3QtbGV0dGVyLiAKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWlu
dCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBub3QgZmlyZSB3aGVuIGFsbCB0ZXh0IGlzIGhpZGRl
biBkdWUgdG8gdHlwb2dyYXBoaWMgcHNldWRvLWVsZW1lbnRzPC90aXRsZT4KKzxzdHlsZT4KKyAg
ICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEw
MHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluICo6OmZpcnN0
LWxldHRlciB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1
bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250
ZW50ZnVsICo6OmZpcnN0LWxldHRlciB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2PkE8L2Rpdj4KKzwvZGl2PgorPHNjcmlw
dD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBvbmx5IHdoZW4g
c29tZSBvZiB0aGUgdGV4dCBpcyB2aXNpYmxlLCBjb25zaWRlcmluZyA6OmZpcnN0LWxldHRlci4i
KQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8t
ZnJhbWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFt
ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1l
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFZp
ZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGZpcnN0IGZyYW1lIGlzIGxvYWRlZCAK
KwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXZpZGVvLWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDog
RkNQIGR1ZSB0byBsb2FkZWQgdmlkZW8gZnJhbWU8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8i
IGF1dG9wbGF5PjwvdmlkZW8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5n
LCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9t
aXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2Fp
dCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAgICAgLy8gU2V0IGFjdHVhbCB2
aWRlbyBjb250ZW50IHRvIHRyaWdnZXIgRkNQLgorICAgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndmlkZW8nKTsKKyAgICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgnc3Jj
JywgJy9tZWRpYS90ZXN0Lm1wNCcpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB7CisgICAgICAgIHZpZGVvLm9uY2FucGxheSA9IHJlc29sdmU7CisgICAgICB9KTsKKyAgICAg
IGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICB9LCAnVmlkZW8gc2hvdWxk
IGJlY29tZSBjb250ZW50ZnVsIHdoZW4gZmlyc3QgZnJhbWUgaXMgbG9hZGVkJyk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVmlkZW8gc2hv
dWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9zdGVyIGlzIGxvYWRlZCAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12
aWRlby1wb3N0ZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9z
dGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0
byBsb2FkZWQgdmlkZW8gcG9zdGVyPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8dmlkZW8gaWQ9InZpZGVvIiB3aWR0aD0i
NTAiIGhlaWdodD0iNTAiPjwvdmlkZW8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMg
dCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRp
bWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgYXdhaXQgbmV3IFBy
b21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICBhd2Fp
dCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAgIGNvbnN0IHZpZGVvID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpZGVvJyk7CisgICAgY29uc3Qgc3JjID0gJy4uL3Jlc291
cmNlcy9jaXJjbGVzLnBuZyc7CisgICAgY29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTsKKyAgICBp
bWFnZS5zcmMgPSBzcmM7CisgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdwb3N0ZXInLCBzcmMpOwor
ICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICBpbWFnZS5vbmxvYWQg
PSBhc3luYyAoKSA9PiByZXNvbHZlKCk7CisgICAgfSkKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENv
bnRlbnRmdWxQYWludCh0KTsKKyAgfSwgJ1ZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3
aGVuIHBvc3RlciBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw0IEBACitURVhUCisKK1BBU1MgV2hpdGVzcGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRl
bnRmdWwuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdoaXRlc3BhY2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBU
ZXN0OiBXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bDwvdGl0bGU+Cis8
c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAg
IHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3Vu
ZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIGJhY2tncm91
bmQtc2l6ZTogMCAwOworICAgIH0KKworICAgICN0ZXh0IHsKKyAgICAgICAgZGlzcGxheTogbm9u
ZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9m
Y3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI3RleHR7CisgICAgICAgIGRpc3Bs
YXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBp
ZD0id2hpdGVzcGFjZSI+ICAgPC9kaXY+CisgICAgPGRpdiBpZD0idGV4dCI+VEVYVDwvZGl2Pgor
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291
bnQgYXMgY29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC13aXRoLXJ0bC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXdpdGgtcnRsLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RF
WFQKKworUEFTUyBGQ1Agc2hvdWxkIGZpcmUgd2hlbiBjb29yZGluYXRlcyBhcmUgbmVnYXRpdmUs
IGlmIHdpdGhpbiBkb2N1bWVudCBzY3JvbGxhYmxlIGFyZWEgCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC13aXRoLXJ0bC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNDEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVy
Zm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gZGlyZWN0aW9uIGNoYW5nZTwv
dGl0bGU+Cis8c3R5bGU+CisgICN0ZXh0IHsKKyAgICByaWdodDogLTEwMHB4OworICAgIHBvc2l0
aW9uOiBhYnNvbHV0ZTsKKyAgfQorCisgIGJvZHkgeworICAgIGRpcmVjdGlvbjogcnRsOworICB9
CisKKyAgI2R1bW15IHsKKyAgICBiYWNrZ3JvdW5kOiB5ZWxsb3c7CisgICAgd2lkdGg6IDEwcHg7
CisgICAgaGVpZ2h0OiAxMHB4OworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICBsZWZ0OiAw
OworICAgIHRvcDogMDsKKyAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJkdW1teSI+PC9kaXY+Cis8
ZGl2IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMg
dCA9PiB7CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50
VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5l
dyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAg
ICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAgICAgZG9jdW1lbnQu
Ym9keS5zdHlsZS5kaXJlY3Rpb24gPSAnbHRyJworICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2R1bW15Jykuc3R5bGUuYmFja2dyb3VuZCA9ICdncmVlbicKKyAgICAgIGF3YWl0IGFzc2Vy
dEZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICB9LCAnRkNQIHNob3VsZCBmaXJlIHdoZW4gY29v
cmRpbmF0ZXMgYXJlIG5lZ2F0aXZlLCBpZiB3aXRoaW4gZG9jdW1lbnQgc2Nyb2xsYWJsZSBhcmVh
Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUu
c3ZnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L3Jlc291cmNlcy9jaXJjbGUuc3ZnCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorPHN2
ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSI+CisgICA8
Y2lyY2xlIGN4PSIxMDAiIGN5PSI1MCIgcj0iNDAiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0
aD0iMiIgZmlsbD0ibm9uZSIgLz4KKzwvc3ZnPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBh
aW50aW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KKzxk
aXYgaWQ9ImltYWdlIj48L2Rpdj4KKzxzY3JpcHQ+CisgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ0lNRycpOworICBpbWcuc3JjID0gJ2NpcmNsZXMucG5nJzsKKyAgaW1nLm9u
bG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGZ1bmN0aW9uIHNlbmRQYWludEVudHJpZXMoKSB7Cisg
ICAgICBjb25zdCBwYWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdw
YWludCcpOworICAgICAgaWYgKHBhaW50RW50cmllcy5sZW5ndGggPCAyKSB7CisgICAgICAgIHNl
dFRpbWVvdXQoc2VuZFBhaW50RW50cmllcywgMjApOworICAgICAgICByZXR1cm47CisgICAgICB9
CisgICAgICBsZXQgZW50cnlDb250ZW50cyA9IHBhaW50RW50cmllcy5sZW5ndGggKyAnJzsKKyAg
ICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFpbnRFbnRyaWVzLmxlbmd0aDsgaSsrKSB7CisgICAg
ICAgIGNvbnN0IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAgICAgICBlbnRyeUNvbnRlbnRz
ICs9ICcgJyArIGVudHJ5LmVudHJ5VHlwZSArICcgJyAgKyBlbnRyeS5uYW1lOworICAgICAgfQor
ICAgICAgcGFyZW50LnBvc3RNZXNzYWdlKGVudHJ5Q29udGVudHMsICcqJyk7CisgICAgfTsKKyAg
ICBzZW5kUGFpbnRFbnRyaWVzKCk7CisgIH07CisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdp
bWFnZScpLmFwcGVuZENoaWxkKGltZyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9y
ZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdD4KKyAgc2VsZi5hZGRFdmVudExp
c3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZSkgeworICAgIC8vIFNlbmQgcGFpbnQtdGltaW5n
IGVudHJpZXMgdXBvbiByZWNlaXZpbmcgYSBtZXNzYWdlLgorICAgIGNvbnN0IHBhaW50RW50cmll
cyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3BhaW50Jyk7CisgICAgbGV0IGVudHJ5
Q29udGVudHMgPSBwYWludEVudHJpZXMubGVuZ3RoICsgJyc7CisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgIGNvbnN0IGVudHJ5ID0gcGFp
bnRFbnRyaWVzW2ldOworICAgICAgZW50cnlDb250ZW50cyArPSAnICcgKyBlbnRyeS5lbnRyeVR5
cGUgKyAnICcgICsgZW50cnkubmFtZTsKKyAgICB9CisgICAgcGFyZW50LnBvc3RNZXNzYWdlKGVu
dHJ5Q29udGVudHMsICcqJyk7CisgIH0pOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRp
bHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L3Jlc291cmNlcy91dGlscy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ4IEBACitmdW5j
dGlvbiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKGNvdW50KSB7CisgIHJldHVybiBuZXcgUHJvbWlz
ZShyZXNvbHZlID0+IHsKKyAgICBpZiAoY291bnQtLSA8PSAwKSB7CisgICAgICByZXNvbHZlKCk7
CisgICAgfSBlbHNlIHsKKyAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAg
ICAgIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoY291bnQpLnRoZW4ocmVzb2x2ZSk7CisgICAgICB9
KTsKKyAgICB9CisgIH0pOworfQorCisvLyBBc3NlcnRzIHRoYXQgdGhlcmUgaXMgY3VycmVudGx5
IG5vIEZDUCByZXBvcnRlZC4gUGFzcyB0IHRvIGFkZCBzb21lIHdhaXQsIGluIGNhc2UgQ1NTIGlz
IGxvYWRlZAorLy8gYW5kIEZDUCBpcyBpbmNvcnJlY3RseSBmaXJlZCBhZnRlcndhcmRzLgorYXN5
bmMgZnVuY3Rpb24gYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KSB7CisgIGF3YWl0IHdh
aXRGb3JBbmltYXRpb25GcmFtZXMoMyk7CisgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZ2V0
RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0aCwgMCwgJ0ZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgbWFya2VkIHRvbyBlYXJseS4gJyk7Cit9CisKKy8vIEZ1bmN0aW9u
IHRoYXQgaXMgcmVzb2x2ZWQgb25jZSBGQ1AgaXMgcmVwb3J0ZWQsIHVzaW5nIFBlcmZvcm1hbmNl
T2JzZXJ2ZXIuIEl0IHJlamVjdHMgYWZ0ZXIgYSBsb25nCisvLyB3YWl0IHRpbWUgc28gdGhhdCBm
YWlsaW5nIHRlc3RzIGRvbid0IHRpbWVvdXQuCithc3luYyBmdW5jdGlvbiBhc3NlcnRGaXJzdENv
bnRlbnRmdWxQYWludCh0KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlICA9PiB7Cisg
ICAgZnVuY3Rpb24gY2hlY2tGQ1AoKSB7CisgICAgICBpZiAocGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0aCA9PT0gMSkgeworICAgICAg
ICByZXNvbHZlKCk7CisgICAgICB9IGVsc2UgeworICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJh
bWUoY2hlY2tGQ1ApCisgICAgICB9CisgICAgfQorICAgIHQuc3RlcChjaGVja0ZDUCk7CisgIH0p
OworfQorCithc3luYyBmdW5jdGlvbiB0ZXN0X2ZjcChsYWJlbCkgeworICBjb25zdCBzdHlsZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CisgIGRvY3VtZW50LmhlYWQuYXBwZW5k
Q2hpbGQoc3R5bGUpOworICBhd2FpdCBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNz
ZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRp
bWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgY29uc3QgbWFpbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdtYWluJyk7CisgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVu
dGZ1bFBhaW50KHQpOworICAgIG1haW4uY2xhc3NOYW1lID0gJ3ByZUZDUCc7CisgICAgYXdhaXQg
YXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgICBtYWluLmNsYXNzTmFtZSA9ICdj
b250ZW50ZnVsJzsKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAg
fSwgbGFiZWwpOworfQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMv
dzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMSBAQAorVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1
Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5
IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6Cisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
cmVzb3VyY2VzL2NpcmNsZS5zdmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmcKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMv
c3ViZnJhbWUtcGFpbnRpbmcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFw
aXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKK0Jhc2ljIElu
dGVyZmFjZSB0ZXN0IGZvciBwYWludC10aW1pbmcgQVBJcy4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcKK1BBU1MgUGVyZm9ybWFuY2VQYWlu
dFRpbWluZyBpcyBkZWZpbmVkLgorUEFTUyBQZXJmb3JtYW5jZVBhaW50VGltaW5nLnByb3RvdHlw
ZS50b0pTT04gaXMgZGVmaW5lZC4KK1BBU1MgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAo
ZXZhbHVhdGluZyAnbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKScpLgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BhaW50LXRp
bWluZy1hcGkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwyMCBAQAorUGFpbnQgQVBJIHNob3VsZCBiZSBhdmFpbGFibGUgZm9yIHNhbWUtb3JpZ2luIGZy
YW1lcyBidXQgbm90IHRvIGNyb3NzLW9yaWdpbi9zYW5kYm94ZWQgZnJhbWVzLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyByZWNlaXZlZEV2ZW50LnNvdXJjZSBpcyBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJykuY29udGVudFdpbmRvdworUEFTUyBy
ZWNlaXZlZEVudHJ5Lm5hbWUgaXMgJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnCitQQVNTIGRpZFJl
Y2VpdmVNZXNzYWdlRnJvbVNhbmRib3hlZElmcmFtZSBpcyBmYWxzZQorUEFTUyBBcnJheS5pc0Fy
cmF5KG5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcykgaXMgdHJ1ZQorUEFTUyBBcnJheS5pc0FycmF5
KHNhbmRib3hTdXBwb3J0ZWRUeXBlcykgaXMgdHJ1ZQorUEFTUyBkaWRSZWNlaXZlTWVzc2FnZSBp
cyB0cnVlCitQQVNTIG5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBp
cyB0cnVlCitQQVNTIHNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyBm
YWxzZQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2Fs
bGJhY2sgd2FzIGZpcmVkIGZvciBzYW1lLW9yaWdpbiBmcmFtZSBidXQgbm90IGZvciBjcm9zcy1v
cmlnaW4gZnJhbWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCisKK1RFWFQKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10
aW1pbmctZnJhbWVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CisgICAgPGlmcmFtZSB3aWR0aD0iMTAw
IiBoZWlnaHQ9IjEwMCIgaWQ9Im5vblNhbmRib3hlZCIgc3JjPSIuL3Jlc291cmNlcy9mY3Atc3Vi
ZnJhbWUuaHRtbCI+PC9pZnJhbWU+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorPGlmcmFt
ZSBpZD0ic2FuZGJveGVkIiBzcmM9Ii4vcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sIiBzYW5k
Ym94PSJhbGxvdy1zY3JpcHRzIj48L2lmcmFtZT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+
CisKKyAgICBURVhUCisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiUGFpbnQgQVBJIHNob3VsZCBi
ZSBhdmFpbGFibGUgZm9yIHNhbWUtb3JpZ2luIGZyYW1lcyBidXQgbm90IHRvIGNyb3NzLW9yaWdp
bi9zYW5kYm94ZWQgZnJhbWVzLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOword2lu
ZG93LmRpZFJlY2VpdmVNZXNzYWdlID0gZmFsc2U7CisKK3dpbmRvdy5vbmxvYWQgPSBhc3luYyAo
KSA9PiB7CisgICAgY29uc3Qgc2FuZGJveGVkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Nh
bmRib3hlZCcpOworICAgIGNvbnN0IG5vblNhbmRib3hlZCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdub25TYW5kYm94ZWQnKTsKKyAgICBjb25zdCBmY3BNZXNzYWdlUHJvbWlzZSA9IG5ldyBQ
cm9taXNlKHJlc29sdmUgPT4geworICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gZXZlbnQgPT4g
eworICAgICAgICAgICAgd2luZG93LnJlY2VpdmVkRXZlbnQgPSBldmVudDsKKyAgICAgICAgICAg
IGNvbnN0IGlzRnJvbVNhbmRib3hlZCA9IGV2ZW50LnNvdXJjZSA9PT0gc2FuZGJveGVkLmNvbnRl
bnRXaW5kb3c7CisgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gSlNPTi5wYXJzZShldmVudC5k
YXRhKTsKKyAgICAgICAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7CisgICAgICAgICAgICAg
ICAgY2FzZSAnc3VwcG9ydGVkJzoKKyAgICAgICAgICAgICAgICAgICAgaWYgKGlzRnJvbVNhbmRi
b3hlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zYW5kYm94U3VwcG9ydGVkVHlw
ZXMgPSBtZXNzYWdlLnN1cHBvcnRlZDsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgICAgICAgICAgd2luZG93Lm5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcyA9IG1lc3Nh
Z2Uuc3VwcG9ydGVkOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICBjYXNlICdyZWNlaXZlZCc6CisgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5kaWRSZWNlaXZl
TWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUgPSBpc0Zyb21TYW5kYm94ZWQ7CisgICAgICAgICAg
ICAgICAgICAgIHdpbmRvdy5yZWNlaXZlZEVudHJ5ID0gbWVzc2FnZS5lbnRyeTsKKyAgICAgICAg
ICAgICAgICAgICAgZGlkUmVjZWl2ZU1lc3NhZ2UgPSB0cnVlOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgncmVjZWl2ZWRFdmVudC5zb3VyY2UnLCAiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ25vblNhbmRib3hlZCcpLmNvbnRlbnRXaW5kb3ciKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoJ3JlY2VpdmVkRW50cnkubmFtZScsICInZmlyc3QtY29udGVudGZ1bC1wYWludCci
KTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICB9KTsKKworICAgIHNhbmRib3hl
ZC5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCJwYWludCIsICIqIik7CisgICAgYXdhaXQgd2Fp
dEZvckZDUCgpOworICAgIG5vblNhbmRib3hlZC5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCJw
YWludCIsICIqIik7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIGF3YWl0IGZjcE1lc3Nh
Z2VQcm9taXNlOworICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVNZXNzYWdlRnJvbVNhbmRi
b3hlZElmcmFtZScpOworICAgIHNob3VsZEJlVHJ1ZSgnQXJyYXkuaXNBcnJheShub25TYW5kYm94
U3VwcG9ydGVkVHlwZXMpJyk7CisgICAgc2hvdWxkQmVUcnVlKCdBcnJheS5pc0FycmF5KHNhbmRi
b3hTdXBwb3J0ZWRUeXBlcyknKTsKKyAgICBzaG91bGRCZVRydWUoJ2RpZFJlY2VpdmVNZXNzYWdl
Jyk7CisgICAgc2hvdWxkQmVUcnVlKCdub25TYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5jbHVkZXMo
InBhaW50IiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCdzYW5kYm94U3VwcG9ydGVkVHlwZXMuaW5j
bHVkZXMoInBhaW50IiknKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIGZp
cnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2FzIGZpcmVkIGZvciBzYW1lLW9yaWdpbiBm
cmFtZSBidXQgbm90IGZvciBjcm9zcy1vcmlnaW4gZnJhbWUiKTsKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK307CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgt
d29ya2VyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDEzIEBACitQYWludCBBUEkgc2hvdWxkIG5vdCBiZSBhdmFpbGFibGUg
aW4gd29ya2VyIGNvbnRleHRzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50
IikgaXMgdHJ1ZQorUEFTUyB3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWlu
dCIpIGlzIGZhbHNlCitQQVNTIHdvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoIm1h
cmsiKSBpcyB0cnVlCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBl
cyBkaWQgbm90IGluY2x1ZGUgJ3BhaW50JyBmb3Igd29ya2VycworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWlu
Zy13aXRoLXdvcmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9D
VFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFw
aS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiUGFpbnQgQVBJIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlIGluIHdvcmtlciBjb250ZXh0
cy4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2NvbnN0IHdvcmtlciA9IG5ldyBX
b3JrZXIoIi4vcmVzb3VyY2VzL3dvcmtlci5odG1sIik7Cit3b3JrZXIub25tZXNzYWdlID0gZXZl
bnQgPT4geworICAgIHdpbmRvdy53b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzID0gSlNPTi5wYXJz
ZShldmVudC5kYXRhKTsKKyAgICBzaG91bGRCZVRydWUoJ1BlcmZvcm1hbmNlT2JzZXJ2ZXIuc3Vw
cG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKScpOworICAgIHNob3VsZEJlRmFsc2Uo
J3dvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICBzaG91
bGRCZVRydWUoJ3dvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoIm1hcmsiKScpOwor
ICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcyBk
aWQgbm90IGluY2x1ZGUgJ3BhaW50JyBmb3Igd29ya2VycyIpOworICAgIGZpbmlzaEpTVGVzdCgp
OworfTsKKword29ya2VyLnBvc3RNZXNzYWdlKCJzdGFydCIpOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1v
YnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3Qt
Y29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKK1BBU1Mg
ZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50IGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2Uu
Z2V0RW50cmllcygpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5h
bWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGggaXMgMQorUEFTUyBwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IiwgInBhaW50IikubGVu
Z3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5sZW5n
dGggaXMgMQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQg
Y2FsbGJhY2sgd2Fzbid0IGZpcmVkIGFnYWluIAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCitURVhUMgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2Jz
ZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50
ZnVsLXBhaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MSBAQAorPCFET0NUWVBF
IEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0
aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCJFbnN1cmUgUGVyZm9ybWFuY2VPYnNlcnZlcnMgYXJlIG5vdGlmaWVkIG9uY2UgZm9yIGZpcnN0
LWNvbnRlbnRmdWwtcGFpbnQuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisgCiso
YXN5bmMgKCkgPT4geworICAgIHdpbmRvdy5kaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQg
PSBmYWxzZTsKKyAgICB3aW5kb3cuc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAg
YXdhaXQgd2FpdEZvckZDUCgpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewor
ICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGVudHJ5TGlz
dCA9PiB7CisgICAgICAgICAgICB3aW5kb3cuZW50cnlMaXN0ID0gZW50cnlMaXN0OworICAgICAg
ICAgICAgc2hvdWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzKCkubGVuZ3RoJywgIjEiKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29u
dGVudGZ1bC1wYWludCIpLmxlbmd0aCcsIDEpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2VudHJ5
TGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCcsICIxIik7CisgICAgICAgICAg
ICB3aW5kb3cuZmNwRW50cnkgPSBlbnRyeUxpc3QuZ2V0RW50cmllcygpWzBdOworICAgICAgICAg
ICAgc2hvdWxkQmVGYWxzZSgnZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50Jyk7CisgICAg
ICAgICAgICBzaG91bGRCZSgnZmNwRW50cnkubmFtZScsICciZmlyc3QtY29udGVudGZ1bC1wYWlu
dCInKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5lbnRyeVR5cGUnLCAnInBhaW50
IicpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdmY3BFbnRyeS5zdGFydFRpbWUgPiB3aW5k
b3cuc3RhcnRUaW1lJyk7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoJ2ZjcEVudHJ5LnN0YXJ0
VGltZSA8IHBlcmZvcm1hbmNlLm5vdygpJyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50
cnkuZHVyYXRpb24nLCAiMCIpOworICAgICAgICAgICAgZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1
bFBhaW50ID0gdHJ1ZTsKKyAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgfSk7CisKKyAg
ICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydwYWludCddfSk7CisgICAgICAg
IGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQnOworICAgIH0pCisgICAgZG9jdW1lbnQu
Ym9keS5pbm5lclRleHQgPSAnVEVYVDInOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBz
aG91bGRCZVRydWUoJ2RpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCcpOworICAgIHNob3Vs
ZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKCkubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRC
ZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIp
Lmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5h
bWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiLCAicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAg
IHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCcs
ICIxIik7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50
ZnVsLXBhaW50IGNhbGxiYWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAiKTsKKyAgICBmaW5pc2hKU1Rl
c3QoKTsKK30pKCk7CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1l
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291
cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACis8
IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGNvbnN0IG9ic2Vy
dmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7CisgICAgICAgIGxpc3QuZ2V0
RW50cmllcygpLmZvckVhY2goZW50cnkgPT4geworICAgICAgICAgICAgd2luZG93LnBhcmVudC5w
b3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZTogJ3JlY2VpdmVkJywgZW50cnl9KSwgJyon
KTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5
cGVzOiBbInBhaW50Il19KTsKKyAgICB3aW5kb3cub25tZXNzYWdlID0gZSA9PiB7CisgICAgICAg
IHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3N1cHBvcnRlZDogUGVy
Zm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLCB0eXBlOiAnc3VwcG9ydGVkJ30p
LCAnKicpOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICJURVhUIjsKKyAgICB9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1h
cGktdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1
IEBACithc3luYyBmdW5jdGlvbiB3YWl0Rm9yRkNQKCkKK3sKKyAgICBhd2FpdCBuZXcgUHJvbWlz
ZShyZXNvbHZlID0+IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiByZXNvbHZlKCkpKTsKKyAg
ICByZXR1cm4gd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ2ZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQnKS5sZW5ndGggPT0gMTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWlu
Zy1hcGkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291
cmNlcy9wYWludC10aW1pbmctYXBpLmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDEzIEBACitpZiAoc2VsZi5pbXBvcnRTY3JpcHRzKQorICAgIGltcG9ydFNj
cmlwdHMoIi4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyIpOworCitpZiAoc2VsZi53aW5k
b3cpCisgICAgZGVzY3JpcHRpb24oIkJhc2ljIEludGVyZmFjZSB0ZXN0IGZvciBwYWludC10aW1p
bmcgQVBJcy4iKTsKKworZGVidWcoIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmciKTsKK3Nob3VsZEJl
RGVmaW5lZCgiUGVyZm9ybWFuY2VQYWludFRpbWluZyIpOworc2hvdWxkQmVEZWZpbmVkKGBQZXJm
b3JtYW5jZVBhaW50VGltaW5nLnByb3RvdHlwZS50b0pTT05gKTsKK3Nob3VsZFRocm93KGBuZXcg
UGVyZm9ybWFuY2VQYWludFRpbWluZygpYCk7CisKK2lmIChzZWxmLmltcG9ydFNjcmlwdHMpCisg
ICAgZmluaXNoSlNUZXN0KCk7CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVz
b3VyY2VzL3dvcmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDMgQEAKK3NlbGYub25tZXNzYWdlID0gKCkgPT4geworICAgIHNlbGYucG9zdE1lc3Nh
Z2UoSlNPTi5zdHJpbmdpZnkoUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVz
KSk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNs
ZXMucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5
IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy9jaXJjbGVzLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0w
LDAgKzEgIyMKK2ltYWdlL3BuZwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CgppVkJP
UncwS0dnb0FBQUFOU1VoRVVnQUFBQ1FBQUFCSUNBWUFBQUNlTmxlNUFBQUM3bWxEUTFCSlEwTWdV
SEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9SRmlh
d3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZwRktONnJL
R0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVKcQov
SWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAxQTRF
ZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVBMUxj
NS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFHY1R2
WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FWdHhx
cAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUrTHFIQlgw
bTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNHUEJv
eE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFDSkw4UWY0
cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhSNWFz
ZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdqRTMzNTlz
ZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlLVEVt
ZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2VVov
RFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUzSHZF
S0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1OT1ds
czA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2ZkVw
MHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQUEKQ1hCSVdYTUFB
QXNUQUFBTEV3RUFtcHdZQUFBR1owbEVRVlJvQmUyYVVXOVZSUkRIZDY4dEVWSkxXMktDeENZK2ln
UURvWWtLZmdKOAo5TWtuRXZFZHZvQ21rUytBNzJwQ1FzS1RqL0lKQkNTQjFOU29QSnFVMUNha2dO
aUFhZU5kZi8rWk9UMjM1OTdTRnU3bDZVeXk1K3pPCjJaMlpuWjNkblpsN2M1clBKZTBLU3NwcGhw
NzdVMG1QcUQvZEhGVVJ5SnVZUko4RDlKa0c4NHo2UTk2OVgzczZOcXBqalhhaktTTGQKRUdRZjlS
V0lPK21TenNMMUJLMVp5aUdLaEZqbHVVU0hYeGh6bmZaVEV5T253K0RYUTdDTzllUXhFSjRqa0Zp
UFFWREVsbTF3S1oveQpQcGRLT2MzYmhiQVB6UWREVGJoOGsvZVZsUE1QMWlPbkk3UWZVTitnRE5a
WTdsOHkxMHBLa3d3Wlp5Q3pMbWNSNG12YXA0eHdTYjlDCjd5YnRoVlR5SDd6L0R2ekJsTXRSbUo1
a3pHbnd4d04vRjZHK1lzeDEyb2Y0TG9HZVVQcTExUkNvWGlLdHUxcWxmTWZqYzJvc1hiNkcKQUpm
QjM2RU5tbUo5ckZYWGhST1VOSWVBRjZIeEdTMlk1KytoY1Q3R3pmQ1diVzBWcWlGUVpiZ1BiVkRx
L3N5QUR5ZzNHUGNGNzNzbQpRTEpsRkNITlZMYlI1UzJCaEpPdFNiUEN1YzJsOUM3TmIybWZvZHlH
MW9kQnB4S3Ftb0tNWkJNMDMwbUtwQWE2di9NNENwZHZLQmVECndDek10VHdyNmdIVWhOUVNCWWVx
cG1VL0NPcGVLcDJQNlhDWmNzRnBkOTRETDE3aXFlVnpXcHBTTk1aQmpSdlJnbWF5Q2FOMWx6QnYK
MDJlS2IreWd0QmI5dHdvRHNnZjBUV1V0eGt3NURXZ2xiRW0weGNPWFhOcFUyU0tRdHZhYklGZFpj
MnlHWlNxbW1VdmczMkhnWDVUSApNYWlhUGMwZHdWbHFyR2lJVnNxWG5EWThuQmM4alhlMTdQTzUr
QUdHM2JDYlV2bVJEamRNeGRLTUNMazk3TWg5RngwNjBINExtdmRUCjd2N0VHNXZLbjJEbzJuMnlw
MGV5UXMxQ2hnaXd0WTI1R2JBUVdwNy9WQmtTaUpab0FzWURyUmhQSVNSRFNSMi9EdGdOZHVpZDhx
MXQKdTBrR1hDMlRCZ3dEc3RITW5PNUZQRGhHRW1lYjgxNUJlelBTa080bXdUbDdKczRaZ2UrbXNI
bi9NcVJuSjJoRExualo2Vy9VOTZlTwpYNVI4czVOMUVmUWRKTlYxb2Ezb29scmZvVDFFODBud0VL
L0Y0QzF1MkpCdWJWMlVSVWQ2dmhWc1I2R1o1b3ljaDNnYWIyU1FMSUU5CkViMjVtNnltRTlqUGhT
YVo0YlJGZXlONExUaEo4eHo4SWdFeDYwaTdLRlZkOS9aSW4rcytaWGc2dUF4anJoRjNKWFJyZTlz
UHFWSEsKVTk5L0ZVOTVBWnNhR2lYcnZkSEdxQVh5OUdUbCtETzgvZFkyMU1nZTRpRmU0dW1nSzJS
VFE3bzBBWE91VkltVFc5V1J3VDQzRDNnNgp1QXkreS9DQkhVNmFsSDc3dWpYRmh5Ry9SRnZlaFFE
dlVoQXlZTlNLRG5TNXlWWEZWN1plb3pmcTZzTFdnZXdtbzZEZ2dBN0dhVk5kCk1ZZGNQdkFjYlRs
Z2NweDhEbFNHQ0tJNUdUekU2emdIc29JQmNadld3ZmdzMkY1eHB2akFBdmYwUnFFcCtWNWh5TUVy
S1RJeHJwSmwKSGdIdDd1TEc3OHA1eDQ0Nng1Qlkvck84eE1jbW52Vi82WWQ4ZHFlWjhiTkw5emNv
THNCdmp2ZGhlSzFJUTVJdFRtYUZLa0taUTA0MQpUVkJlVTJWSUlGcWlDUmdQc1JkUGdXU0lBOGZE
a1NQbXVXVkNGZlBrY01qTnM3TnJoWUcwWGh3MFZ1ZU8vS0Q3a0JMdE0vQlRXS1FOCnBRRFNnNHVJ
T3VTalBHQ0Fidnp6RERpR1MzQUIzQ3B0K2RWeTh1V3dhL24ySXB5MEw1dVo0ajNCK0QraC9XWFF2
bTI4aktkRnMwNDMKQk5JTWRQdHVNQmdnYmlvS2c4eTlsSkFlQnZrTUZRYkpWeEs0S1hxOTkxbHA4
dzE2eUlDWGZESVJCcFZFdEFzUGdVZXh0WGNSQXVtVAppSXZSREFYMUtXNVNvS2c0cXJBOVh6aFFG
TTMrUUJFa0VMeDZKaVk5OVlDV1RtdXBqb2lvV2JET0ZuR3lJM0s1eW5mdENKMVR5OVNWCk9KREcv
b21pbTF1NFpRcTcxa0xwcTB4TXUwa1JCallUbXZFb1E3eTJpc0MyYithSGZOMTFlRzJmYkZpRStD
MitQeS9aOEJIZjM0ZWgKbHVVdXhzdHUybnV5d2NiSFEzYWcrMFlCcEdZTTRVakgyQlh6dkhTTTll
WXE0Z1MyUXkvU01iNmI5cHlPTVdyeGNHMTVxQ1FQUU1zQQpINHI4OEl6YldleFljQWZQSWw4Wk1C
ZWxKNnk4cnljbmRwZXdHckJrSVV2ZnE4cU12STRRaWhwMERBd0dGM2lDUHBOMCtKZCtzaFZoCmQ0
YXRGclZ6LzVIMzZObjJnM2k5N0pLdG1WNWVXWTV4MEpJWmprZWJZOVFDU3h0dXdMN2NWYjB5M3pi
SDJOekt0VTFWdFRiSDZMYXoKL2RPdFRINVVtMlBjWGt1OVg5b2NZNjgydHF1M09jYnROTlBFdTZQ
UjVoaWJlcW5iYlk2eDFzVmVhbTJPc2RaV20yT3NkVEc0MWpWMAptMlBzMTA2YlkrelhTWTFwYzR5
MUxyeFdoZUp0ampIT0ZFdlBLWS9VKzJlVU5zZElpbmZnSDVyYUhHUC9uK0w4ZDY4bFF2NVhtbVBV
Clh6Tkc5N2ZCL3dGWmJnMDVFRU51TndBQUFBQkpSVTVFcmtKZ2dnPT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397716</attachid>
            <date>2020-04-27 12:26:45 -0700</date>
            <delta_ts>2020-04-27 13:47:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200427222642.patch</filename>
            <type>text/plain</type>
            <size>148195</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyNSBAQAorMjAyMC0wNC0yMSAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIHRoZSBuZWNlc3NhcnkgaW50ZXJmYWNlLCBleHRlbnNpb25zIHRv
IHRoZSBwZXJmb3JtYW5jZSBpbnRlcmZhY2UgYW5kIG9ic2VydmVyLCBuZXcgcnVudGltZSBmbGFn
LgorICAgICAgICBEZXRlY3RpbmcgY29udGVudGZ1bG5lc3MgYWZ0ZXIgbGF5b3V0IGFuZCBiZWZv
cmUgYWN0dWFsIHBhaW50LCBieSBydW5uaW5nIGEgImR1bW15IiBwYWludCwgc2ltaWxhciB0byAK
KyAgICAgICAgaW52YWxpZGF0ZUNvbnRyb2xUaW50cygpIC8gaW52YWxpZGF0ZUltYWdlc1dpdGhB
c3luY0RlY29kZXMoKS4gU2F2ZSB0aGUgcmVzdWx0IHRvIHRoZSBHcmFwaGljc0NvbnRleHQgYW5k
IHRoZW4gdG8gdGhlIGRvY3VtZW50LgorICAgICAgICBUaGlzIHdvdWxkIHJ1biBmb3IgZXZlcnkg
cGFpbnQgdW50aWwgd2UgZGV0ZWN0IGEgY29udGVudGZ1bCBvbmUuCisKKyAgICAgICAgTm90ZSB0
aGF0IGl0IHBhaW50cyB0aGUgZW50aXJlIGZyYW1lIGNvbnRlbnRzLCBhcyBGQ1AgaXMgbm90IHZp
ZXdwb3J0LWRlcGVuZGVudC4KKyAgICAgICAgQWxzbywgcGFpbnQgdGltaW5nIGlzIGN1cnJlbnRs
eSBkaXNhYmxlZCBmb3IgTEZDIChsYXlvdXQgZm9ybWF0dGluZyBjb250ZXh0KSwgYW5kIHdpbGwg
YmUgZGVhbHQgd2l0aCBsYXRlci4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
Zy1pbWFnZS10d28tc3RlcHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0
bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlv
bi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5k
YW50Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
dXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5k
cy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAorICAgICAgICAgICAgICAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBz
ZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LXRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC12aWRlby1mcmFtZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0
bC5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1w
YWludC1mcmFtZXMuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNv
bnRlbnRmdWwtcGFpbnQtd2l0aC13b3JrZXIuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNl
LWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogcGFnZS9QZXJm
b3JtYW5jZVBhaW50VGltaW5nLmg6IEFkZGVkLgorICAgICAgICAoaXNUeXBlKToKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsOiBBZGRlZC4KKyAgICAgICAgICAgICAg
ICBBZGQgUGVyZm9ybWFuY2VQYWludFRpbWluZyBpbnRlcmZhY2UuIGh0dHBzOi8vdzNjLmdpdGh1
Yi5pby9wYWludC10aW1pbmcvI3NlYy1QZXJmb3JtYW5jZVBhaW50VGltaW5nCisKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnN1cHBvcnRz
UGFpbnRUaW1pbmcgY29uc3QpOgorICAgICAgICAgICAgICAgIFdlIG9ubHkgcmVwb3J0IHBhaW50
IHRpbWluZyBmb3IgZG9jdW1lbnQgdGhhdCBjYW4gYWNjZXNzIHRoZSB0b3AgbGV2ZWwgc2VjdXJp
dHkgb3JpZ2luLCB0byBhdm9pZCBsZWFrYWdlIG9mIGluZm9ybWF0aW9uIHRvIHNhbmRib3hlZCBp
ZnJhbWVzLgorCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVwb3J0UGFpbnRUaW1pbmdJ
Zk5lZWRlZCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICAgICAgICAgUmVw
b3J0IHBhaW50IHRpbWluZywgYWNjb3JkaW5nIHRvIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWlu
dC10aW1pbmcvI3NlYy1yZXBvcnRpbmctcGFpbnQtdGltaW5nCisKKyAgICAgICAgKiBwYWdlL1Bh
Z2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6
CisgICAgICAgICAgICAgICAgUmVwb3J0IGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgYWZ0ZXIgbGF5
b3V0LgorICAgICAgICAgICAgICAgIFNlZSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211
bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjdXBkYXRlLXRoZS1yZW5kZXJpbmcKKworICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6Omdl
dEVudHJpZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJp
ZXNCeVR5cGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJp
ZXNCeU5hbWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnJlcG9ydEZp
cnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAg
ICAgICAgICAgICAgU3VwcG9ydCBmaXJzdC1jb250ZW50ZnVsLXBhaW50IHJlcG9ydGluZy4KKwor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojpp
c1BhaW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBl
cyk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmg6CisgICAgICAgICogcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbDoKKyAgICAgICAgICAgICAgICBBZGQgcGFpbnQgcGVy
Zm9ybWFuY2UgZW50cnkgdHlwZS4KKworICAgICAgICAqIHBhZ2UvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0UGFp
bnRUaW1pbmdFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnBhaW50VGltaW5nRW5hYmxlZCBjb25zdCk6CisgICAgICAgICAgICAgICAgTmV3IHJ1bnRp
bWUgZmxhZyBmb3IgcGFpbnQgdGltaW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRl
dGVjdGluZ0NvbnRlbnRmdWxQYWludCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQ6OnNldENvbnRlbnRmdWxQYWludERldGVjdGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDo6Y29udGVuZnVsUGFpbnREZXRlY3RlZCBjb25zdCk6CisgICAgICAg
ICAgICAgICAgQWRkIGEgZmxhZyBpbiBHcmFwaGljc0NvbnRleHQgd2hlcmUgZGlmZmVyZW50IHJl
bmRlciBvcGVyYXRpb25zIGNhbiByZXBvcnQgaWYgdGhleSdyZSBjb250ZW50ZnVsLgorCisgICAg
ICAgICogcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnRlbnRmdWxQYWludENoZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRm
dWxQYWludCk6CisgICAgICAgICAgICAgICAgUnVuIGEgImR1bW15IiBwYWludCBvZiB0aGUgRnJh
bWVWaWV3LCB0byBkZXRlY3QgY29udGVudGZ1bCBlbGVtZW50cy4gCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oOiBBZGRlZC4KKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94
TW9kZWxPYmplY3Q6OnBhaW50RmlsbExheWVyRXh0ZW5kZWQpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJIVE1MQ2FudmFzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckhUTUxDYW52
YXM6OnBhaW50UmVwbGFjZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6cGFpbnRSZXBsYWNlZCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyOjpwYWludExheWVyQ29udGVudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWRl
by5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWRlbzo6cGFpbnRSZXBsYWNlZCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1RleHRQYWludGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRQYWludGVyOjpwYWludFRleHRPckVtcGhhc2lzTWFya3MpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSb290
OjpwYWludFJlcGxhY2VkKToKKyAgICAgICAgICAgICAgICBSZXBvcnQgY29udGVudGZ1bG5lc3Mg
d2hlbiB3ZSByZWFjaCBhbnl0aGluZyB0aGF0IHF1YWxpZmllcyBhcyBjb250ZW50ZnVsLAorICAg
ICAgICAgICAgICAgIGJhc2VkIG9uIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcv
I2NvbnRlbnRmdWwuCisKIDIwMjAtMDQtMjQgIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVy
ZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBBZGQgbWlzc2luZyBIVE1MTmFtZXM6OiBuYW1lc3Bh
Y2UgcHJlZml4IHRvIHVzYWdlIG9mIGxpVGFnIG9iamVjdApJbmRleDogU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC05MzYsNiArOTM2LDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExf
RklMRVMKICAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwKICAgICBwYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU5h
dmlnYXRpb24uaWRsCisgICAgcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAogICAgIHBh
Z2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlU2Vy
dmVyVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTkyNiw2ICs5MjYsNyBA
QCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxi
YWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxp
c3QuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwg
XAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAko
cmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTIxMjQsNiArMjEyNCw3IEBAIHJlbmRlcmluZy9CcmVha0xpbmVzLmNwcAogcmVu
ZGVyaW5nL0NTU0ZpbHRlci5jcHAKIHJlbmRlcmluZy9DbGlwUmVjdC5jcHAKIHJlbmRlcmluZy9D
b21wbGV4TGluZUxheW91dC5jcHAKK3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmNw
cAogcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmNwcAogcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNwcAog
cmVuZGVyaW5nL0V2ZW50UmVnaW9uLmNwcApAQCAtMzIwMiw2ICszMjAzLDcgQEAgSlNQZXJmb3Jt
YW5jZU5hdmlnYXRpb24uY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCiBKU1BlcmZvcm1h
bmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5j
cHAKK0pTUGVyZm9ybWFuY2VQYWludFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5jcHAKIEpTUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlVGlt
aW5nLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MDU1LDYgKzQw
NTUsNyBAQAogCQlDOUY4N0NGRTFCMjhGNDBFMDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOUY4N0NG
RDFCMjhFNUY2MDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0EzQkY2N0UxMEQ5OUJBRTAwRTZD
RTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3Iu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDQTZD
MTUzMDIyMEI5OENDMDA1NUNCRkMgLyogSlNWYWx1ZUluV3JhcHBlZE9iamVjdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMxQUUzQjgxRkI4MEVBRTAw
RjVFRkIyIC8qIEpTVmFsdWVJbldyYXBwZWRPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDQTdFOUI0OTI0MzYxREM1MDA0RTg5RjYgLyog
Q29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0E3RTlCNDcyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWlu
dENoZWNrZXIuaCAqLzsgfTsKIAkJQ0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVj
dFJhdGlvVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENBRTlGOTBFMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggKi87
IH07CiAJCUNCMzhGRDUyMUNDRjkzOTQwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENCMzhGRDRFMUND
RjkzN0UwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCAqLzsgfTsKIAkJQ0IzOEZENUIx
Q0QyMzI1QjAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0IzOEZENTkxQ0QyMzE0NTAw
NTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovOyB9OwpAQCAtMTM4MjQs
NiArMTM4MjUsOCBAQAogCQlDQTA5MUQ4NjIzQ0Y5MDc4MDBBRDQzNDYgLyogU3R5bGVJbWFnZVNl
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUltYWdlU2V0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0EwOTFEODkyM0NGOTA4ODAwQUQ0MzQ2IC8qIFN0eWxlSW1hZ2VT
ZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVJbWFnZVNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDQTE2MzVEQzIwNzJFNzY5MDBFN0QyQ0UgLyogUmVmZXJyZXJQb2xpY3kuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmZXJyZXJQb2xpY3kuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNENTI0MDdENjQwMDA3MTI0MUEg
LyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZVBh
aW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkzM0Q4MjQwN0VE
Q0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8q
IFNjcm9sbEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9s
bEFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNTJCQUU1MjNEMEFG
MTYwMERFMEI4NCAvKiBTdHlsZUN1cnNvckltYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0
eWxlQ3Vyc29ySW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM4MzMs
NiArMTM4MzYsOCBAQAogCQlDQTZDMTUyRjIyMEI0QTU1MDA1NUNCRkMgLyogSlNJREJSZXF1ZXN0
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCUmVx
dWVzdEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNkMxNTM3MjIw
RDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvckN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0lEQkN1cnNvckN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNBNkMxNTM4MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvcldp
dGhWYWx1ZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0lEQkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUNBN0U5QjQ3MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRmdWxQYWludENoZWNrZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0E3RTlCNDgyNDM2MURDNTAwNEU4OUY2
IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBRTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1Zh
bHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0FzcGVjdFJh
dGlvVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQUU5RjkwRTE0NjQ0
MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5jZUVudHJ5LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRW50cnku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjEwMjUsNiArMjEwMzAsOCBAQAog
CQkJCUE1QTk5MzNBMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlM
aXN0LmNwcCAqLywKIAkJCQlBNUE5OTMzQjFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdC5oICovLAogCQkJCUE1QTk5MzNDMUUzN0ZBRkQwMDVCNUU0RCAvKiBQ
ZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCAqLywKKwkJCQlDQTE5MzNENTI0MDdENjQw
MDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovLAorCQkJCUNBMTkzM0Q4MjQw
N0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLywKIAkJCQk4NjUx
MkVEQjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi8s
CiAJCQkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcuaCAqLywKIAkJCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5pZGwgKi8sCkBAIC0yODEyNyw2ICsyODEzNCw4IEBACiAJCQkJQkNERDQ1NEQx
MjM2Qzk1QzAwOUE3OTg1IC8qIENvbHVtbkluZm8uaCAqLywKIAkJCQlCQ0VBNDgxMzA5N0Q5MzAy
MDA5NEM5RTQgLyogQ29tcGxleExpbmVMYXlvdXQuY3BwICovLAogCQkJCUU0QTFBQzc4MjJGQUZE
NTAwMDE3Qjc1QiAvKiBDb21wbGV4TGluZUxheW91dC5oICovLAorCQkJCUNBN0U5QjQ4MjQzNjFE
QzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcCAqLywKKwkJCQlDQTdFOUI0
NzI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oICovLAogCQkJCTkz
OTJGMTRGMEFEMTg2MjMwMDY5MUJENCAvKiBDb3VudGVyTm9kZS5jcHAgKi8sCiAJCQkJOTM5MkYx
NEIwQUQxODYxQjAwNjkxQkQ0IC8qIENvdW50ZXJOb2RlLmggKi8sCiAJCQkJMEY1M0ZCODEyMTNC
MUJCODAwQzQwRDM0IC8qIENTU0ZpbHRlci5jcHAgKi8sCkBAIC0yOTgzMiw2ICsyOTg0MSw3IEBA
CiAJCQkJQTE0OTc4NkYxQUJBRjMzODAwQ0VGN0U0IC8qIENvbnRlbnRGaWx0ZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTVDRENEREM2MjNEODBBMUMwMEJBMzRBMSAvKiBDb250ZW50RmlsdGVyQ2xp
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQwOTBGRDFBQTUxRTQ4MDA5MTE5MUEgLyogQ29u
dGVudEZpbHRlclVuYmxvY2tIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDQTdFOUI0OTI0
MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNUM5QzJEQjUyMjQxQTY3QjAwOTk2QjBCIC8qIENvbnRlbnRSdWxlTGlzdFJlc3VsdHMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTk3QzQ3MURDMTJGOTI1QkQwMDg2MzU0QiAvKiBDb250ZW50
U2VjdXJpdHlQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFNUZBMjU1MjA5RTQ4QzUwMDUx
RDcwMCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovLApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNl
RW50cnlDdXN0b20uY3BwCShyZXZpc2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
NSw5ICszNSwxMSBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTUGVy
Zm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNs
dWRlICJKU1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5n
LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYg
KzQ4LDkgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFBl
cmZvcm1hbmNlRW50cnk+JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRU
aW1pbmc+KGVudHJ5KSkKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQ
YWludFRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAgICBpZiAoaXM8
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRl
V3JhcHBlcjxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUo
ZW50cnkpKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0
aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODIsNiAr
MTgyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3Vy
ZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNybyhQZXJmb3Jt
YW5jZU9ic2VydmVyRW50cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWlu
ZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQ
ZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXApJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBACiAj
aW5jbHVkZSAiQ29tcG9zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkNvbnN0YW50UHJvcGVydHlN
YXAuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIKKyNpbmNsdWRlICJDb250
ZW50ZnVsUGFpbnRDaGVja2VyLmgiCiAjaW5jbHVkZSAiQ29va2llSmFyLmgiCiAjaW5jbHVkZSAi
Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaCIKICNpbmNsdWRlICJDdXN0b21FbGVtZW50UmVn
aXN0cnkuaCIKQEAgLTE0OSw2ICsxNTAsNyBAQAogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2lu
Y2x1ZGUgIlBhZ2VUcmFuc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQYWludFdvcmtsZXRHbG9i
YWxTY29wZS5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1M
b2NhbGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybVNjcmVlbi5oIgpAQCAtMzE0NCw2ICszMTQ2LDM0IEBAIGJvb2wgRG9jdW1l
bnQ6OmlzTGF5b3V0VGltZXJBY3RpdmUoKSBjb24KICAgICByZXR1cm4gdmlldygpICYmIHZpZXco
KS0+bGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0UGVuZGluZygpOwogfQogCitib29sIERvY3VtZW50
OjpzdXBwb3J0c1BhaW50VGltaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQoKSAmJiBzZWN1
cml0eU9yaWdpbigpLmNhbkFjY2Vzcyh0b3BPcmlnaW4oKSk7Cit9CisKKy8vIGh0dHBzOi8vdzNj
LmdpdGh1Yi5pby9wYWludC10aW1pbmcvI3JlZi1mb3ItbWFyay1wYWludC10aW1pbmcKK3ZvaWQg
RG9jdW1lbnQ6OnJlcG9ydFBhaW50VGltaW5nSWZOZWVkZWQoKQoreworICAgIGlmIChtX2RpZFJl
cG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIXN1
cHBvcnRzUGFpbnRUaW1pbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFkb21XaW5k
b3coKSB8fCAhdmlldygpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBUbyBtYWtlIHN1cmUg
d2UgZG9uJ3QgcmVwb3J0IHBhaW50IHdoaWxlIHRoZSBsYXllciB0cmVlIGlzIHN0aWxsIGZyb3pl
bi4KKyAgICBpZiAoIXZpZXcoKS0+aXNWaXN1YWxseU5vbkVtcHR5KCkgfHwgdmlldygpLT5uZWVk
c0xheW91dCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIUNvbnRlbnRmdWxQYWludENo
ZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRmdWxQYWludCgqdmlldygpKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCkucmVwb3J0Rmlyc3RDb250ZW50
ZnVsUGFpbnQoKTsKKyAgICBtX2RpZFJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50ID0gdHJ1ZTsK
K30KKwogRXhjZXB0aW9uT3I8dm9pZD4gRG9jdW1lbnQ6OndyaXRlKERvY3VtZW50KiByZXNwb25z
aWJsZURvY3VtZW50LCBTZWdtZW50ZWRTdHJpbmcmJiB0ZXh0KQogewogICAgIGlmIChtX2FjdGl2
ZVBhcnNlcldhc0Fib3J0ZWQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMjYw
NjM5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTEwMzgsNiArMTAzOCw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2hvdWxkRGVmZXJBc3luY2hy
b25vdXNTY3JpcHRzVW50aWxQYXJzaW5nRmluaXNoZXMoKSBjb25zdDsKIAorICAgIGJvb2wgc3Vw
cG9ydHNQYWludFRpbWluZygpIGNvbnN0OworCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgdm9pZCBz
Y2hlZHVsZVRvQXBwbHlYU0xUcmFuc2Zvcm1zKCk7CiAgICAgdm9pZCBhcHBseVBlbmRpbmdYU0xU
cmFuc2Zvcm1zTm93SWZTY2hlZHVsZWQoKTsKQEAgLTE1NzcsNiArMTU3OSw3IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgc2V0SGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQoKSB7IG1faGFz
VmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQgPSB0cnVlOyB9CiAgICAgYm9vbCBoYXNWaXN1
YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzVmlzdWFsbHlO
b25FbXB0eUN1c3RvbUNvbnRlbnQ7IH0KKyAgICB2b2lkIHJlcG9ydFBhaW50VGltaW5nSWZOZWVk
ZWQoKTsKIAogcHJvdGVjdGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9uRmxhZ3MgeyBTeW50aGVz
aXplZCA9IDEsIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEgfTsKQEAgLTIwNDMsNiAr
MjA0Niw5IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fYXJlRGV2aWNlTW90aW9uQW5kT3JpZW50
YXRpb25VcGRhdGVzU3VzcGVuZGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fdXNlckRpZEludGVy
YWN0V2l0aFBhZ2UgeyBmYWxzZSB9OworCisgICAgYm9vbCBtX2RpZFJlcG9ydEZpcnN0Q29udGVu
dGZ1bFBhaW50IHsgZmFsc2UgfTsKKwogI2lmIEFTU0VSVF9FTkFCTEVECiAgICAgYm9vbCBtX2lu
SGl0VGVzdGluZyB7IGZhbHNlIH07CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDI1Nyw2ICs0MjU3LDkgQEAgdm9pZCBGcmFtZVZpZXc6
OnBhaW50Q29udGVudHMoR3JhcGhpY3NDbwogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpCiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkubGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRFbmFibGVkKCkpIHsKKyAgICAgICAgLy8gSW50ZWdy
YXRlIHBhaW50IHRpbWluZyB3aXRoIExGQyBsYXRlciBvbi4KKyAgICAgICAgaWYgKGNvbnRleHQu
ZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpCisgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IGlmIChhdXRvKiBsYXlvdXRTdGF0ZSA9IGxheW91dENvbnRleHQoKS5sYXlvdXRGb3JtYXR0aW5n
U3RhdGUoKSkKICAgICAgICAgICAgIExheW91dDo6TGF5b3V0Q29udGV4dDo6cGFpbnQoKmxheW91
dFN0YXRlLCBjb250ZXh0LCBkaXJ0eVJlY3QpOwogICAgICAgICByZXR1cm47CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzOTYsNiArMTM5NiwxMCBAQCB2b2lkIFBhZ2U6OmRv
QWZ0ZXJVcGRhdGVSZW5kZXJpbmcoKQogICAgIC8vIGxheW91dCB0byBiZSB1cC10by1kYXRlLiBJ
dCBzaG91bGQgbm90IHJ1biBzY3JpcHQsIHRyaWdnZXIgbGF5b3V0LCBvciBkaXJ0eSBsYXlvdXQu
CiAKICAgICBmb3JFYWNoRG9jdW1lbnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkgeworICAgICAg
ICBkb2N1bWVudC5yZXBvcnRQYWludFRpbWluZ0lmTmVlZGVkKCk7CisgICAgfSk7CisKKyAgICBm
b3JFYWNoRG9jdW1lbnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkgewogICAgICAgICBkb2N1bWVu
dC51cGRhdGVIaWdobGlnaHRQb3NpdGlvbnMoKTsKICAgICB9KTsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZS5jcHAJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBACiAj
aW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTmF2aWdh
dGlvbi5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJQZXJm
b3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFu
Y2VVc2VyVGltaW5nLmgiCkBAIC0xMjQsNiArMTI1LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3Jt
YW5jZUVudHJ5Pj4gUGVyZm9ybQogICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJU
aW1pbmctPmdldE1lYXN1cmVzKCkpOwogICAgIH0KIAorICAgIGlmIChtX2ZpcnN0Q29udGVudGZ1
bFBhaW50KQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsK
KwogICAgIHN0ZDo6c29ydChlbnRyaWVzLmJlZ2luKCksIGVudHJpZXMuZW5kKCksIFBlcmZvcm1h
bmNlRW50cnk6OnN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbik7CiAgICAgcmV0dXJuIGVudHJpZXM7
CiB9CkBAIC0xMzUsNiArMTM5LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4g
UGVyZm9ybQogICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUs
ICJyZXNvdXJjZSIpKQogICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3Jlc291cmNlVGlt
aW5nQnVmZmVyKTsKIAorICAgIGlmIChtX2ZpcnN0Q29udGVudGZ1bFBhaW50ICYmIGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInBhaW50IikpCisgICAgICAgIGVudHJp
ZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworCiAgICAgaWYgKG1fdXNlclRpbWlu
ZykgewogICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBl
LCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5n
LT5nZXRNYXJrcygpKTsKQEAgLTE1Nyw2ICsxNjQsOSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+PiBQZXJmb3JtCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAobV9maXJzdENv
bnRlbnRmdWxQYWludCAmJiAoZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInBhaW50IikpICYmIG5hbWUgPT0gImZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQiKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBh
aW50KTsKKwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVudHJ5VHlwZS5p
c051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJr
IikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1h
cmtzKG5hbWUpKTsKQEAgLTE4MCw2ICsxOTAsMTMgQEAgdm9pZCBQZXJmb3JtYW5jZTo6c2V0UmVz
b3VyY2VUaW1pbmdCdWZmZQogICAgIG1fcmVzb3VyY2VUaW1pbmdCdWZmZXJGdWxsRmxhZyA9IGZh
bHNlOwogfQogCit2b2lkIFBlcmZvcm1hbmNlOjpyZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgp
Cit7CisgICAgQVNTRVJUKCFtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKKyAgICBtX2ZpcnN0Q29u
dGVudGZ1bFBhaW50ID0gUGVyZm9ybWFuY2VQYWludFRpbWluZzo6Y3JlYXRlRmlyc3RDb250ZW50
ZnVsUGFpbnQobm93KCkpOworICAgIHF1ZXVlRW50cnkoKm1fZmlyc3RDb250ZW50ZnVsUGFpbnQp
OworfQorCiB2b2lkIFBlcmZvcm1hbmNlOjphZGRSZXNvdXJjZVRpbWluZyhSZXNvdXJjZVRpbWlu
ZyYmIHJlc291cmNlVGltaW5nKQogewogICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAkocmV2aXNpb24gMjYwNjM5KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00
NSw2ICs0NSw3IEBAIGNsYXNzIExvYWRUaW1pbmc7CiBjbGFzcyBQZXJmb3JtYW5jZUVudHJ5Owog
Y2xhc3MgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOwogY2xhc3MgUGVyZm9ybWFuY2VPYnNlcnZlcjsK
K2NsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc7CiBjbGFzcyBQZXJmb3JtYW5jZVRpbWluZzsK
IGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVRpbWluZzsKQEAgLTc3LDYg
Kzc4LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGRSZXNvdXJjZVRpbWluZyhSZXNvdXJjZVRp
bWluZyYmKTsKIAorICAgIHZvaWQgcmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKwogICAg
IHZvaWQgcmVtb3ZlQWxsT2JzZXJ2ZXJzKCk7CiAgICAgdm9pZCByZWdpc3RlclBlcmZvcm1hbmNl
T2JzZXJ2ZXIoUGVyZm9ybWFuY2VPYnNlcnZlciYpOwogICAgIHZvaWQgdW5yZWdpc3RlclBlcmZv
cm1hbmNlT2JzZXJ2ZXIoUGVyZm9ybWFuY2VPYnNlcnZlciYpOwpAQCAtMTIxLDYgKzEyNCw3IEBA
IHByaXZhdGU6CiAKICAgICBNb25vdG9uaWNUaW1lIG1fdGltZU9yaWdpbjsKIAorICAgIFJlZlB0
cjxQZXJmb3JtYW5jZVBhaW50VGltaW5nPiBtX2ZpcnN0Q29udGVudGZ1bFBhaW50OwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxVc2VyVGltaW5nPiBtX3VzZXJUaW1pbmc7CiAKICAgICBHZW5lcmljVGFz
a1F1ZXVlPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ+IG1fcGVyZm9ybWFuY2VUaW1lbGluZVRhc2tR
dWV1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAkocmV2
aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsMTEgQEAgT3B0aW9uYWw8UGVyZm9ybWFuY2VF
bnRyeTo6VHlwZT4gUGVyZm9ybQogICAgICAgICAgICAgcmV0dXJuIE9wdGlvbmFsPFR5cGU+KFR5
cGU6OlJlc291cmNlKTsKICAgICB9CiAKKyAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQoKSkgeworICAgICAgICBpZiAoZW50
cnlUeXBlID09ICJwYWludCIpCisgICAgICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlw
ZTo6UGFpbnQpOworICAgIH0KKwogICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiB9CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCShyZXZpc2lvbiAyNjA2MzkpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAkod29ya2luZyBjb3B5KQpA
QCAtNDgsMTAgKzQ4LDExIEBAIHB1YmxpYzoKICAgICBkb3VibGUgZHVyYXRpb24oKSBjb25zdCB7
IHJldHVybiBtX2R1cmF0aW9uOyB9CiAKICAgICBlbnVtIGNsYXNzIFR5cGUgewotICAgICAgICBO
YXZpZ2F0aW9uID0gMSA8PCAwLAotICAgICAgICBNYXJrID0gMSA8PCAxLAotICAgICAgICBNZWFz
dXJlID0gMSA8PCAyLAotICAgICAgICBSZXNvdXJjZSA9IDEgPDwgMywKKyAgICAgICAgTmF2aWdh
dGlvbiAgPSAxIDw8IDAsCisgICAgICAgIE1hcmsgICAgICAgID0gMSA8PCAxLAorICAgICAgICBN
ZWFzdXJlICAgICA9IDEgPDwgMiwKKyAgICAgICAgUmVzb3VyY2UgICAgPSAxIDw8IDMsCisgICAg
ICAgIFBhaW50ICAgICAgID0gMSA8PCA0CiAgICAgfTsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBl
KCkgY29uc3QgPSAwOwpAQCAtNjIsNiArNjMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Jlc291
cmNlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OlJlc291cmNlOyB9CiAgICAgYm9v
bCBpc01hcmsoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWFyazsgfQogICAgIGJv
b2wgaXNNZWFzdXJlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1lYXN1cmU7IH0K
KyAgICBib29sIGlzUGFpbnQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UGFpbnQ7
IH0KIAogICAgIHN0YXRpYyBib29sIHN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbihjb25zdCBSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4mIGEsIGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYg
YikKICAgICB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5jcHAJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMywxNSArMTEzLDIxIEBAIHZvaWQg
UGVyZm9ybWFuY2VPYnNlcnZlcjo6ZGVsaXZlcigpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRGaXJlT2JzZXJ2ZXJDYWxsYmFjaygqY29udGV4dCk7CiB9CiAKLVZlY3RvcjxTdHJp
bmc+IFBlcmZvcm1hbmNlT2JzZXJ2ZXI6OnN1cHBvcnRlZEVudHJ5VHlwZXMoKQorVmVjdG9yPFN0
cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyhTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0KQogewotICAgIHJldHVybiB7CisgICAgVmVjdG9yPFN0cmlu
Zz4gZW50cnlUeXBlcyA9IHsKICAgICAgICAgLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5vcmcv
Yi8xODQzNjM+IEFkZCBzdXBwb3J0IGZvciBOYXZpZ2F0aW9uIFRpbWluZyBMZXZlbCAyCiAgICAg
ICAgIC8vICJuYXZpZ2F0aW9uIl9zLAogICAgICAgICAibWFyayJfcywKLSAgICAgICAgIm1lYXN1
cmUiX3MsCi0gICAgICAgICJyZXNvdXJjZSJfcworICAgICAgICAibWVhc3VyZSJfcwogICAgIH07
CisKKyAgICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpICYmIGRvd25jYXN0PERvY3VtZW50Pihj
b250ZXh0KS5zdXBwb3J0c1BhaW50VGltaW5nKCkpCisgICAgICAgIGVudHJ5VHlwZXMuYXBwZW5k
KCJwYWludCJfcyk7CisKKyAgICBlbnRyeVR5cGVzLmFwcGVuZCgicmVzb3VyY2UiX3MpOworCisg
ICAgcmV0dXJuIGVudHJ5VHlwZXM7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCShyZXZpc2lvbiAyNjA2
MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoY29udGV4dCwgV1RGTW92ZShjYWxsYmFjaykpKTsK
ICAgICB9CiAKLSAgICBzdGF0aWMgVmVjdG9yPFN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlcygp
OworICAgIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmKTsKIAogICAgIHZvaWQgZGlzYXNzb2NpYXRlKCk7CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAkocmV2aXNpb24gMjYw
NjM5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogXSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VPYnNl
cnZlciB7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIG9ic2VydmUoUGVyZm9ybWFuY2VP
YnNlcnZlckluaXQgb3B0aW9ucyk7CiAgICAgdm9pZCBkaXNjb25uZWN0KCk7Ci0gICAgc3RhdGlj
IHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHN1cHBvcnRlZEVudHJ5
VHlwZXM7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyByZWFk
b25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RE9NU3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVz
OwogfTsKIAogZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdCB7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lN
ZWRpYSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVyZm9y
bWFuY2VFbnRyeS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgZmluYWwgOiBwdWJs
aWMgUGVyZm9ybWFuY2VFbnRyeSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5j
ZVBhaW50VGltaW5nPiBjcmVhdGVGaXJzdENvbnRlbnRmdWxQYWludChET01IaWdoUmVzVGltZVN0
YW1wIHRpbWVTdGFtcCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiX3MsIHRpbWVTdGFtcCkp
OworICAgIH0KKworcHJpdmF0ZToKKyAgICBQZXJmb3JtYW5jZVBhaW50VGltaW5nKGNvbnN0IFN0
cmluZyYgbmFtZSwgRE9NSGlnaFJlc1RpbWVTdGFtcCB0aW1lU3RhbXApCisgICAgICAgIDogUGVy
Zm9ybWFuY2VFbnRyeShuYW1lLCB0aW1lU3RhbXAsIHRpbWVTdGFtcCkKKyAgICB7CisgICAgfQor
CisgICAgQVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJwYWlu
dCJfczsgfQorICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFR5cGU6OlBhaW50
OyB9CisKKyAgICB+UGVyZm9ybWFuY2VQYWludFRpbWluZygpID0gZGVmYXVsdDsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJD
b3JlOjpQZXJmb3JtYW5jZVBhaW50VGltaW5nKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25z
dCBXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnkuaXNQYWlu
dCgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRp
YSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Bh
aW50LXRpbWluZy8KKwordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKworWwor
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGFpbnRUaW1pbmcsCisgICAgRXhwb3NlZD0oV2luZG93KSwK
K10gaW50ZXJmYWNlIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgOiBQZXJmb3JtYW5jZUVudHJ5IHsK
K307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDkgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0VXNlclRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1VzZXJUaW1p
bmdFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCB1c2VyVGltaW5nRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1faXNVc2VyVGltaW5nRW5hYmxlZDsgfQogCisgICAgdm9pZCBzZXRQYWlu
dFRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1BhaW50VGltaW5nRW5hYmxlZCA9
IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgcGFpbnRUaW1pbmdFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9pc1BhaW50VGltaW5nRW5hYmxlZDsgfQorCiAgICAgYm9vbCBwZXJmb3JtYW5jZVRpbWVs
aW5lRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIHJlc291cmNlVGltaW5nRW5hYmxlZCgpIHx8IHVz
ZXJUaW1pbmdFbmFibGVkKCk7IH0KIAogICAgIHZvaWQgc2V0U2hhZG93RE9NRW5hYmxlZChib29s
IGlzRW5hYmxlZCkgeyBtX2lzU2hhZG93RE9NRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQpAQCAtNDI0
LDYgKzQyNyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzTGlua1ByZWxvYWRFbmFibGVkIHsg
dHJ1ZSB9OwogICAgIGJvb2wgbV9pc0xpbmtQcmVmZXRjaEVuYWJsZWQgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9pc01lZGlhUHJlbG9hZGluZ0VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9p
c1BhaW50VGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzUmVzb3VyY2VUaW1p
bmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNVc2VyVGltaW5nRW5hYmxlZCB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX2lzSW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQgeyBm
YWxzZSB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0LmgJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzMs
NyArMjczLDggQEAgcHVibGljOgogICAgIGVudW0gY2xhc3MgUGFpbnRJbnZhbGlkYXRpb25SZWFz
b25zIDogdWludDhfdCB7CiAgICAgICAgIE5vbmUsCiAgICAgICAgIEludmFsaWRhdGluZ0NvbnRy
b2xUaW50cywKLSAgICAgICAgSW52YWxpZGF0aW5nSW1hZ2VzV2l0aEFzeW5jRGVjb2RlcworICAg
ICAgICBJbnZhbGlkYXRpbmdJbWFnZXNXaXRoQXN5bmNEZWNvZGVzLAorICAgICAgICBEZXRlY3Rp
bmdDb250ZW50ZnVsUGFpbnQKICAgICB9OwogICAgIEdyYXBoaWNzQ29udGV4dChQYWludEludmFs
aWRhdGlvblJlYXNvbnMpOwogCkBAIC0yOTIsNiArMjkzLDcgQEAgcHVibGljOgogICAgIGJvb2wg
cGVyZm9ybWluZ1BhaW50SW52YWxpZGF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9wYWludEludmFs
aWRhdGlvblJlYXNvbnMgIT0gUGFpbnRJbnZhbGlkYXRpb25SZWFzb25zOjpOb25lOyB9CiAgICAg
Ym9vbCBpbnZhbGlkYXRpbmdDb250cm9sVGludHMoKSBjb25zdCB7IHJldHVybiBtX3BhaW50SW52
YWxpZGF0aW9uUmVhc29ucyA9PSBQYWludEludmFsaWRhdGlvblJlYXNvbnM6OkludmFsaWRhdGlu
Z0NvbnRyb2xUaW50czsgfQogICAgIGJvb2wgaW52YWxpZGF0aW5nSW1hZ2VzV2l0aEFzeW5jRGVj
b2RlcygpIGNvbnN0IHsgcmV0dXJuIG1fcGFpbnRJbnZhbGlkYXRpb25SZWFzb25zID09IFBhaW50
SW52YWxpZGF0aW9uUmVhc29uczo6SW52YWxpZGF0aW5nSW1hZ2VzV2l0aEFzeW5jRGVjb2Rlczsg
fQorICAgIGJvb2wgZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkgY29uc3QgeyByZXR1cm4gbV9w
YWludEludmFsaWRhdGlvblJlYXNvbnMgPT0gUGFpbnRJbnZhbGlkYXRpb25SZWFzb25zOjpEZXRl
Y3RpbmdDb250ZW50ZnVsUGFpbnQ7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U3Ry
b2tlVGhpY2tuZXNzKGZsb2F0KTsKICAgICBmbG9hdCBzdHJva2VUaGlja25lc3MoKSBjb25zdCB7
IHJldHVybiBtX3N0YXRlLnN0cm9rZVRoaWNrbmVzczsgfQpAQCAtNTEzLDYgKzUxNSw5IEBAIHB1
YmxpYzoKICAgICBGbG9hdFNpemUgc2NhbGVGYWN0b3IoKSBjb25zdDsKICAgICBGbG9hdFNpemUg
c2NhbGVGYWN0b3JGb3JEcmF3aW5nKGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEZs
b2F0UmVjdCYgc3JjUmVjdCkgY29uc3Q7CiAKKyAgICB2b2lkIHNldENvbnRlbnRmdWxQYWludERl
dGVjdGVkKCkgeyBtX2NvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQgPSB0cnVlOyB9CisgICAgYm9vbCBj
b250ZW5mdWxQYWludERldGVjdGVkKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW5mdWxQYWludERl
dGVjdGVkOyB9CisKICNpZiBPUyhXSU5ET1dTKQogICAgIEhEQyBnZXRXaW5kb3dzQ29udGV4dChj
b25zdCBJbnRSZWN0JiwgYm9vbCBzdXBwb3J0QWxwaGFCbGVuZCk7IC8vIFRoZSBwYXNzZWQgaW4g
cmVjdCBpcyB1c2VkIHRvIGNyZWF0ZSBhIGJpdG1hcCBmb3IgY29tcG9zaXRpbmcgaW5zaWRlIHRy
YW5zcGFyZW5jeSBsYXllcnMuCiAgICAgdm9pZCByZWxlYXNlV2luZG93c0NvbnRleHQoSERDLCBj
b25zdCBJbnRSZWN0JiwgYm9vbCBzdXBwb3J0QWxwaGFCbGVuZCk7IC8vIFRoZSBwYXNzZWQgaW4g
SERDIHNob3VsZCBiZSB0aGUgb25lIGhhbmRlZCBiYWNrIGJ5IGdldFdpbmRvd3NDb250ZXh0LgpA
QCAtNjYxLDYgKzY2Niw3IEBAIHByaXZhdGU6CiAKICAgICBjb25zdCBQYWludEludmFsaWRhdGlv
blJlYXNvbnMgbV9wYWludEludmFsaWRhdGlvblJlYXNvbnMgeyBQYWludEludmFsaWRhdGlvblJl
YXNvbnM6Ok5vbmUgfTsKICAgICB1bnNpZ25lZCBtX3RyYW5zcGFyZW5jeUNvdW50IHsgMCB9Owor
ICAgIGJvb2wgbV9jb250ZW5mdWxQYWludERldGVjdGVkIHsgZmFsc2UgfTsKIH07CiAKIGNsYXNz
IEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgewpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAkobm9uZXhpc3RlbnQpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBX
aWtpTWVkaWEgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIgorCisjaW5jbHVkZSAiRnJhbWVW
aWV3LmgiCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworYm9vbCBDb250ZW50ZnVsUGFpbnRDaGVja2VyOjpxdWFsaWZpZXNGb3JDb250ZW50ZnVs
UGFpbnQoRnJhbWVWaWV3JiBmcmFtZVZpZXcpCit7CisgICAgQVNTRVJUKCFmcmFtZVZpZXcubmVl
ZHNMYXlvdXQoKSk7CisgICAgQVNTRVJUKGZyYW1lVmlldy5yZW5kZXJWaWV3KCkpOworCisgICAg
YXV0byBvbGRQYWludEJlaGF2aW9yID0gZnJhbWVWaWV3LnBhaW50QmVoYXZpb3IoKTsKKyAgICBh
dXRvIG9sZEVudGlyZUNvbnRlbnRzID0gZnJhbWVWaWV3LnBhaW50c0VudGlyZUNvbnRlbnRzKCk7
CisKKyAgICBmcmFtZVZpZXcuc2V0UGFpbnRCZWhhdmlvcihQYWludEJlaGF2aW9yOjpGbGF0dGVu
Q29tcG9zaXRpbmdMYXllcnMpOworICAgIGZyYW1lVmlldy5zZXRQYWludHNFbnRpcmVDb250ZW50
cyh0cnVlKTsKKworICAgIEdyYXBoaWNzQ29udGV4dCBjaGVja2VyQ29udGV4dChHcmFwaGljc0Nv
bnRleHQ6OlBhaW50SW52YWxpZGF0aW9uUmVhc29uczo6RGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50
KTsKKyAgICBmcmFtZVZpZXcucGFpbnQoY2hlY2tlckNvbnRleHQsIGZyYW1lVmlldy5yZW5kZXJW
aWV3KCktPmRvY3VtZW50UmVjdCgpKTsKKworICAgIGZyYW1lVmlldy5zZXRQYWludHNFbnRpcmVD
b250ZW50cyhvbGRFbnRpcmVDb250ZW50cyk7CisgICAgZnJhbWVWaWV3LnNldFBhaW50QmVoYXZp
b3Iob2xkUGFpbnRCZWhhdmlvcik7CisKKyAgICByZXR1cm4gY2hlY2tlckNvbnRleHQuY29udGVu
ZnVsUGFpbnREZXRlY3RlZCgpOworfQorCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmgJKG5vbmV4aXN0ZW50KQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRp
YSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIEZyYW1lVmlldzsKKworY2xhc3MgQ29udGVudGZ1bFBhaW50Q2hl
Y2tlciB7CitwdWJsaWM6CisgICAgc3RhdGljIGJvb2wgcXVhbGlmaWVzRm9yQ29udGVudGZ1bFBh
aW50KEZyYW1lVmlldyYpOworfTsKKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCShyZXZpc2lvbiAyNjA2MzkpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC03MTYsNyArNzE2LDggQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFp
bnRGaWxsTGF5ZQogICAgIEJhY2tncm91bmRCbGVlZEF2b2lkYW5jZSBibGVlZEF2b2lkYW5jZSwg
SW5saW5lRmxvd0JveCogYm94LCBjb25zdCBMYXlvdXRTaXplJiBib3hTaXplLCBDb21wb3NpdGVP
cGVyYXRvciBvcCwgUmVuZGVyRWxlbWVudCogYmFja2dyb3VuZE9iamVjdCwgQmFzZUJhY2tncm91
bmRDb2xvclVzYWdlIGJhc2VCZ0NvbG9yVXNhZ2UpCiB7CiAgICAgR3JhcGhpY3NDb250ZXh0JiBj
b250ZXh0ID0gcGFpbnRJbmZvLmNvbnRleHQoKTsKLSAgICBpZiAoY29udGV4dC5wYWludGluZ0Rp
c2FibGVkKCkgfHwgcmVjdC5pc0VtcHR5KCkpCisKKyAgICBpZiAoKGNvbnRleHQucGFpbnRpbmdE
aXNhYmxlZCgpICYmICFjb250ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpKSB8fCByZWN0
LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYm9vbCBpbmNsdWRlTGVmdEVkZ2Ug
PSBib3ggPyBib3gtPmluY2x1ZGVMb2dpY2FsTGVmdEVkZ2UoKSA6IHRydWU7CkBAIC03MzEsNiAr
NzMyLDE0IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50RmlsbExheWUKICAgICBT
dHlsZUltYWdlKiBiZ0ltYWdlID0gYmdMYXllci5pbWFnZSgpOwogICAgIGJvb2wgc2hvdWxkUGFp
bnRCYWNrZ3JvdW5kSW1hZ2UgPSBiZ0ltYWdlICYmIGJnSW1hZ2UtPmNhblJlbmRlcih0aGlzLCBz
dHlsZSgpLmVmZmVjdGl2ZVpvb20oKSk7CiAgICAgCisgICAgaWYgKGNvbnRleHQuZGV0ZWN0aW5n
Q29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAgaWYgKCFjb250ZXh0LmNvbnRlbmZ1bFBhaW50
RGV0ZWN0ZWQoKSAmJiBzaG91bGRQYWludEJhY2tncm91bmRJbWFnZSAmJiBiZ0ltYWdlLT5jYWNo
ZWRJbWFnZSgpKSB7CisgICAgICAgICAgICBpZiAoc3R5bGUoKS5iYWNrZ3JvdW5kU2l6ZVR5cGUo
KSAhPSBGaWxsU2l6ZVR5cGU6OlNpemUgfHwgIXN0eWxlKCkuYmFja2dyb3VuZFNpemVMZW5ndGgo
KS5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgY29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnRE
ZXRlY3RlZCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorCiAgICAg
aWYgKGNvbnRleHQuaW52YWxpZGF0aW5nSW1hZ2VzV2l0aEFzeW5jRGVjb2RlcygpKSB7CiAgICAg
ICAgIGlmIChzaG91bGRQYWludEJhY2tncm91bmRJbWFnZSAmJiBiZ0ltYWdlLT5jYWNoZWRJbWFn
ZSgpLT5pc0NsaWVudFdhaXRpbmdGb3JBc3luY0RlY29kaW5nKCp0aGlzKSkKICAgICAgICAgICAg
IGJnSW1hZ2UtPmNhY2hlZEltYWdlKCktPnJlbW92ZUFsbENsaWVudHNXYWl0aW5nRm9yQXN5bmNE
ZWNvZGluZygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52
YXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1M
Q2FudmFzLmNwcAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckhUTUxDYW52YXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw2ICs3MSwxMyBAQCB2
b2lkIFJlbmRlckhUTUxDYW52YXM6OnBhaW50UmVwbGFjZWQoUGFpCiAgICAgR3JhcGhpY3NDb250
ZXh0JiBjb250ZXh0ID0gcGFpbnRJbmZvLmNvbnRleHQoKTsKIAogICAgIExheW91dFJlY3QgY29u
dGVudEJveFJlY3QgPSB0aGlzLT5jb250ZW50Qm94UmVjdCgpOworCisgICAgaWYgKGNvbnRleHQu
ZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAgaWYgKCFjb250ZXh0LmNvbnRl
bmZ1bFBhaW50RGV0ZWN0ZWQoKSAmJiBjYW52YXNFbGVtZW50KCkucmVuZGVyaW5nQ29udGV4dCgp
KQorICAgICAgICAgICAgY29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCiAgICAgY29udGVudEJveFJlY3QubW92ZUJ5KHBhaW50T2Zm
c2V0KTsKICAgICBMYXlvdXRSZWN0IHJlcGxhY2VkQ29udGVudFJlY3QgPSB0aGlzLT5yZXBsYWNl
ZENvbnRlbnRSZWN0KCk7CiAgICAgcmVwbGFjZWRDb250ZW50UmVjdC5tb3ZlQnkocGFpbnRPZmZz
ZXQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCShyZXZp
c2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00OTIsNiArNDkyLDEzIEBAIHZvaWQgUmVuZGVySW1hZ2U6OnBh
aW50UmVwbGFjZWQoUGFpbnRJbmYKICAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciA9IGRvY3Vt
ZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKTsKICAgICBMYXlvdXRVbml0IG1pc3NpbmdJbWFnZUJv
cmRlcldpZHRoKDEgLyBkZXZpY2VTY2FsZUZhY3Rvcik7CiAKKyAgICBpZiAoY29udGV4dC5kZXRl
Y3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgeworICAgICAgICBpZiAoIWNvbnRleHQuY29udGVuZnVs
UGFpbnREZXRlY3RlZCgpICYmICFpc0RlZmVycmVkSW1hZ2UoZWxlbWVudCgpKSAmJiBjYWNoZWRJ
bWFnZSgpICYmIGNhY2hlZEltYWdlKCktPmNhblJlbmRlcih0aGlzLCBkZXZpY2VTY2FsZUZhY3Rv
cikgJiYgIWNvbnRlbnRTaXplLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIGNvbnRleHQuc2V0Q29u
dGVudGZ1bFBhaW50RGV0ZWN0ZWQoKTsKKworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAg
aWYgKCFpbWFnZVJlc291cmNlKCkuY2FjaGVkSW1hZ2UoKSB8fCBpc0RlZmVycmVkSW1hZ2UoZWxl
bWVudCgpKSB8fCBzaG91bGREaXNwbGF5QnJva2VuSW1hZ2VJY29uKCkpIHsKICAgICAgICAgaWYg
KHBhaW50SW5mby5waGFzZSA9PSBQYWludFBoYXNlOjpTZWxlY3Rpb24pCiAgICAgICAgICAgICBy
ZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAJKHJl
dmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1NDAsNiArNDU0MCw5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OnBhaW50TGF5ZXJDb250ZW50cyhHcmEKIHsKICAgICBBU1NFUlQoaXNTZWxmUGFpbnRpbmdMYXll
cigpIHx8IGhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCgpKTsKIAorICAgIGlmIChjb250
ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpICYmIGNvbnRleHQuY29udGVuZnVsUGFpbnRE
ZXRlY3RlZCgpKQorICAgICAgICByZXR1cm47CisKICAgICBhdXRvIGxvY2FsUGFpbnRGbGFncyA9
IHBhaW50RmxhZ3MgLSBQYWludExheWVyQXBwbGllZFRyYW5zZm9ybTsKICAgICBib29sIGhhdmVU
cmFuc3BhcmVuY3kgPSBsb2NhbFBhaW50RmxhZ3MuY29udGFpbnMoUGFpbnRMYXllckhhdmVUcmFu
c3BhcmVuY3kpOwogICAgIGJvb2wgaXNTZWxmUGFpbnRpbmdMYXllciA9IHRoaXMtPmlzU2VsZlBh
aW50aW5nTGF5ZXIoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRl
by5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVv
LmNwcAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZGVvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA0LDYgKzIwNCwxMiBAQCB2b2lkIFJlbmRl
clZpZGVvOjpwYWludFJlcGxhY2VkKFBhaW50SW5mCiAgICAgTGF5b3V0UmVjdCBjb250ZW50UmVj
dCA9IGNvbnRlbnRCb3hSZWN0KCk7CiAgICAgY29udGVudFJlY3QubW92ZUJ5KHBhaW50T2Zmc2V0
KTsKICAgICBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQgPSBwYWludEluZm8uY29udGV4dCgpOwor
CisgICAgaWYgKGNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAg
Y29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCiAgICAgYm9vbCBjbGlwID0gIWNvbnRlbnRSZWN0LmNvbnRhaW5zKHJlY3QpOwogICAg
IEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihjb250ZXh0LCBjbGlwKTsKICAg
ICBpZiAoY2xpcCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWludGVyLmNw
cAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWlu
dGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkRpc3Bs
YXlSdW4uaCIKICNpbmNsdWRlICJGaWx0ZXJPcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAiR3JhcGhp
Y3NDb250ZXh0LmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIklu
bGluZVRleHRCb3guaCIKICNpbmNsdWRlICJSZW5kZXJDb21iaW5lVGV4dC5oIgogI2luY2x1ZGUg
IlJlbmRlckxheWVyLmgiCkBAIC0xMDUsNiArMTA2LDEzIEBAIHZvaWQgVGV4dFBhaW50ZXI6OnBh
aW50VGV4dE9yRW1waGFzaXNNYXIKICAgICBmbG9hdCBlbXBoYXNpc01hcmtPZmZzZXQsIGNvbnN0
IEZsb2F0UG9pbnQmIHRleHRPcmlnaW4sIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBl
bmRPZmZzZXQpCiB7CiAgICAgQVNTRVJUKHN0YXJ0T2Zmc2V0IDwgZW5kT2Zmc2V0KTsKKworICAg
IGlmIChtX2NvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAgaWYg
KCF0ZXh0UnVuLnRleHQoKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkuaXNBbGxTcGVjaWFsQ2hh
cmFjdGVyczxpc0hUTUxTcGFjZT4oKSkKKyAgICAgICAgICAgIG1fY29udGV4dC5zZXRDb250ZW50
ZnVsUGFpbnREZXRlY3RlZCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKCFl
bXBoYXNpc01hcmsuaXNFbXB0eSgpKQogICAgICAgICBtX2NvbnRleHQuZHJhd0VtcGhhc2lzTWFy
a3MoZm9udCwgdGV4dFJ1biwgZW1waGFzaXNNYXJrLCB0ZXh0T3JpZ2luICsgRmxvYXRTaXplKDAs
IGVtcGhhc2lzTWFya09mZnNldCksIHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpOwogICAgIGVsc2Ug
aWYgKHN0YXJ0T2Zmc2V0IHx8IGVuZE9mZnNldCA8IHRleHRSdW4ubGVuZ3RoKCkgfHwgIW1fZ2x5
cGhEaXNwbGF5TGlzdCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHUm9vdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSb290LmNwcAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjks
NyBAQAogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJMYXlvdXRSZXBhaW50
ZXIuaCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUmVuZGVyQ2hpbGRJdGVyYXRvci5o
IgogI2luY2x1ZGUgIlJlbmRlckl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIK
ICNpbmNsdWRlICJSZW5kZXJMYXlvdXRTdGF0ZS5oIgpAQCAtMjExLDcgKzIxMiw3IEBAIHZvaWQg
UmVuZGVyU1ZHUm9vdDo6cGFpbnRSZXBsYWNlZChQYWludEkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgLy8gRG9uJ3QgcGFpbnQsIGlmIHRoZSBjb250ZXh0IGV4cGxpY2l0bHkgZGlzYWJsZWQgaXQu
Ci0gICAgaWYgKHBhaW50SW5mby5jb250ZXh0KCkucGFpbnRpbmdEaXNhYmxlZCgpKQorICAgIGlm
IChwYWludEluZm8uY29udGV4dCgpLnBhaW50aW5nRGlzYWJsZWQoKSAmJiAhcGFpbnRJbmZvLmNv
bnRleHQoKS5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgLy8gU1ZHIG91dGxpbmVzIGFyZSBwYWludGVkIGR1cmluZyBQYWludFBoYXNlOjpGb3JlZ3Jv
dW5kLgpAQCAtMjIzLDYgKzIyNCwxNyBAQCB2b2lkIFJlbmRlclNWR1Jvb3Q6OnBhaW50UmVwbGFj
ZWQoUGFpbnRJCiAgICAgaWYgKHN2Z1NWR0VsZW1lbnQoKS5oYXNFbXB0eVZpZXdCb3goKSkKICAg
ICAgICAgcmV0dXJuOwogCisgICAgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0ID0gcGFpbnRJbmZv
LmNvbnRleHQoKTsKKyAgICBpZiAoY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkg
eworICAgICAgICBmb3IgKGF1dG8mIGN1cnJlbnQgOiBjaGlsZHJlbk9mVHlwZTxSZW5kZXJPYmpl
Y3Q+KCp0aGlzKSkgeworICAgICAgICAgICAgaWYgKCFjdXJyZW50LmlzU1ZHSGlkZGVuQ29udGFp
bmVyKCkpIHsKKyAgICAgICAgICAgICAgICBjb250ZXh0LnNldENvbnRlbnRmdWxQYWludERldGVj
dGVkKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICAvLyBEb24ndCBwYWludCBpZiB3ZSBkb24n
dCBoYXZlIGtpZHMsIGV4Y2VwdCBpZiB3ZSBoYXZlIGZpbHRlcnMgd2Ugc2hvdWxkIHBhaW50IHRo
b3NlLgogICAgIGlmICghZmlyc3RDaGlsZCgpKSB7CiAgICAgICAgIGF1dG8qIHJlc291cmNlcyA9
IFNWR1Jlc291cmNlc0NhY2hlOjpjYWNoZWRSZXNvdXJjZXNGb3JSZW5kZXJlcigqdGhpcyk7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRo
YWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29u
dGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBhIHJ1bnRpbWUgZmxhZyBmb3IgcGFpbnQtdGltaW5nIChwYWludFRpbWluZ0Vu
YWJsZWQpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJl
bmNlc1NldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0UGFp
bnRUaW1pbmdFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
c1JlZlByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0
TWFuYWdlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbjo6dXBkYXRlUHJlZmVyZW5jZXNTdG9yZSk6CisKIDIwMjAtMDQtMjMgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQm91bmNlIGRp
c3BsYXlXYXNSZWZyZXNoZWQoKSB2aWEgRXZlbnREaXNwYXRjaGVyCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTgy
NSw2ICs4MjUsMTMgQEAgTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ6CiAgIGh1bWFuUmVhZGFi
bGVEZXNjcmlwdGlvbjogIlVzZSBtb2Rlcm4gbWVkaWEgY29udHJvbHMgbG9vayIKICAgd2ViY29y
ZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAorUGFpbnRUaW1pbmdFbmFibGVkOgor
ICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6
ICJQYWludCBUaW1pbmciCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQYWlu
dFRpbWluZyBBUEkiCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisK
IFJlc291cmNlVGltaW5nRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRy
dWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuY3BwCShyZXZpc2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgyMCw2ICsxODIwLDE2IEBA
IGJvb2wgV0tQcmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFcKICAgICByZXR1cm4gdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+dXNlclRpbWluZ0VuYWJsZWQoKTsKIH0KIAordm9pZCBXS1By
ZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYsIGJvb2wgZmxhZykKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRQYWlu
dFRpbWluZ0VuYWJsZWQoZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFBhaW50VGlt
aW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVy
biB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5wYWludFRpbWluZ0VuYWJsZWQoKTsKK30KKwogdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoZmxhZyk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgJKHJl
dmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXNSZWZQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwMCw2ICs1MDAsMTAgQEAgV0tf
RVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbgogV0tfRVhQT1JUIGJvb2wgV0tQ
cmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCiAvLyBE
ZWZhdWx0cyB0byBmYWxzZQorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFBhaW50VGlt
aW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOworV0tfRVhQT1JUIGJvb2wg
V0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKKwor
Ly8gRGVmYXVsdHMgdG8gZmFsc2UKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRSZXNv
dXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9S
VCBib29sIFdLUHJlZmVyZW5jZXNHZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZik7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAJKHJldmlz
aW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIyLDYgKzEyMiw3
IEBAIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGEKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENhY2hlQVBJRW5hYmxlZChzdG9y
ZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNhY2hlQVBJRW5hYmxlZEtl
eSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRG
ZXRjaEFQSUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
OjpmZXRjaEFQSUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp1c2VyVGltaW5nRW5hYmxlZEtleSgpKSk7CisgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJs
ZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYWludFRpbWlu
Z0VuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6cmVzb3VyY2VUaW1pbmdFbmFibGVkS2V5KCkpKTsKICAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJS2VlcEFsaXZl
RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZldGNo
QVBJS2VlcEFsaXZlRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVzdHJpY3RlZEhUVFBSZXNwb25z
ZUFjY2Vzc0tleSgpKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShyZXZpc2lv
biAyNjA2MzkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxub2Ft
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBw
YWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
ODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBhIHByZWZlcmVuY2Uga2V5IGZvciBwYWludCB0aW1pbmcuCisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAg
ICAgKC1bV2ViUHJlZmVyZW5jZXMgcGFpbnRUaW1pbmdFbmFibGVkXSk6CisgICAgICAgICgtW1dl
YlByZWZlcmVuY2VzIHNldFBhaW50VGltaW5nRW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToK
KwogMjAyMC0wNC0yMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEplc3VzIENhbGxpbmcgYXBwIG5lZWRzIG1vcmUgV2ViU1FMCkluZGV4OiBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTI2MCw2ICsyNjAsNyBAQAogI2RlZmluZSBXZWJLaXRBdHRhY2htZW50RWxlbWVudEVuYWJs
ZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QXR0YWNobWVudEVsZW1lbnRFbmFibGVkIgogI2RlZmlu
ZSBXZWJLaXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkIgogI2RlZmluZSBXZWJLaXRNZW51SXRlbUVsZW1l
bnRFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdE1lbnVJdGVtRWxlbWVudEVuYWJsZWQiCisj
ZGVmaW5lIFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRQYWlu
dFRpbWluZ0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFVzZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5j
ZUtleSBAIldlYktpdFVzZXJUaW1pbmdFbmFibGVkIgogI2RlZmluZSBXZWJLaXRSZXNvdXJjZVRp
bWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkIgog
I2RlZmluZSBXZWJLaXRNZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydFBy
ZWZlcmVuY2VLZXkgQCJXZWJLaXRNZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3Vw
cG9ydCIKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlcy5tbQkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjg1LDYgKzY4
NSw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogI2lmIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJW
RVIpCiAgICAgICAgIEBOTywgV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkUHJlZmVy
ZW5jZUtleSwKICNlbmRpZgorICAgICAgICBATk8sIFdlYktpdFBhaW50VGltaW5nRW5hYmxlZFBy
ZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJl
bmNlS2V5LAogICAgICAgICBATk8sIFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFByZWZlcmVu
Y2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0TWVkaWFVc2VyR2VzdHVyZUluaGVyaXRzRnJvbURv
Y3VtZW50LApAQCAtMzMwOSw2ICszMzEwLDE2IEBAIC0gKHZvaWQpc2V0VXNlclRpbWluZ0VuYWJs
ZWQ6KEJPT0wpZmxhZwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0
VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9PTClwYWludFRpbWlu
Z0VuYWJsZWQKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRQYWlu
dFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9pZClzZXRQYWludFRpbWlu
Z0VuYWJsZWQ6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JL
ZXk6V2ViS2l0UGFpbnRUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKIC0gKEJPT0wp
cmVzb3VyY2VUaW1pbmdFbmFibGVkCiB7CiAgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JL
ZXk6V2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmgJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTY2MSw2ICs2
NjEsNyBAQCBAaW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzIChXZWJQcml2YXRlKQogQHByb3BlcnR5
IChub25hdG9taWMpIEJPT0wga2V5Z2VuRWxlbWVudEVuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0
b21pYykgQk9PTCB1c2VyVGltaW5nRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09M
IHJlc291cmNlVGltaW5nRW5hYmxlZDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHBhaW50
VGltaW5nRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGxpbmtQcmVsb2FkRW5h
YmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIG1lZGlhVXNlckdlc3R1cmVJbmhlcml0
c0Zyb21Eb2N1bWVudDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGlzU2VjdXJlQ29udGV4
dEF0dHJpYnV0ZUVuYWJsZWQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTMyMDEsNiArMzIwMSw3IEBA
IC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW4KIAogICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQocHJl
ZmVyZW5jZXMudXNlclRpbWluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnJl
c291cmNlVGltaW5nRW5hYmxlZCk7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMucGFpbnRUaW1pbmdF
bmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dExpbmtQcmVsb2FkRW5hYmxlZChwcmVmZXJlbmNlcy5saW5rUHJlbG9hZEVuYWJsZWQpOwogICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TWVkaWFQcmVsb2Fk
aW5nRW5hYmxlZChwcmVmZXJlbmNlcy5tZWRpYVByZWxvYWRpbmdFbmFibGVkKTsKICAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldElzU2VjdXJlQ29udGV4dEF0
dHJpYnV0ZUVuYWJsZWQocHJlZmVyZW5jZXMuaXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxl
ZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjA2MzkpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBwcmVmZXJlbmNl
IGtleSBmb3IgcGFpbnQtdGltaW5nLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoK
KyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNw
cDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZl
cmVuY2VzQ2hhbmdlZCk6CisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5p
ZGw6CisgICAgICAgICogSW50ZXJmYWNlcy9XZWJLaXQuaWRsOgorICAgICAgICAgICAgICAgIFRv
dWNoZWQgdG8gdHJpZ2dlciBidWlsZC4KKwogMjAyMC0wNC0yMCAgUm9zcyBLaXJzbGluZyAgPHJv
c3Mua2lyc2xpbmdAc29ueS5jb20+CiAKICAgICAgICAgQ2xhc3NlcyBtYXJrZWQgZmluYWwgc2hv
dWxkIG5vdCB1c2UgcHJvdGVjdGVkIGFjY2VzcyBzcGVjaWZpZXIKSW5kZXg6IFNvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZpc2lv
biAyNjA2MzkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTk3LDYgKzE5Nyw4IEBACiAKICNkZWZpbmUgV2Vi
S2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRVc2VyVGltaW5nRW5hYmxl
ZCIKIAorI2RlZmluZSBXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJL
aXRQYWludFRpbWluZ0VuYWJsZWQiCisKICNkZWZpbmUgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFi
bGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkIgogCiAjZGVmaW5l
IFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdExpbmtQcmVsb2Fk
RW5hYmxlZCIKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5j
cHAJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZl
cmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzI2LDYgKzMyNiw4IEBAIHZvaWQgV2ViUHJl
ZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0U2UKIAogICAgIENGRGljdGlvbmFyeUFkZFZhbHVl
KGRlZmF1bHRzLCBDRlNUUihXZWJLaXRSZXNvdXJjZVRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5
KSwga0NGQm9vbGVhbkZhbHNlKTsKIAorICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRz
LCBDRlNUUihXZWJLaXRQYWludFRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVh
bkZhbHNlKTsKKwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJL
aXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKIAog
ICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRNZWRpYVByZWxv
YWRpbmdFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CkBAIC0yNDE0LDYg
KzI0MTYsMjAgQEAgSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6cmVzb3VyY2VUaW1pbmdFbgogICAg
IHJldHVybiBTX09LOwogfQogCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRQYWludFRpbWlu
Z0VuYWJsZWQoQk9PTCBlbmFibGVkKQoreworICAgIHNldEJvb2xWYWx1ZShXZWJLaXRQYWludFRp
bWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LCBlbmFibGVkKTsKKyAgICByZXR1cm4gU19PSzsKK30K
KworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6cGFpbnRUaW1pbmdFbmFibGVkKF9PdXRfIEJPT0wq
IGVuYWJsZWQpCit7CisgICAgaWYgKCFlbmFibGVkKQorICAgICAgICByZXR1cm4gRV9QT0lOVEVS
OworICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KFdlYktpdFBhaW50VGltaW5nRW5hYmxl
ZFByZWZlcmVuY2VLZXkpOworICAgIHJldHVybiBTX09LOworfQorCiBIUkVTVUxUIFdlYlByZWZl
cmVuY2VzOjpzZXJ2ZXJUaW1pbmdFbmFibGVkKF9PdXRfIEJPT0wqIGVuYWJsZWQpCiB7CiAgICAg
aWYgKCFlbmFibGVkKQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5j
ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNl
cy5oCShyZXZpc2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVm
ZXJlbmNlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMDMsNiArMzAzLDggQEAgcHVibGljOgogICAg
IC8vIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU4CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIGFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoX091dF8gQk9PTCopOwogICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRBbGxvd1RvcE5hdmlnYXRpb25U
b0RhdGFVUkxzKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBw
YWludFRpbWluZ0VuYWJsZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBzZXRQYWludFRpbWluZ0VuYWJsZWQoQk9PTCk7CiAKICAgICAvLyBXZWJQ
cmVmZXJlbmNlcwogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNp
b24gMjYwNjM5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTUyODQsNiArNTI4NCwxMSBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVBy
ZWZlcmVuY2VzQ2hhbmdlCiAgICAgICAgIHJldHVybiBocjsKICAgICBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFVzZXJUaW1pbmdFbmFibGVkKCEhZW5hYmxlZCk7
CiAKKyAgICBociA9IHByZWZzUHJpdmF0ZS0+cGFpbnRUaW1pbmdFbmFibGVkKCZlbmFibGVkKTsK
KyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJuIGhyOworICAgIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1pbmdFbmFibGVkKCEhZW5h
YmxlZCk7CisKICAgICBociA9IHByZWZzUHJpdmF0ZS0+cmVzb3VyY2VUaW1pbmdFbmFibGVkKCZl
bmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhyOwpJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lX
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCShyZXZpc2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNjUsNCArMjY1LDYgQEAgaW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1By
aXZhdGU4IDogSVdlYgogewogICAgIEhSRVNVTFQgYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJM
cyhbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgc2V0QWxsb3dUb3BO
YXZpZ2F0aW9uVG9EYXRhVVJMcyhbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBwYWlu
dFRpbWluZ0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MKik7CisgICAgSFJFU1VMVCBzZXRQYWlu
dFRpbWluZ0VuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwogfQpJbmRleDogU291cmNlL1dlYktp
dExlZ2FjeS93aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvV2ViS2l0LmlkbAkocmV2aXNpb24gMjYwNjM5KQor
KysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogY3BwX3F1b3RlKCIvKiIpCi1jcHBfcXVv
dGUoIiAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxNSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIikKK2NwcF9xdW90ZSgiICogQ29weXJpZ2h0
IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDE1LCAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4iKQogY3BwX3F1b3RlKCIgKiIpCiBjcHBfcXVvdGUoIiAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dCIpCiBjcHBfcXVvdGUoIiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyIpCkluZGV4OiBUb29scy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjA2MzkpCisrKyBU
b29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wNC0x
MyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50
IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBwcmVmZXJlbmNlIGtleSBmb3IgcGFpbnQtdGltaW5n
LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAg
ICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHJlc2V0V2Vi
UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cmVz
ZXRQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisKIDIwMjAtMDQtMjMgIFl1c3VrZSBT
dXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBzdHJlc3MvZW5zdXJlLWNyYXNo
LmpzIHNob3VsZG4ndCBzcGV3IHN0dWZmIG9udG8gbXkgc2NyZWVuCkluZGV4OiBUb29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCShyZXZpc2lvbiAyNjA2MzkpCisrKyBU
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHdvcmtpbmcgY29weSkK
QEAgLTEwMDQsNiArMTAwNCw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0Nv
bnNpc3QKICAgICBbcHJlZmVyZW5jZXMgc2V0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ6WUVT
XTsKICAgICBbcHJlZmVyZW5jZXMgc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkOllFU107CiAgICAg
W3ByZWZlcmVuY2VzIHNldFVzZXJUaW1pbmdFbmFibGVkOllFU107CisgICAgW3ByZWZlcmVuY2Vz
IHNldFBhaW50VGltaW5nRW5hYmxlZDpZRVNdOwogCiAgICAgW3ByZWZlcmVuY2VzIHNldENhY2hl
QVBJRW5hYmxlZDpOT107CiAgICAgcHJlZmVyZW5jZXMubWVkaWFDYXBhYmlsaXRpZXNFbmFibGVk
ID0gWUVTOwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUu
Y3BwCShyZXZpc2lvbiAyNjA2MzkpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJl
bmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MDMsNiArOTAzLDggQEAgc3RhdGljIHZv
aWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdAogICAgIHByZWZzUHJpdmF0ZS0+c2V0RGF0
YVRyYW5zZmVySXRlbXNFbmFibGVkKFRSVUUpOwogICAgIHByZWZzUHJpdmF0ZS0+Y2xlYXJOZXR3
b3JrTG9hZGVyU2Vzc2lvbigpOwogCisgICAgcHJlZnNQcml2YXRlLT5zZXRQYWludFRpbWluZ0Vu
YWJsZWQoVFJVRSk7CisKICAgICBzZXRBbHdheXNBY2NlcHRDb29raWVzKGZhbHNlKTsKIH0KIApJ
bmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9u
IDI2MDYzOSkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC05MzYsNiArOTM2LDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cmVz
ZXRQcmVmZXJlbmNlc1RvQwogICAgIFdLUHJlZmVyZW5jZXNTZXRGZXRjaEFQSUtlZXBBbGl2ZUVu
YWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRSZXNvdXJjZVRp
bWluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRVc2Vy
VGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CisgICAgV0tQcmVmZXJlbmNlc1NldFBh
aW50VGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1Nl
dE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVy
ZW5jZXNTZXRNZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lKHByZWZlcmVuY2VzLCB0cnVlKTsKICAg
ICBXS1ByZWZlcmVuY2VzU2V0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVB
dHRyaWJ1dGUocHJlZmVyZW5jZXMsIGZhbHNlKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDYzOSkK
KysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBA
CisyMDIwLTA0LTEzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAg
ICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgdGVzdHMgZm9yIHNvbWUgZmly
c3QtY29udGVudGZ1bC1wYWludCAoRkNQKSB1c2UtY2FzZXMuCisgICAgICAgIEVuc3VyZSB0aGF0
IEZDUCB3b3JrcyB3ZWxsIHdpdGggVk5FIChmaXJzdCBwYWludCBkZWxheSB1bnRpbCBjb250ZW50
cyBhcmUgdmlzdWFsbHkgbm9uLWVtcHR5KS4KKworICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9w
YWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1h
bmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3Jt
YW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanM6IEFkZGVkLgorICAgICAgICAg
ICAgICAgIFRlc3QgZXhpc3RlbmNlIG9mIHBhaW50IHRpbWluZyBBUEkgb24gdGhlIHdpbmRvdyBv
YmplY3QuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1wYWlu
dC1mcmFtZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkv
Zmlyc3QtY29udGVudGZ1bC1wYWludC1mcmFtZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVy
Zm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtd2l0aC13b3JrZXItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1w
YWludC13aXRoLXdvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkv
cmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5j
ZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgICAgICAgICBUZXN0
IHRoYXQgRkNQIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNyb3NzLW9yaWdpbiBmcmFtZXMgYW5kIHdv
cmtlcnMuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIt
Zmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBl
cmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQt
YXBpLXV0aWxzLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5jIHdhaXRGb3JGQ1ApOgorICAgICAg
ICAgICAgICAgIFRlc3QgdGhhdCBwZXJmb3JtYW5jZSBvYnNlcnZlcnMgYXJlIGNhbGxlZCBmb3Ig
RkNQLgorCisgICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWlu
dC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10
aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUtZXhwZWN0ZWQudHh0
OiBBZGRlZAorICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dz
dHlsZS5waHA6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3Vy
Y2VzL3N0eWxlLmNzczogIEFkZGVkLgorICAgICAgICAgICAgICAgIElmIGEgcGVuZGluZyBzdHls
ZXNoZWV0IGJsb2NrcyBwYWludGluZywgbWFrZSBzdXJlIEZDUCBpcyByZXBvcnRlZCBvbmx5IGFm
dGVyIHN0eWxlc2hlZXQgaGFzIGxvYWRlZC4KKworICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9y
bWFuY2UvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWlu
dC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3At
YWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3NjcmlwdC5waHA6IEFk
ZGVkLgorICAgICAgICAgICAgICAgIElmIFZORSBkdWUgdG8gbnVtYmVyIG9mIGNoYXJhY3RlcnMg
YmxvY2tzIHBhaW50aW5nLCBtYWtlIHN1cmUgRkNQIGlzIHJlcG9ydGVkIG9ubHkgYWZ0ZXIgcGFp
bnRpbmcgaXMgdW5ibG9ja2VkLgorCiAyMDIwLTA0LTI0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBnZXREaXNwbGF5TWVkaWEgaXMgbm90IHJlc3BlY3Rpbmcg
YXNwZWN0IHJhdGlvIHdpdGggbWF4IGNvbnN0cmFpbnRzCkluZGV4OiBMYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJ
KHJldmlzaW9uIDI2MDYzOSkKKysrIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtp
bmcgY29weSkKQEAgLTIwOCw2ICsyMDgsOSBAQCBmYXN0L3Zpc3VhbC12aWV3cG9ydC9ydWJiZXJi
YW5kaW5nLXZpZXdwCiAjIERhdGFEZXRlY3RvcnMgdGVzdHMgb25seSBtYWtlIHNlbnNlIG9uIE1h
YwogZmFzdC9ldmVudHMvZG8tbm90LWRyYWctYW5kLWRyb3AtZGF0YS1kZXRlY3RvcnMtbGluay5o
dG1sIFsgU2tpcCBdCiAKKyMgQSByb3VuZGluZyBlcnJvciBtYXkgY2F1c2UgOTBkZWcgM2Qtcm90
YXRlZCBlbGVtZW50cyB0byBjb3VudCBhcyBwYWludGVkCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1k
ZXNjZW5kYW50Lmh0bWwKKwogd2Via2l0Lm9yZy9iLzIwMjYxNyBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BpY3R1cmUtaW4tcGljdHVyZSBbIFNraXAgXQogCiAjIFBpUCBBUEkgdGVz
dHMgYXJlIG9ubHkgcmVsZXZhbnQgb24gbWFjIGFuZCBpUGFkCkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXIt
dmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQt
dGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5j
ZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1m
b3ItbnVtLWNoYXJzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAK
K1BBU1MgcGFpbnRFbnRyeS5zdGFydFRpbWUgPiB0aW1lc3RhbXBzW2V4cGVjdGVkSXRlcmF0aW9u
c10gaXMgdHJ1ZQorUEFTUyBwYWludEVudHJ5LnN0YXJ0VGltZSA8IHRpbWVzdGFtcHNbZXhwZWN0
ZWRJdGVyYXRpb25zICsgMl0gaXMgdHJ1ZQorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHkt
bm9uLWVtcHR5LWZvci1udW0tY2hhcnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXIt
dmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWlu
Zy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDczIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKQorICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAg
ICB9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHZhciBzdHlsZUVudHJ5ID0gbnVsbAorICAg
IHZhciBwYWludEVudHJ5ID0gbnVsbAorICAgIHZhciB0aW1lc3RhbXBzID0gW10KKyAgICB2YXIg
Y2hhcnNQZXJJdGVyYXRpb24gPSA4MAorICAgIHZhciBjaGFyVGhyZXNob2xkID0gMjAwCisgICAg
dmFyIGV4cGVjdGVkSXRlcmF0aW9ucyA9IE1hdGguY2VpbChjaGFyVGhyZXNob2xkIC8gY2hhcnNQ
ZXJJdGVyYXRpb24pCisKKyAgICBmdW5jdGlvbiBzbG93U3RyaW5nKHN0ciwgZGVsYXkpIHsKKyAg
ICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JykKKyAg
ICAgICAgY29uc3Qgc291cmNlID0gYGRvY3VtZW50LndyaXRlKCcke3N0cn0nKTsgdGltZXN0YW1w
cy5wdXNoKCR7cGVyZm9ybWFuY2Uubm93KCl9KTsgY2hlY2soKTtgCisgICAgICAgIHNjcmlwdC5z
cmMgPSBgLi9yZXNvdXJjZXMvc2xvd3NjcmlwdC5waHA/Y2FjaGVCdXN0ZXI9JHtwZXJmb3JtYW5j
ZS5ub3coKX0mZGVsYXk9JHtkZWxheX0mc2NyaXB0PSR7c291cmNlfWAKKyAgICAgICAgZG9jdW1l
bnQud3JpdGUoc2NyaXB0Lm91dGVySFRNTCkKKyAgICB9CisKKyAgICBmdW5jdGlvbiBjaGVjaygp
IHsKKyAgICAgICAgaWYgKHRpbWVzdGFtcHMubGVuZ3RoIDwgZXhwZWN0ZWRJdGVyYXRpb25zICsg
MyB8fCAhcGFpbnRFbnRyeSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBkb2N1bWVu
dC5ib2R5LmlubmVyVGV4dCA9ICcnCisKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJwYWludEVudHJ5
LnN0YXJ0VGltZSA+IHRpbWVzdGFtcHNbZXhwZWN0ZWRJdGVyYXRpb25zXSIpCisgICAgICAgIHNo
b3VsZEJlVHJ1ZSgicGFpbnRFbnRyeS5zdGFydFRpbWUgPCB0aW1lc3RhbXBzW2V4cGVjdGVkSXRl
cmF0aW9ucyArIDJdIikKKyAgICAgICAgCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpCisgICAgfQorCisgICAgY29uc3Qg
b2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+IHsKKyAgICAgICAgcGFp
bnRFbnRyeSA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3BhaW50JylbMF0KKyAgICAg
ICAgaWYgKHBhaW50RW50cnkpCisgICAgICAgICAgICBjaGVjaygpCisgICAgfSk7CisgICAgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJwYWludCJdfSkKKworICAgIGZ1bmN0aW9uIG5l
eHQoKSB7CisgICAgICAgIHNsb3dTdHJpbmcoJ1x0ICcgKyBBcnJheShjaGFyc1Blckl0ZXJhdGlv
biAvIDIpLmZpbGwoJyAwIFx0IEEnKS5qb2luKCcnKSArICIgICBcblx0IiwgMC4zLCBjaGFyc1Bl
ckl0ZXJhdGlvbikKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxzY3Jp
cHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2Ny
aXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNj
cmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxz
Y3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8
c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAg
PHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAg
IDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAg
ICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1m
Y3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1w
YWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFu
Y2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHkt
Zm9yLXN0eWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIgQEAKK1BB
U1MgcGFpbnRFbnRyeS5zdGFydFRpbWUgPj0gc3R5bGVFbnRyeS5zdGFydFRpbWUgKyBzdHlsZUVu
dHJ5LmR1cmF0aW9uIGlzIHRydWUKK1RFWFQKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
cGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1u
b24tZW1wdHktZm9yLXN0eWxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3Vh
bGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0
ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Cisg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpCisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKzwvc2NyaXB0
PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+CisgICAgdmFyIHN0eWxlRW50cnkgPSBudWxsOworICAgIHZhciBwYWludEVu
dHJ5ID0gbnVsbDsKKyAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVy
KGxpc3QgPT4geworICAgICAgICBjb25zdCBwYWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlUeXBlKCdwYWludCcpOworICAgICAgICBpZiAocGFpbnRFbnRyaWVzLmxlbmd0aCkK
KyAgICAgICAgICAgIHBhaW50RW50cnkgPSBwYWludEVudHJpZXNbMF07CisKKyAgICAgICAgY29u
c3QgcmVzb3VyY2VFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3Vy
Y2UnKS5maWx0ZXIociA9PiByLm5hbWUuaW5jbHVkZXMoJ3Nsb3dzdHlsZS5waHAnKSk7CisgICAg
ICAgIGlmIChyZXNvdXJjZUVudHJpZXMubGVuZ3RoKQorICAgICAgICAgICAgc3R5bGVFbnRyeSA9
IHJlc291cmNlRW50cmllc1swXTsKKworICAgICAgICBpZiAoIXN0eWxlRW50cnkgfHwgIXBhaW50
RW50cnkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJwYWlu
dEVudHJ5LnN0YXJ0VGltZSA+PSBzdHlsZUVudHJ5LnN0YXJ0VGltZSArIHN0eWxlRW50cnkuZHVy
YXRpb24iKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfSk7CisgICAgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJwYWludCIsICJyZXNvdXJjZSJdfSk7Cis8L3Nj
cmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi9yZXNvdXJjZXMvc2xvd3N0eWxl
LnBocD9kZWxheT0wLjUiIC8+Cis8L2hlYWQ+Cis8Ym9keT4KK1RFWFQKKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Ns
b3dzY3JpcHQucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9y
bWFuY2UvcmVzb3VyY2VzL3Nsb3dzY3JpcHQucGhwCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dzY3JpcHQucGhwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsOSBAQAorPD9waHAKK2lmIChpc3NldCgkX0dFVFsiZGVsYXki
XSkpCisgICAgc2xlZXAoJF9HRVRbImRlbGF5Il0pOworaGVhZGVyKCdDYWNoZS1Db250cm9sOiBu
by1jYWNoZSwgbXVzdC1yZXZhbGlkYXRlJyk7CitoZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9q
YXZhc2NyaXB0Jyk7CisKK2VjaG8oJF9HRVRbInNjcmlwdCJdKQorPz4KKwpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvc2xvd3N0eWxlLnBocAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9z
bG93c3R5bGUucGhwCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVy
Zm9ybWFuY2UvcmVzb3VyY2VzL3Nsb3dzdHlsZS5waHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw2IEBACis8P3BocAoraWYgKGlzc2V0KCRfR0VUWyJkZWxheSJdKSkKKyAgICBzbGVlcCgkX0dF
VFsiZGVsYXkiXSk7CitoZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBtdXN0LXJldmFs
aWRhdGUnKTsKK2hlYWRlcignTG9jYXRpb246IHN0eWxlLmNzcycpOworPz4KSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3N0eWxlLmNzcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zdHls
ZS5jc3MJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5j
ZS9yZXNvdXJjZXMvc3R5bGUuY3NzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorYm9k
eSB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4KK307ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjA2
MzkpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsODUgQEAKKzIwMjAtMDQtMjEgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJr
aXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0OTkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBvcnRl
ZCB3M2MgdGVzdHMgZm9yIGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgYW5kIHVwZGF0ZWQgdGVzdCBo
YXJuZXNzLgorCisgICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbjoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNr
Z3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1z
dGVwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZh
cy1jb250ZXh0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGll
bnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5z
aXRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10
ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0
eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91
dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91
dC1vZi1ib3VuZHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtaW1hZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtb3BhY2l0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12
aXNpYmlsaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1p
bnB1dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBo
aWMtcHNldWRvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXdpdGgtcnRsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS93M2MtaW1wb3J0
LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9y
ZXNvdXJjZXM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvcmVzb3VyY2VzL2NpcmNsZS5zdmc6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1wYWlu
dGluZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzOiBB
ZGRlZC4KKyAgICAgICAgKHdhaXRGb3JBbmltYXRpb25GcmFtZXMpOgorICAgICAgICAoYXN5bmMg
YXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCk6CisgICAgICAgIChhc3luYyBhc3NlcnRGaXJz
dENvbnRlbnRmdWxQYWludC5yZXR1cm4ubmV3LlByb21pc2UpOgorICAgICAgICAoYXN5bmMgYXNz
ZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAgICAoYXN5bmMgdGVzdF9mY3ApOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM6CisgICAg
ICAgIChwcm9taXNlX3JlamVjdHNfanMpOgorICAgICAgICAocHJvbWlzZV9yZWplY3RzX2RvbSk6
CisgICAgICAgIChwcm9taXNlX3JlamVjdHNfZXhhY3RseSk6CisgICAgICAgIChmb3JtYXRfdmFs
dWUpOgorCiAyMDIwLTA0LTI0ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgSW1wb3J0IGZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2guaHRtbApJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpz
b24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBv
cnQtZXhwZWN0YXRpb25zLmpzb24JKHJldmlzaW9uIDI2MDYzOSkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCSh3b3JraW5nIGNv
cHkpCkBAIC0xMyw2ICsxMywxMSBAQAogICAgICJjc3MvZ2VvbWV0cnkiOiAiaW1wb3J0IiwgCiAg
ICAgImNzcy9zdXBwb3J0IjogImltcG9ydCIsIAogICAgICJjdXN0b20tZWxlbWVudHMiOiAiaW1w
b3J0IiwgCisgICAgInBhaW50LXRpbWluZy8iOiAiaW1wb3J0IiwgCisgICAgInBhaW50LXRpbWlu
Zy9mY3Atb25seSI6ICJpbXBvcnQiLCAKKyAgICAicGFpbnQtdGltaW5nL3Jlc291cmNlcyI6ICJp
bXBvcnQiLCAKKyAgICAicGFpbnQtdGltaW5nL3Jlc291cmNlcy8iOiAiaW1wb3J0IiwgCisgICAg
InJlc291cmNlcy90ZXN0aGFybmVzcy5qcyI6ICJpbXBvcnQiLCAKICAgICAic2hhZG93LWRvbSI6
ICJpbXBvcnQiLCAKICAgICAidG9vbHMiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1hbmltYXRpb25z
IjogImltcG9ydCIsIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBzaXplLiAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1iYWNrZ3JvdW5kLXNpemUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFj
a2dyb3VuZC1zaXplLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDog
RkNQIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemU8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsK
KyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNv
dXJjZXMvY2lyY2xlcy5wbmcpOworICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDAgMDsKKyAgICB9
CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0
LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEw
MCUgMTAwJTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlw
dD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFj
a2dyb3VuZCBzaXplLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmctaW1hZ2Utc2V0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3Jv
dW5kIGltYWdlIGluIGltYWdlLXNldC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1z
ZXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVy
Zm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gYmFja2dyb3VuZCBpbWFnZSBp
biBpbWFnZS1zZXQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6
IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRm
dWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29u
dGVudGZ1bCB7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtaW1hZ2Utc2V0KHVy
bCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpIDF4KTsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFn
ZTogaW1hZ2Utc2V0KHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpIDF4KTsKKyAgICB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgi
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gYmFja2dyb3VuZCBpbWFnZSBpbiBp
bWFnZS1zZXQuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
Zm9yIGJhY2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGUuIAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWJnLWltYWdlLXR3by1zdGVwcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
Zy1pbWFnZS10d28tc3RlcHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM0IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBU
ZXN0OiBGQ1Agc2hvdWxkIGZpcmUgZm9yIGJhY2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2li
bGU8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgYW5kIHBy
ZUZDUCBjbGFzc2VzIGFyZSBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFp
bi5wcmVGQ1AgeworICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgfQorCisgICAgI21h
aW4uY29udGVudGZ1bCwgICNtYWluLnByZUZDUCB7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6
IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgICNtYWluLmNvbnRl
bnRmdWwgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOworICAgIH0KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0Pgor
PGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxl
LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1j
YW52YXMtY29udGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNh
bnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Y2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIENhbnZhcyBzaG91bGQgY291bnQgYXMgY29udGVudGZ1bCB3aGVuIGNvbnRleHQg
aXMgY3JlYXRlZCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5j
ZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHdoZW4gY2FudmFzIGNvbnRleHQgaXMgY3JlYXRlZDwv
dGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvY2Fu
dmFzPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGFzc2VydF9w
cmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcg
aXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRl
bnRmdWxQYWludCh0KTsKKyAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnY2FudmFzJyk7CisgICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcp
OworICAgIGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgMTAwLCAxMDApOworICAgIGF3YWl0IGFzc2Vy
dEZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICB9LCAnQ2FudmFzIHNob3VsZCBjb3VudCBhcyBj
b250ZW50ZnVsIHdoZW4gY29udGV4dCBpcyBjcmVhdGVkJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgR3JhZGllbnRzIHNob3VsZCBub3QgY291bnQgYXMgY29u
dGVudGZ1bCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWdyYWRpZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDog
RkNQIHNob3VsZCBub3QgZmlyZSB3aXRoIGdyYWRpZW50LW9ubHkgYmFja2dyb3VuZHM8L3RpdGxl
PgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQo
dG8gYm90dG9tLCBvcmFuZ2UsIGJsdWUpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFp
biI+PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBh
c3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQg
VGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4g
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3NlcnRO
b0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICB9LCAgJ0dyYWRpZW50cyBzaG91bGQgbm90IGNv
dW50IGFzIGNvbnRlbnRmdWwnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5k
YW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LTNkLXJvdGF0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0
byBpdHMgYW5jZXN0b3IgZ2V0dGluZyByb3RhdGluZyBpbnRvIHZpZXcuIAorCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
ZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIDNk
IHJldmVhbGluZyBvZiBkZXNjZW5kYW50czwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4gewor
ICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxl
ZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7Cisg
ICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCg0NWRlZyk7CisgICAgICAgIHRyYW5zZm9ybS1zdHls
ZTogcHJlc2VydmUtM2Q7CisgICAgfQorCisgICAgLyoKKyAgICAgICBUaGlzIHRlc3RzIHRoYXQg
Z2l2ZW4gbXVsdGlwbGljYXRpb24gZWZmZWN0IG9mIDNkIHRyYW5zZm9ybXMgb24gYm91bmRpbmcg
cmVjdCwKKyAgICAgICBBbiBlbGVtZW50IGNvdW50cyBhcyBjb250ZW50ZnVsL3BhaW50YWJsZSBv
bmx5IHdoZW4gaXRzIGJvdW5kaW5nIHJlY3QgaXMgdHJ1bHkgbm9uLWVtcHR5ICovCisgICAgI2No
aWxkIHsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDQ1ZGVnKTsKKyAgICB9CisKKyAgICAv
KiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAg
ICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJjaGlsZCI+VGV4dDwvZGl2Pgor
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyByb3RhdGluZyBpbnRvIHZpZXcuIik7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNCBAQAorVGV4dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRv
IDNkIHJvdGF0aW9uIGludG8gdmlldy4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1y
b3RhdGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJv
dGF0ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUg
dG8gM2Qgcm90YXRpb24gaW50byB2aWV3PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7Cisg
ICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVm
dDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoOTBkZWcpOworICAgICAgICBwb3Np
dGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50
ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNv
bnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
ZGl2IGlkPSJtYWluIj5UZXh0PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXcuIikKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1z
Y2FsZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS1zY2FsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gc2NhbGUgYmVjb21pbmcgcG9z
aXRpdmUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24t
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUt
dHJhbnNpdGlvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWlu
dmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDQgQEAKK1RFWFQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdo
ZW4gcmV2ZWFsZWQgZHVyaW5nIHRyYW5zaXRpb24uIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNl
IFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgaW4gdHJhbnNpdGlvbjwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKKyAgICAg
ICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgICAgIHRvcDogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRl
ZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAg
ICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFp
biI+VEVYVDwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBw
YWludCBmaXJlcyB3aGVuIHJldmVhbGVkIGR1cmluZyB0cmFuc2l0aW9uLiIpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBl
cmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHNjYWxlIGNoYW5nZTwvdGl0
bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiBz
Y2FsZSgwKTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7Cisg
ICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOwor
ICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBz
Y3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9u
ZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAg
ICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gc2NhbGUgYmVj
b21pbmcgcG9zaXRpdmUuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw0IEBACitJTlZJU0lCTEUKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS10ZXh0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS10ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IHNob3VsZCBzdGlsbCBmaXJlIGZvciBpbnZpc2libGUgdGV4dDwvdGl0bGU+Cis8c3R5bGU+Cisg
ICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAx
MDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVu
OworICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKKyAgICB9CisKKyAgICAvKiBjb250
ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWlu
LmNvbnRlbnRmdWwgeworICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOworICAgIH0KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2Ny
aXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgSU5WSVNJQkxFCis8L2Rpdj4KKzxzY3JpcHQ+Cisg
ICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1l
bGVtZW50IGJlY29taW5nIHZpc2libGUuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29u
dGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcG9zaXRpdmUg
b3BhY2l0eS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+
UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gYW5jZXN0b3Igb3BhY2l0
eTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7Cisg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgcG9zaXRp
b246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAgI2NoaWxkIHsKKyAg
ICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGFuZCBpbnRlcm1l
ZGlhdGUgY2xhc3NlcyBhcmUgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21h
aW4uY29udGVudGZ1bCAjY2hpbGQgeworICAgICAgICBvcGFjaXR5OiAxOworICAgIH0KKworICAg
ICNtYWluLmludGVybWVkaWF0ZSAjY2hpbGQgeworICAgICAgICBvcGFjaXR5OiAxOworICAgIH0K
KworICAgICNtYWluLmludGVybWVkaWF0ZSB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQor
CisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIG9wYWNpdHk6IDAuNTsKKyAgICB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXYgaWQ9ImNoaWxkIj5UZXh0PC9kaXY+
Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQg
ZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIik7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50
eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIG9wYWNpdHktcmV2ZWFsZWQgZWxlbWVudC4gCisKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1vcGFjaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHku
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+
UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gb3BhY2l0eTwvdGl0bGU+
Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9y
ZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAg
IC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisg
ICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIG9wYWNpdHk6IDAuMTsKKyAgICB9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gb3BhY2l0eS1yZXZlYWxlZCBlbGVtZW50
LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0
LW9mLWJvdW5kcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1v
Zi1ib3VuZHMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQt
b2YtYm91bmRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpbnRlcnNlY3Rpb24gd2l0
aCBkb2N1bWVudC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0
ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMt
dHJhbnNsYXRlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0
LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHRyYW5z
Zm9ybS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4gCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlv
biB3aXRoIGRvY3VtZW50PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4Owor
ICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwMHB4KTsKKyAgICAgICAgcG9zaXRpb246
IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVy
bCguLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwg
Y2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVu
dGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYg
aWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gdHJhbnNmb3JtLWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRv
Y3VtZW50LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1i
b3VuZHMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhl
YWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gaW50
ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAg
ICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0
OiAtMTAwMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsK
KyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7
CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNw
IHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgbGVmdDogMHB4Owor
ICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRp
bHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRl
c3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpbnRlcnNlY3Rpb24g
d2l0aCBkb2N1bWVudC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5j
ZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0PC90aXRs
ZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAg
ICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAg
ICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiOworICAgICAgICBkaXNwbGF5
OiBub25lOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0
ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAg
IGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rp
dj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgaW1hZ2UuIAorCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1h
bmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IGltYWdlPC90
aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKwor
ICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICov
CisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6IHVybCguLi9y
ZXNvdXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+
Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQg
ZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGltYWdlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4K
KworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFj
aXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBA
CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1l
bnQgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LW9wYWNpdHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtb3BhY2l0eS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHk8
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZl
OworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQor
CisgICAgI21haW46YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAiVEVYVCI7CisgICAgICAgIG9w
YWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGlu
IHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAg
ICAgb3BhY2l0eTogMC41OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rp
dj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4iKQorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
dGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LXRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMg
QEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxl
bWVudCB0ZXh0LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0
aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxl
bWVudCB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9u
OiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2Zj
cCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7CisgICAgICAgIGNvbnRl
bnQ6ICJURVhUIgorICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRv
IHBzZXVkby1lbGVtZW50IHRleHQuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12
aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBi
ZWNvbWluZyB2aXNpYmxlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZp
c2liaWxpdHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
dmlzaWJpbGl0eS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC12aXNpYmlsaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVz
dDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlPC90aXRsZT4KKzxz
dHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAg
d2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWlu
OmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiOworICAgICAgICB2aXNpYmlsaXR5OiBo
aWRkZW47CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRl
c3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAg
dmlzaWJpbGl0eTogdmlzaWJsZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgor
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiIpCis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1zdmctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiBTVkcgYmVj
b21lcyBjb250ZW50ZnVsLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3Atc3ZnLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHdp
dGggU1ZHPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBw
eDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgfQorCisgICAgI2NpcmNsZSB7CisgICAgICBkaXNwbGF5
OiBub25lOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0
ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCAjY2lyY2xlIHsKKyAgICAg
ICAgZGlzcGxheTogYmxvY2s7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAg
PHN2ZyB2aWV3Qm94PSIwIDAgMTAgMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2
ZyIKKyAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgorICAg
IDxkZWZzPgorICAgICAgPGNpcmNsZSBpZD0ibXlDaXJjbGUiIGN4PSI1IiBjeT0iNSIgcj0iNCIg
c3Ryb2tlPSJibHVlIi8+CisgICAgPC9kZWZzPgorICAgIDx1c2UgaWQ9ImNpcmNsZSIgaHJlZj0i
I215Q2lyY2xlIiBmaWxsPSJncmVlbiIgLz4KKyAgPC9zdmc+Cis8L2Rpdj4KKzxzY3JpcHQ+Cisg
ICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiBTVkcgYmVjb21l
cyBjb250ZW50ZnVsLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBA
CisKKworUEFTUyBUZXh0IGlucHV0IHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGl0cyB2
YWx1ZSBpcyBub24tZW1wdHkgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFp
bnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgZm9yIG5vbi1lbXB0eSB0ZXh0IGlucHV0PC90aXRsZT4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8aW5wdXQgaWQ9ImlucHV0IiB0eXBlPSJ0ZXh0IiAvPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90
ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9y
bWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAg
ICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywg
cikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgICAg
IGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0Jyk7CisgICAgICBp
bnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJyAgJyk7CisgICAgICBhd2FpdCBhc3NlcnROb0Zp
cnN0Q29udGVudGZ1bFBhaW50KHQpOworICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScs
ICd2YWx1ZScpOworICAgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQodCk7Cisg
IH0sICdUZXh0IGlucHV0IHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGl0cyB2YWx1ZSBp
cyBub24tZW1wdHknKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0IEBACitBCisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyBvbmx5IHdoZW4gc29tZSBvZiB0aGUgdGV4dCBpcyB2aXNpYmxlLCBjb25zaWRlcmluZyA6
OmZpcnN0LWxldHRlci4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8u
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgbm90IGZpcmUg
d2hlbiBhbGwgdGV4dCBpcyBoaWRkZW4gZHVlIHRvIHR5cG9ncmFwaGljIHBzZXVkby1lbGVtZW50
czwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRp
dmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9
CisKKyAgICAjbWFpbiAqOjpmaXJzdC1sZXR0ZXIgeworICAgICAgICBvcGFjaXR5OiAwOworICAg
IH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3Jp
cHQuICovCisgICAgI21haW4uY29udGVudGZ1bCAqOjpmaXJzdC1sZXR0ZXIgeworICAgICAgICBv
cGFjaXR5OiAxOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdj5B
PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgb25seSB3aGVuIHNvbWUgb2YgdGhlIHRleHQgaXMgdmlzaWJsZSwgY29uc2lk
ZXJpbmcgOjpmaXJzdC1sZXR0ZXIuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw0IEBACisKKworUEFTUyBWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBm
aXJzdCBmcmFtZSBpcyBsb2FkZWQgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMjUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFu
Y2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gbG9hZGVkIHZpZGVvIGZyYW1lPC90aXRs
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8dmlkZW8gaWQ9InZpZGVvIiBhdXRvcGxheT48L3ZpZGVvPgorPHNjcmlwdD4KKyAgcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cu
UGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7
CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCds
b2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsK
KyAgICAgIC8vIFNldCBhY3R1YWwgdmlkZW8gY29udGVudCB0byB0cmlnZ2VyIEZDUC4KKyAgICAg
IGNvbnN0IHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpZGVvJyk7CisgICAgICB2
aWRlby5zZXRBdHRyaWJ1dGUoJ3NyYycsICcvbWVkaWEvdGVzdC5tcDQnKTsKKyAgICAgIGF3YWl0
IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICB2aWRlby5vbmNhbnBsYXkgPSByZXNv
bHZlOworICAgICAgfSk7CisgICAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0
KTsKKyAgfSwgJ1ZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGZpcnN0IGZyYW1l
IGlzIGxvYWRlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdmlkZW8tcG9zdGVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQg
QEAKKworCitQQVNTIFZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIHBvc3RlciBp
cyBsb2FkZWQgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQg
VGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gbG9hZGVkIHZpZGVvIHBvc3RlcjwvdGl0bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHZp
ZGVvIGlkPSJ2aWRlbyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L3ZpZGVvPgorPHNjcmlwdD4K
KyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGFzc2VydF9wcmVjb25kaXRpb24od2lu
ZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVk
LiIpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
J2xvYWQnLCByKSk7CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsK
KyAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2aWRlbycpOworICAg
IGNvbnN0IHNyYyA9ICcuLi9yZXNvdXJjZXMvY2lyY2xlcy5wbmcnOworICAgIGNvbnN0IGltYWdl
ID0gbmV3IEltYWdlKCk7CisgICAgaW1hZ2Uuc3JjID0gc3JjOworICAgIHZpZGVvLnNldEF0dHJp
YnV0ZSgncG9zdGVyJywgc3JjKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsK
KyAgICAgICAgaW1hZ2Uub25sb2FkID0gYXN5bmMgKCkgPT4gcmVzb2x2ZSgpOworICAgIH0pCisg
ICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQodCk7CisgIH0sICdWaWRlbyBzaG91
bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBwb3N0ZXIgaXMgbG9hZGVkJyk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNTIFdoaXRlc3BhY2Ugc2hv
dWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRl
c3BhY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJm
b3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogV2hpdGVzcGFjZSBzaG91bGQgbm90IGNvdW50IGFz
IGNvbnRlbnRmdWw8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRp
b246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2lyY2xlcy5w
bmcpOworICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDAgMDsKKyAgICB9CisKKyAgICAjdGV4dCB7
CisgICAgICAgIGRpc3BsYXk6IG5vbmU7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFz
cyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVs
ICN0ZXh0eworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYg
aWQ9Im1haW4iPgorICAgIDxkaXYgaWQ9IndoaXRlc3BhY2UiPiAgIDwvZGl2PgorICAgIDxkaXYg
aWQ9InRleHQiPlRFWFQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiV2hp
dGVzcGFjZSBzaG91bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwuIikKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgRkNQIHNob3VsZCBmaXJlIHdoZW4gY29v
cmRpbmF0ZXMgYXJlIG5lZ2F0aXZlLCBpZiB3aXRoaW4gZG9jdW1lbnQgc2Nyb2xsYWJsZSBhcmVh
IAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atd2l0aC1ydGwuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0
aC1ydGwuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQxIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVl
IHRvIGRpcmVjdGlvbiBjaGFuZ2U8L3RpdGxlPgorPHN0eWxlPgorICAjdGV4dCB7CisgICAgcmln
aHQ6IC0xMDBweDsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgIH0KKworICBib2R5IHsKKyAg
ICBkaXJlY3Rpb246IHJ0bDsKKyAgfQorCisgICNkdW1teSB7CisgICAgYmFja2dyb3VuZDogeWVs
bG93OworICAgIHdpZHRoOiAxMHB4OworICAgIGhlaWdodDogMTBweDsKKyAgICBwb3NpdGlvbjog
YWJzb2x1dGU7CisgICAgbGVmdDogMDsKKyAgICB0b3A6IDA7CisgIH0KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0iZHVtbXkiPjwvZGl2PgorPGRpdiBpZD0idGV4dCI+VEVYVDwvZGl2PgorPHNjcmlwdD4K
KyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3
aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0
ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCdsb2FkJywgcikpOworICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWlu
dCh0KTsKKyAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuZGlyZWN0aW9uID0gJ2x0cicKKyAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdW1teScpLnN0eWxlLmJhY2tncm91bmQgPSAnZ3Jl
ZW4nCisgICAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgJ0ZD
UCBzaG91bGQgZmlyZSB3aGVuIGNvb3JkaW5hdGVzIGFyZSBuZWdhdGl2ZSwgaWYgd2l0aGluIGRv
Y3VtZW50IHNjcm9sbGFibGUgYXJlYScpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xl
LnN2Zwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2Zwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
IiB2ZXJzaW9uPSIxLjEiPgorICAgPGNpcmNsZSBjeD0iMTAwIiBjeT0iNTAiIHI9IjQwIiBzdHJv
a2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIC8+Cis8L3N2Zz4KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L3Jlc291cmNlcy9zdWJmcmFtZS1wYWludGluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNl
cy9zdWJmcmFtZS1wYWludGluZy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJm
cmFtZS1wYWludGluZy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGJvZHk+Cis8ZGl2IGlkPSJpbWFnZSI+PC9kaXY+Cis8c2NyaXB0PgorICBj
b25zdCBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdJTUcnKTsKKyAgaW1nLnNyYyA9ICdj
aXJjbGVzLnBuZyc7CisgIGltZy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBmdW5jdGlvbiBz
ZW5kUGFpbnRFbnRyaWVzKCkgeworICAgICAgY29uc3QgcGFpbnRFbnRyaWVzID0gcGVyZm9ybWFu
Y2UuZ2V0RW50cmllc0J5VHlwZSgncGFpbnQnKTsKKyAgICAgIGlmIChwYWludEVudHJpZXMubGVu
Z3RoIDwgMikgeworICAgICAgICBzZXRUaW1lb3V0KHNlbmRQYWludEVudHJpZXMsIDIwKTsKKyAg
ICAgICAgcmV0dXJuOworICAgICAgfQorICAgICAgbGV0IGVudHJ5Q29udGVudHMgPSBwYWludEVu
dHJpZXMubGVuZ3RoICsgJyc7CisgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhaW50RW50cmll
cy5sZW5ndGg7IGkrKykgeworICAgICAgICBjb25zdCBlbnRyeSA9IHBhaW50RW50cmllc1tpXTsK
KyAgICAgICAgZW50cnlDb250ZW50cyArPSAnICcgKyBlbnRyeS5lbnRyeVR5cGUgKyAnICcgICsg
ZW50cnkubmFtZTsKKyAgICAgIH0KKyAgICAgIHBhcmVudC5wb3N0TWVzc2FnZShlbnRyeUNvbnRl
bnRzLCAnKicpOworICAgIH07CisgICAgc2VuZFBhaW50RW50cmllcygpOworICB9OworICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnaW1hZ2UnKS5hcHBlbmRDaGlsZChpbWcpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWlu
dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3Jp
cHQ+CisgIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uKGUpIHsKKyAg
ICAvLyBTZW5kIHBhaW50LXRpbWluZyBlbnRyaWVzIHVwb24gcmVjZWl2aW5nIGEgbWVzc2FnZS4K
KyAgICBjb25zdCBwYWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdw
YWludCcpOworICAgIGxldCBlbnRyeUNvbnRlbnRzID0gcGFpbnRFbnRyaWVzLmxlbmd0aCArICcn
OworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFpbnRFbnRyaWVzLmxlbmd0aDsgaSsrKSB7Cisg
ICAgICBjb25zdCBlbnRyeSA9IHBhaW50RW50cmllc1tpXTsKKyAgICAgIGVudHJ5Q29udGVudHMg
Kz0gJyAnICsgZW50cnkuZW50cnlUeXBlICsgJyAnICArIGVudHJ5Lm5hbWU7CisgICAgfQorICAg
IHBhcmVudC5wb3N0TWVzc2FnZShlbnRyeUNvbnRlbnRzLCAnKicpOworICB9KTsKKzwvc2NyaXB0
PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGls
cy5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvdXRpbHMuanMJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw0OCBAQAorZnVuY3Rpb24gd2FpdEZvckFuaW1hdGlvbkZyYW1lcyhjb3VudCkg
eworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgaWYgKGNvdW50LS0gPD0g
MCkgeworICAgICAgcmVzb2x2ZSgpOworICAgIH0gZWxzZSB7CisgICAgICByZXF1ZXN0QW5pbWF0
aW9uRnJhbWUoKCkgPT4geworICAgICAgICB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKGNvdW50KS50
aGVuKHJlc29sdmUpOworICAgICAgfSk7CisgICAgfQorICB9KTsKK30KKworLy8gQXNzZXJ0cyB0
aGF0IHRoZXJlIGlzIGN1cnJlbnRseSBubyBGQ1AgcmVwb3J0ZWQuIFBhc3MgdCB0byBhZGQgc29t
ZSB3YWl0LCBpbiBjYXNlIENTUyBpcyBsb2FkZWQKKy8vIGFuZCBGQ1AgaXMgaW5jb3JyZWN0bHkg
ZmlyZWQgYWZ0ZXJ3YXJkcy4KK2FzeW5jIGZ1bmN0aW9uIGFzc2VydE5vRmlyc3RDb250ZW50ZnVs
UGFpbnQodCkgeworICBhd2FpdCB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDMpOworICBhc3NlcnRf
ZXF1YWxzKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ2ZpcnN0LWNvbnRlbnRmdWwtcGFp
bnQnKS5sZW5ndGgsIDAsICdGaXJzdCBjb250ZW50ZnVsIHBhaW50IG1hcmtlZCB0b28gZWFybHku
ICcpOworfQorCisvLyBGdW5jdGlvbiB0aGF0IGlzIHJlc29sdmVkIG9uY2UgRkNQIGlzIHJlcG9y
dGVkLCB1c2luZyBQZXJmb3JtYW5jZU9ic2VydmVyLiBJdCByZWplY3RzIGFmdGVyIGEgbG9uZwor
Ly8gd2FpdCB0aW1lIHNvIHRoYXQgZmFpbGluZyB0ZXN0cyBkb24ndCB0aW1lb3V0LgorYXN5bmMg
ZnVuY3Rpb24gYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQodCkgeworICByZXR1cm4gbmV3IFBy
b21pc2UocmVzb2x2ZSAgPT4geworICAgIGZ1bmN0aW9uIGNoZWNrRkNQKCkgeworICAgICAgaWYg
KHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5s
ZW5ndGggPT09IDEpIHsKKyAgICAgICAgcmVzb2x2ZSgpOworICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNoZWNrRkNQKQorICAgICAgfQorICAgIH0KKyAgICB0
LnN0ZXAoY2hlY2tGQ1ApOworICB9KTsKK30KKworYXN5bmMgZnVuY3Rpb24gdGVzdF9mY3AobGFi
ZWwpIHsKKyAgY29uc3Qgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOwor
ICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHN0eWxlKTsKKyAgYXdhaXQgcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4geworICAgIGFzc2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNl
UGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgIGNvbnN0
IG1haW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbicpOworICAgIGF3YWl0IG5ldyBQ
cm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7CisgICAgYXdh
aXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgICBtYWluLmNsYXNzTmFtZSA9
ICdwcmVGQ1AnOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCk7Cisg
ICAgbWFpbi5jbGFzc05hbWUgPSAnY29udGVudGZ1bCc7CisgICAgYXdhaXQgYXNzZXJ0Rmlyc3RD
b250ZW50ZnVsUGFpbnQodCk7CisgIH0sIGxhYmVsKTsKK30KSW5kZXg6IExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQt
dGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAK
K0Jhc2ljIEludGVyZmFjZSB0ZXN0IGZvciBwYWludC10aW1pbmcgQVBJcy4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcKK1BBU1MgUGVyZm9y
bWFuY2VQYWludFRpbWluZyBpcyBkZWZpbmVkLgorUEFTUyBQZXJmb3JtYW5jZVBhaW50VGltaW5n
LnByb3RvdHlwZS50b0pTT04gaXMgZGVmaW5lZC4KK1BBU1MgbmV3IFBlcmZvcm1hbmNlUGFpbnRU
aW1pbmcoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25z
dHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKScpLgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctYXBpcy5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1p
bmctYXBpcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBI
VE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3BhaW50LXRpbWluZy1hcGkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmct
ZnJhbWVzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyMCBAQAorUGFpbnQgQVBJIHNob3VsZCBiZSBhdmFpbGFibGUgZm9yIHNhbWUt
b3JpZ2luIGZyYW1lcyBidXQgbm90IHRvIGNyb3NzLW9yaWdpbi9zYW5kYm94ZWQgZnJhbWVzLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyByZWNlaXZlZEV2ZW50LnNvdXJj
ZSBpcyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJykuY29udGVudFdpbmRv
dworUEFTUyByZWNlaXZlZEVudHJ5Lm5hbWUgaXMgJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnCitQ
QVNTIGRpZFJlY2VpdmVNZXNzYWdlRnJvbVNhbmRib3hlZElmcmFtZSBpcyBmYWxzZQorUEFTUyBB
cnJheS5pc0FycmF5KG5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcykgaXMgdHJ1ZQorUEFTUyBBcnJh
eS5pc0FycmF5KHNhbmRib3hTdXBwb3J0ZWRUeXBlcykgaXMgdHJ1ZQorUEFTUyBkaWRSZWNlaXZl
TWVzc2FnZSBpcyB0cnVlCitQQVNTIG5vblNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygi
cGFpbnQiKSBpcyB0cnVlCitQQVNTIHNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygicGFp
bnQiKSBpcyBmYWxzZQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQgY2FsbGJhY2sgd2FzIGZpcmVkIGZvciBzYW1lLW9yaWdpbiBmcmFtZSBidXQgbm90IGZv
ciBjcm9zcy1vcmlnaW4gZnJhbWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCisKK1RFWFQKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFw
aS9wYWludC10aW1pbmctZnJhbWVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CisgICAgPGlmcmFtZSB3
aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgaWQ9Im5vblNhbmRib3hlZCIgc3JjPSIuL3Jlc291cmNl
cy9mY3Atc3ViZnJhbWUuaHRtbCI+PC9pZnJhbWU+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2
PgorPGlmcmFtZSBpZD0ic2FuZGJveGVkIiBzcmM9Ii4vcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5o
dG1sIiBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIj48L2lmcmFtZT4KKzxkaXYgY2xhc3M9InNwYWNl
ciI+PC9kaXY+CisKKyAgICBURVhUCisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiUGFpbnQgQVBJ
IHNob3VsZCBiZSBhdmFpbGFibGUgZm9yIHNhbWUtb3JpZ2luIGZyYW1lcyBidXQgbm90IHRvIGNy
b3NzLW9yaWdpbi9zYW5kYm94ZWQgZnJhbWVzLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOword2luZG93LmRpZFJlY2VpdmVNZXNzYWdlID0gZmFsc2U7CisKK3dpbmRvdy5vbmxvYWQg
PSBhc3luYyAoKSA9PiB7CisgICAgY29uc3Qgc2FuZGJveGVkID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3NhbmRib3hlZCcpOworICAgIGNvbnN0IG5vblNhbmRib3hlZCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKTsKKyAgICBjb25zdCBmY3BNZXNzYWdlUHJvbWlz
ZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICB3aW5kb3cub25tZXNzYWdlID0g
ZXZlbnQgPT4geworICAgICAgICAgICAgd2luZG93LnJlY2VpdmVkRXZlbnQgPSBldmVudDsKKyAg
ICAgICAgICAgIGNvbnN0IGlzRnJvbVNhbmRib3hlZCA9IGV2ZW50LnNvdXJjZSA9PT0gc2FuZGJv
eGVkLmNvbnRlbnRXaW5kb3c7CisgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gSlNPTi5wYXJz
ZShldmVudC5kYXRhKTsKKyAgICAgICAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7CisgICAg
ICAgICAgICAgICAgY2FzZSAnc3VwcG9ydGVkJzoKKyAgICAgICAgICAgICAgICAgICAgaWYgKGlz
RnJvbVNhbmRib3hlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zYW5kYm94U3Vw
cG9ydGVkVHlwZXMgPSBtZXNzYWdlLnN1cHBvcnRlZDsKKyAgICAgICAgICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93Lm5vblNhbmRib3hTdXBwb3J0ZWRUeXBl
cyA9IG1lc3NhZ2Uuc3VwcG9ydGVkOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgICAgICBjYXNlICdyZWNlaXZlZCc6CisgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5k
aWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUgPSBpc0Zyb21TYW5kYm94ZWQ7Cisg
ICAgICAgICAgICAgICAgICAgIHdpbmRvdy5yZWNlaXZlZEVudHJ5ID0gbWVzc2FnZS5lbnRyeTsK
KyAgICAgICAgICAgICAgICAgICAgZGlkUmVjZWl2ZU1lc3NhZ2UgPSB0cnVlOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgncmVjZWl2ZWRFdmVudC5zb3VyY2UnLCAiZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ25vblNhbmRib3hlZCcpLmNvbnRlbnRXaW5kb3ciKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoJ3JlY2VpdmVkRW50cnkubmFtZScsICInZmlyc3QtY29udGVudGZ1
bC1wYWludCciKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICB9KTsKKworICAg
IHNhbmRib3hlZC5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCJwYWludCIsICIqIik7CisgICAg
YXdhaXQgd2FpdEZvckZDUCgpOworICAgIG5vblNhbmRib3hlZC5jb250ZW50V2luZG93LnBvc3RN
ZXNzYWdlKCJwYWludCIsICIqIik7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIGF3YWl0
IGZjcE1lc3NhZ2VQcm9taXNlOworICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVNZXNzYWdl
RnJvbVNhbmRib3hlZElmcmFtZScpOworICAgIHNob3VsZEJlVHJ1ZSgnQXJyYXkuaXNBcnJheShu
b25TYW5kYm94U3VwcG9ydGVkVHlwZXMpJyk7CisgICAgc2hvdWxkQmVUcnVlKCdBcnJheS5pc0Fy
cmF5KHNhbmRib3hTdXBwb3J0ZWRUeXBlcyknKTsKKyAgICBzaG91bGRCZVRydWUoJ2RpZFJlY2Vp
dmVNZXNzYWdlJyk7CisgICAgc2hvdWxkQmVUcnVlKCdub25TYW5kYm94U3VwcG9ydGVkVHlwZXMu
aW5jbHVkZXMoInBhaW50IiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCdzYW5kYm94U3VwcG9ydGVk
VHlwZXMuaW5jbHVkZXMoInBhaW50IiknKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9i
c2VydmVyIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgY2FsbGJhY2sgd2FzIGZpcmVkIGZvciBzYW1l
LW9yaWdpbiBmcmFtZSBidXQgbm90IGZvciBjcm9zcy1vcmlnaW4gZnJhbWUiKTsKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK307CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGlt
aW5nLXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACitQYWludCBBUEkgc2hvdWxkIG5vdCBiZSBh
dmFpbGFibGUgaW4gd29ya2VyIGNvbnRleHRzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVk
ZXMoInBhaW50IikgaXMgdHJ1ZQorUEFTUyB3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1
ZGVzKCJwYWludCIpIGlzIGZhbHNlCitQQVNTIHdvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5j
bHVkZXMoIm1hcmsiKSBpcyB0cnVlCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVk
RW50cnlUeXBlcyBkaWQgbm90IGluY2x1ZGUgJ3BhaW50JyBmb3Igd29ya2VycworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgtd29y
a2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Bh
aW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYg
QEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbigiUGFpbnQgQVBJIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlIGluIHdvcmtl
ciBjb250ZXh0cy4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2NvbnN0IHdvcmtl
ciA9IG5ldyBXb3JrZXIoIi4vcmVzb3VyY2VzL3dvcmtlci5odG1sIik7Cit3b3JrZXIub25tZXNz
YWdlID0gZXZlbnQgPT4geworICAgIHdpbmRvdy53b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzID0g
SlNPTi5wYXJzZShldmVudC5kYXRhKTsKKyAgICBzaG91bGRCZVRydWUoJ1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKScpOworICAgIHNob3Vs
ZEJlRmFsc2UoJ3dvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50IiknKTsK
KyAgICBzaG91bGRCZVRydWUoJ3dvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoIm1h
cmsiKScpOworICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50
cnlUeXBlcyBkaWQgbm90IGluY2x1ZGUgJ3BhaW50JyBmb3Igd29ya2VycyIpOworICAgIGZpbmlz
aEpTVGVzdCgpOworfTsKKword29ya2VyLnBvc3RNZXNzYWdlKCJzdGFydCIpOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJm
b3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2
ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNv
bnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAg
QEAKK1BBU1MgZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50IGlzIHRydWUKK1BBU1MgcGVy
Zm9ybWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGggaXMgMQorUEFTUyBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IiwgInBh
aW50IikubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicGFp
bnQiKS5sZW5ndGggaXMgMQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQgY2FsbGJhY2sgd2Fzbid0IGZpcmVkIGFnYWluIAorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitURVhUMgpJbmRleDogTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFp
bnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9y
bWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJz
dC1jb250ZW50ZnVsLXBhaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MSBAQAor
PCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcGFp
bnQtYXBpLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCJFbnN1cmUgUGVyZm9ybWFuY2VPYnNlcnZlcnMgYXJlIG5vdGlmaWVkIG9uY2Ug
Zm9yIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7CisgCisoYXN5bmMgKCkgPT4geworICAgIHdpbmRvdy5kaWRSZWNlaXZlRmlyc3RDb250ZW50
ZnVsUGFpbnQgPSBmYWxzZTsKKyAgICB3aW5kb3cuc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93
KCk7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29s
dmUgPT4geworICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVy
KGVudHJ5TGlzdCA9PiB7CisgICAgICAgICAgICB3aW5kb3cuZW50cnlMaXN0ID0gZW50cnlMaXN0
OworICAgICAgICAgICAgc2hvdWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzKCkubGVuZ3RoJywg
IjEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5TmFtZSgi
Zmlyc3QtY29udGVudGZ1bC1wYWludCIpLmxlbmd0aCcsIDEpOworICAgICAgICAgICAgc2hvdWxk
QmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpLmxlbmd0aCcsICIxIik7Cisg
ICAgICAgICAgICB3aW5kb3cuZmNwRW50cnkgPSBlbnRyeUxpc3QuZ2V0RW50cmllcygpWzBdOwor
ICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgnZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50
Jyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50cnkubmFtZScsICciZmlyc3QtY29udGVu
dGZ1bC1wYWludCInKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5lbnRyeVR5cGUn
LCAnInBhaW50IicpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdmY3BFbnRyeS5zdGFydFRp
bWUgPiB3aW5kb3cuc3RhcnRUaW1lJyk7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoJ2ZjcEVu
dHJ5LnN0YXJ0VGltZSA8IHBlcmZvcm1hbmNlLm5vdygpJyk7CisgICAgICAgICAgICBzaG91bGRC
ZSgnZmNwRW50cnkuZHVyYXRpb24nLCAiMCIpOworICAgICAgICAgICAgZGlkUmVjZWl2ZUZpcnN0
Q29udGVudGZ1bFBhaW50ID0gdHJ1ZTsKKyAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAg
fSk7CisKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydwYWludCddfSk7
CisgICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQnOworICAgIH0pCisgICAg
ZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAnVEVYVDInOworICAgIGF3YWl0IHdhaXRGb3JGQ1Ao
KTsKKyAgICBzaG91bGRCZVRydWUoJ2RpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCcpOwor
ICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKCkubGVuZ3RoJywgIjEiKTsKKyAg
ICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1
bC1wYWludCIpLmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiLCAicGFpbnQiKS5sZW5ndGgnLCAi
MSIpOworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIp
Lmxlbmd0aCcsICIxIik7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJz
dC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAiKTsKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30pKCk7CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNw
LXN1YmZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDIwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGNv
bnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7CisgICAgICAg
IGxpc3QuZ2V0RW50cmllcygpLmZvckVhY2goZW50cnkgPT4geworICAgICAgICAgICAgd2luZG93
LnBhcmVudC5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZTogJ3JlY2VpdmVkJywgZW50
cnl9KSwgJyonKTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICBvYnNlcnZlci5vYnNlcnZl
KHtlbnRyeVR5cGVzOiBbInBhaW50Il19KTsKKyAgICB3aW5kb3cub25tZXNzYWdlID0gZSA9PiB7
CisgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3N1cHBv
cnRlZDogUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLCB0eXBlOiAnc3Vw
cG9ydGVkJ30pLCAnKicpOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICJURVhU
IjsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRp
bHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNl
cy9wYWludC1hcGktdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw1IEBACithc3luYyBmdW5jdGlvbiB3YWl0Rm9yRkNQKCkKK3sKKyAgICBhd2FpdCBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiByZXNvbHZl
KCkpKTsKKyAgICByZXR1cm4gd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ2Zp
cnN0LWNvbnRlbnRmdWwtcGFpbnQnKS5sZW5ndGggPT0gMTsKK30KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3Bh
aW50LXRpbWluZy1hcGkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACitpZiAoc2VsZi5pbXBvcnRTY3JpcHRzKQorICAg
IGltcG9ydFNjcmlwdHMoIi4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyIpOworCitpZiAo
c2VsZi53aW5kb3cpCisgICAgZGVzY3JpcHRpb24oIkJhc2ljIEludGVyZmFjZSB0ZXN0IGZvciBw
YWludC10aW1pbmcgQVBJcy4iKTsKKworZGVidWcoIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmciKTsK
K3Nob3VsZEJlRGVmaW5lZCgiUGVyZm9ybWFuY2VQYWludFRpbWluZyIpOworc2hvdWxkQmVEZWZp
bmVkKGBQZXJmb3JtYW5jZVBhaW50VGltaW5nLnByb3RvdHlwZS50b0pTT05gKTsKK3Nob3VsZFRo
cm93KGBuZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygpYCk7CisKK2lmIChzZWxmLmltcG9ydFNj
cmlwdHMpCisgICAgZmluaXNoSlNUZXN0KCk7CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bl
cmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMgQEAKK3NlbGYub25tZXNzYWdlID0gKCkgPT4geworICAgIHNlbGYu
cG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRF
bnRyeVR5cGVzKSk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3Vy
Y2VzL2NpcmNsZXMucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFz
IGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10
eXBlCiMjIC0wLDAgKzEgIyMKK2ltYWdlL3BuZwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ1FBQUFCSUNBWUFBQUNlTmxlNUFBQUM3bWxE
UTFCSlEwTWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRv
UmRRMi9SRmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlL
aFZwRktONnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lF
V2xzZkVKcQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0
cG9IaFAxQTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4
RmtpZkVBMUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6
TzZyWXFHY1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dE
WDArR0FWdHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEw
eHUrTHFIQlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVla
aXdVRUNHUEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxF
TzFDSkw4UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpY
VWRwTlhSNWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRS
MVdqRTMzNTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dm
TnhHUGlLVEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5
ZFAxdDR2VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJ
bWJwdFUzSHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2
SHVncG1OT1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1
SEtFNVF2ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQUEK
Q1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBR1owbEVRVlJvQmUyYVVXOVZSUkRIZDY4dEVWSkxX
MktDeENZK2lnUURvWWtLZmdKOAo5TWtuRXZFZHZvQ21rUytBNzJwQ1FzS1RqL0lKQkNTQjFOU29Q
SnFVMUNha2dOaUFhZU5kZi8rWk9UMjM1OTdTRnU3bDZVeXk1K3pPCjJaMlpuWjNkblpsN2M1clBK
ZTBLU3NwcGhwNzdVMG1QcUQvZEhGVVJ5SnVZUko4RDlKa0c4NHo2UTk2OVgzczZOcXBqalhhaktT
TGQKRUdRZjlSV0lPK21TenNMMUJLMVp5aUdLaEZqbHVVU0hYeGh6bmZaVEV5T253K0RYUTdDTzll
UXhFSjRqa0ZpUFFWREVsbTF3S1oveQpQcGRLT2MzYmhiQVB6UWREVGJoOGsvZVZsUE1QMWlPbkk3
UWZVTitnRE5aWTdsOHkxMHBLa3d3Wlp5Q3pMbWNSNG12YXA0eHdTYjlDCjd5YnRoVlR5SDd6L0R2
ekJsTXRSbUo1a3pHbnd4d04vRjZHK1lzeDEyb2Y0TG9HZVVQcTExUkNvWGlLdHUxcWxmTWZqYzJv
c1hiNkcKQUpmQjM2RU5tbUo5ckZYWGhST1VOSWVBRjZIeEdTMlk1KytoY1Q3R3pmQ1diVzBWcWlG
UVpiZ1BiVkRxL3N5QUR5ZzNHUGNGNzNzbQpRTEpsRkNITlZMYlI1UzJCaEpPdFNiUEN1YzJsOUM3
TmIybWZvZHlHMW9kQnB4S3Ftb0tNWkJNMDMwbUtwQWE2di9NNENwZHZLQmVECndDek10VHdyNmdI
VWhOUVNCWWVxcG1VL0NPcGVLcDJQNlhDWmNzRnBkOTRETDE3aXFlVnpXcHBTTk1aQmpSdlJnbWF5
Q2FOMWx6QnYKMDJlS2IreWd0QmI5dHdvRHNnZjBUV1V0eGt3NURXZ2xiRW0weGNPWFhOcFUyU0tR
dHZhYklGZFpjMnlHWlNxbW1VdmczMkhnWDVUSApNYWlhUGMwZHdWbHFyR2lJVnNxWG5EWThuQmM4
alhlMTdQTzUrQUdHM2JDYlV2bVJEamRNeGRLTUNMazk3TWg5RngwNjBINExtdmRUCjd2N0VHNXZL
bjJEbzJuMnlwMGV5UXMxQ2hnaXd0WTI1R2JBUVdwNy9WQmtTaUpab0FzWURyUmhQSVNSRFNSMi9E
dGdOZHVpZDhxMXQKdTBrR1hDMlRCZ3dEc3RITW5PNUZQRGhHRW1lYjgxNUJlelBTa080bXdUbDdK
czRaZ2UrbXNIbi9NcVJuSjJoRExualo2Vy9VOTZlTwpYNVI4czVOMUVmUWRKTlYxb2Ezb29scmZv
VDFFODBud0VLL0Y0QzF1MkpCdWJWMlVSVWQ2dmhWc1I2R1o1b3ljaDNnYWIyU1FMSUU5CkViMjVt
NnltRTlqUGhTYVo0YlJGZXlONExUaEo4eHo4SWdFeDYwaTdLRlZkOS9aSW4rcytaWGc2dUF4anJo
RjNKWFJyZTlzUHFWSEsKVTk5L0ZVOTVBWnNhR2lYcnZkSEdxQVh5OUdUbCtETzgvZFkyMU1nZTRp
RmU0dW1nSzJSVFE3bzBBWE91VkltVFc5V1J3VDQzRDNnNgp1QXkreS9DQkhVNmFsSDc3dWpYRmh5
Ry9SRnZlaFFEdlVoQXlZTlNLRG5TNXlWWEZWN1plb3pmcTZzTFdnZXdtbzZEZ2dBN0dhVk5kCk1Z
ZGNQdkFjYlRsZ2NweDhEbFNHQ0tJNUdUekU2emdIc29JQmNadld3ZmdzMkY1eHB2akFBdmYwUnFF
cCtWNWh5TUVyS1RJeHJwSmwKSGdIdDd1TEc3OHA1eDQ0Nng1Qlkvck84eE1jbW52Vi82WWQ4ZHFl
WjhiTkw5emNvTHNCdmp2ZGhlSzFJUTVJdFRtYUZLa0taUTA0MQpUVkJlVTJWSUlGcWlDUmdQc1Jk
UGdXU0lBOGZEa1NQbXVXVkNGZlBrY01qTnM3TnJoWUcwWGh3MFZ1ZU8vS0Q3a0JMdE0vQlRXS1FO
CnBRRFNnNHVJT3VTalBHQ0Fidnp6RERpR1MzQUIzQ3B0K2RWeTh1V3dhL24ySXB5MEw1dVo0ajNC
K0QraC9XWFF2bTI4aktkRnMwNDMKQk5JTWRQdHVNQmdnYmlvS2c4eTlsSkFlQnZrTUZRYkpWeEs0
S1hxOTkxbHA4dzE2eUlDWGZESVJCcFZFdEFzUGdVZXh0WGNSQXVtVAppSXZSREFYMUtXNVNvS2c0
cXJBOVh6aFFGTTMrUUJFa0VMeDZKaVk5OVlDV1RtdXBqb2lvV2JET0ZuR3lJM0s1eW5mdENKMVR5
OVNWCk9KREcvb21pbTF1NFpRcTcxa0xwcTB4TXUwa1JCallUbXZFb1E3eTJpc0MyYithSGZOMTFl
RzJmYkZpRStDMitQeS9aOEJIZjM0ZWgKbHVVdXhzdHUybnV5d2NiSFEzYWcrMFlCcEdZTTRVakgy
Qlh6dkhTTTllWXE0Z1MyUXkvU01iNmI5cHlPTVdyeGNHMTVxQ1FQUU1zQQpINHI4OEl6YldleFlj
QWZQSWw4Wk1CZWxKNnk4cnljbmRwZXdHckJrSVV2ZnE4cU12STRRaWhwMERBd0dGM2lDUHBOMCtK
ZCtzaFZoCmQ0YXRGclZ6LzVIMzZObjJnM2k5N0pLdG1WNWVXWTV4MEpJWmprZWJZOVFDU3h0dXdM
N2NWYjB5M3piSDJOekt0VTFWdFRiSDZMYXoKL2RPdFRINVVtMlBjWGt1OVg5b2NZNjgydHF1M09j
YnROTlBFdTZQUjVoaWJlcW5iYlk2eDFzVmVhbTJPc2RaV20yT3NkVEc0MWpWMAptMlBzMTA2Ylkr
elhTWTFwYzR5MUxyeFdoZUp0ampIT0ZFdlBLWS9VKzJlVU5zZElpbmZnSDVyYUhHUC9uK0w4ZDY4
bFF2NVhtbVBVClh6Tkc5N2ZCL3dGWmJnMDVFRU51TndBQUFBQkpSVTVFcmtKZ2dnPT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397730</attachid>
            <date>2020-04-27 13:47:33 -0700</date>
            <delta_ts>2020-04-27 21:45:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200427234730.patch</filename>
            <type>text/plain</type>
            <size>138827</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyNSBAQAorMjAyMC0wNC0yMSAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIHRoZSBuZWNlc3NhcnkgaW50ZXJmYWNlLCBleHRlbnNpb25zIHRv
IHRoZSBwZXJmb3JtYW5jZSBpbnRlcmZhY2UgYW5kIG9ic2VydmVyLCBuZXcgcnVudGltZSBmbGFn
LgorICAgICAgICBEZXRlY3RpbmcgY29udGVudGZ1bG5lc3MgYWZ0ZXIgbGF5b3V0IGFuZCBiZWZv
cmUgYWN0dWFsIHBhaW50LCBieSBydW5uaW5nIGEgImR1bW15IiBwYWludCwgc2ltaWxhciB0byAK
KyAgICAgICAgaW52YWxpZGF0ZUNvbnRyb2xUaW50cygpIC8gaW52YWxpZGF0ZUltYWdlc1dpdGhB
c3luY0RlY29kZXMoKS4gU2F2ZSB0aGUgcmVzdWx0IHRvIHRoZSBHcmFwaGljc0NvbnRleHQgYW5k
IHRoZW4gdG8gdGhlIGRvY3VtZW50LgorICAgICAgICBUaGlzIHdvdWxkIHJ1biBmb3IgZXZlcnkg
cGFpbnQgdW50aWwgd2UgZGV0ZWN0IGEgY29udGVudGZ1bCBvbmUuCisKKyAgICAgICAgTm90ZSB0
aGF0IGl0IHBhaW50cyB0aGUgZW50aXJlIGZyYW1lIGNvbnRlbnRzLCBhcyBGQ1AgaXMgbm90IHZp
ZXdwb3J0LWRlcGVuZGVudC4KKyAgICAgICAgQWxzbywgcGFpbnQgdGltaW5nIGlzIGN1cnJlbnRs
eSBkaXNhYmxlZCBmb3IgTEZDIChsYXlvdXQgZm9ybWF0dGluZyBjb250ZXh0KSwgYW5kIHdpbGwg
YmUgZGVhbHQgd2l0aCBsYXRlci4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
Zy1pbWFnZS10d28tc3RlcHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0
bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlv
bi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5k
YW50Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
dXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5k
cy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAorICAgICAgICAgICAgICAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBz
ZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LXRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC12aWRlby1mcmFtZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0
bC5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1w
YWludC1mcmFtZXMuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNv
bnRlbnRmdWwtcGFpbnQtd2l0aC13b3JrZXIuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNl
LWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogcGFnZS9QZXJm
b3JtYW5jZVBhaW50VGltaW5nLmg6IEFkZGVkLgorICAgICAgICAoaXNUeXBlKToKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsOiBBZGRlZC4KKyAgICAgICAgICAgICAg
ICBBZGQgUGVyZm9ybWFuY2VQYWludFRpbWluZyBpbnRlcmZhY2UuIGh0dHBzOi8vdzNjLmdpdGh1
Yi5pby9wYWludC10aW1pbmcvI3NlYy1QZXJmb3JtYW5jZVBhaW50VGltaW5nCisKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnN1cHBvcnRz
UGFpbnRUaW1pbmcgY29uc3QpOgorICAgICAgICAgICAgICAgIFdlIG9ubHkgcmVwb3J0IHBhaW50
IHRpbWluZyBmb3IgZG9jdW1lbnQgdGhhdCBjYW4gYWNjZXNzIHRoZSB0b3AgbGV2ZWwgc2VjdXJp
dHkgb3JpZ2luLCB0byBhdm9pZCBsZWFrYWdlIG9mIGluZm9ybWF0aW9uIHRvIHNhbmRib3hlZCBp
ZnJhbWVzLgorCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVwb3J0UGFpbnRUaW1pbmdJ
Zk5lZWRlZCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICAgICAgICAgUmVw
b3J0IHBhaW50IHRpbWluZywgYWNjb3JkaW5nIHRvIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWlu
dC10aW1pbmcvI3NlYy1yZXBvcnRpbmctcGFpbnQtdGltaW5nCisKKyAgICAgICAgKiBwYWdlL1Bh
Z2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6
CisgICAgICAgICAgICAgICAgUmVwb3J0IGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgYWZ0ZXIgbGF5
b3V0LgorICAgICAgICAgICAgICAgIFNlZSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211
bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjdXBkYXRlLXRoZS1yZW5kZXJpbmcKKworICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6Omdl
dEVudHJpZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJp
ZXNCeVR5cGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJp
ZXNCeU5hbWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnJlcG9ydEZp
cnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAg
ICAgICAgICAgICAgU3VwcG9ydCBmaXJzdC1jb250ZW50ZnVsLXBhaW50IHJlcG9ydGluZy4KKwor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojpp
c1BhaW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBl
cyk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmg6CisgICAgICAgICogcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbDoKKyAgICAgICAgICAgICAgICBBZGQgcGFpbnQgcGVy
Zm9ybWFuY2UgZW50cnkgdHlwZS4KKworICAgICAgICAqIHBhZ2UvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0UGFp
bnRUaW1pbmdFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnBhaW50VGltaW5nRW5hYmxlZCBjb25zdCk6CisgICAgICAgICAgICAgICAgTmV3IHJ1bnRp
bWUgZmxhZyBmb3IgcGFpbnQgdGltaW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRl
dGVjdGluZ0NvbnRlbnRmdWxQYWludCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQ6OnNldENvbnRlbnRmdWxQYWludERldGVjdGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDo6Y29udGVuZnVsUGFpbnREZXRlY3RlZCBjb25zdCk6CisgICAgICAg
ICAgICAgICAgQWRkIGEgZmxhZyBpbiBHcmFwaGljc0NvbnRleHQgd2hlcmUgZGlmZmVyZW50IHJl
bmRlciBvcGVyYXRpb25zIGNhbiByZXBvcnQgaWYgdGhleSdyZSBjb250ZW50ZnVsLgorCisgICAg
ICAgICogcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnRlbnRmdWxQYWludENoZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRm
dWxQYWludCk6CisgICAgICAgICAgICAgICAgUnVuIGEgImR1bW15IiBwYWludCBvZiB0aGUgRnJh
bWVWaWV3LCB0byBkZXRlY3QgY29udGVudGZ1bCBlbGVtZW50cy4gCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oOiBBZGRlZC4KKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94
TW9kZWxPYmplY3Q6OnBhaW50RmlsbExheWVyRXh0ZW5kZWQpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJIVE1MQ2FudmFzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckhUTUxDYW52
YXM6OnBhaW50UmVwbGFjZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6cGFpbnRSZXBsYWNlZCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyOjpwYWludExheWVyQ29udGVudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWRl
by5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWRlbzo6cGFpbnRSZXBsYWNlZCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1RleHRQYWludGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRQYWludGVyOjpwYWludFRleHRPckVtcGhhc2lzTWFya3MpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSb290
OjpwYWludFJlcGxhY2VkKToKKyAgICAgICAgICAgICAgICBSZXBvcnQgY29udGVudGZ1bG5lc3Mg
d2hlbiB3ZSByZWFjaCBhbnl0aGluZyB0aGF0IHF1YWxpZmllcyBhcyBjb250ZW50ZnVsLAorICAg
ICAgICAgICAgICAgIGJhc2VkIG9uIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcv
I2NvbnRlbnRmdWwuCisKIDIwMjAtMDQtMjQgIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVy
ZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBBZGQgbWlzc2luZyBIVE1MTmFtZXM6OiBuYW1lc3Bh
Y2UgcHJlZml4IHRvIHVzYWdlIG9mIGxpVGFnIG9iamVjdApJbmRleDogU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC05MzYsNiArOTM2LDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExf
RklMRVMKICAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwKICAgICBwYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU5h
dmlnYXRpb24uaWRsCisgICAgcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAogICAgIHBh
Z2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlU2Vy
dmVyVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTkyNiw2ICs5MjYsNyBA
QCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxi
YWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxp
c3QuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwg
XAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAko
cmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTIxMjQsNiArMjEyNCw3IEBAIHJlbmRlcmluZy9CcmVha0xpbmVzLmNwcAogcmVu
ZGVyaW5nL0NTU0ZpbHRlci5jcHAKIHJlbmRlcmluZy9DbGlwUmVjdC5jcHAKIHJlbmRlcmluZy9D
b21wbGV4TGluZUxheW91dC5jcHAKK3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmNw
cAogcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmNwcAogcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNwcAog
cmVuZGVyaW5nL0V2ZW50UmVnaW9uLmNwcApAQCAtMzIwMiw2ICszMjAzLDcgQEAgSlNQZXJmb3Jt
YW5jZU5hdmlnYXRpb24uY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCiBKU1BlcmZvcm1h
bmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5j
cHAKK0pTUGVyZm9ybWFuY2VQYWludFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5jcHAKIEpTUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlVGlt
aW5nLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MDU1LDYgKzQw
NTUsNyBAQAogCQlDOUY4N0NGRTFCMjhGNDBFMDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOUY4N0NG
RDFCMjhFNUY2MDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0EzQkY2N0UxMEQ5OUJBRTAwRTZD
RTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3Iu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDQTZD
MTUzMDIyMEI5OENDMDA1NUNCRkMgLyogSlNWYWx1ZUluV3JhcHBlZE9iamVjdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMxQUUzQjgxRkI4MEVBRTAw
RjVFRkIyIC8qIEpTVmFsdWVJbldyYXBwZWRPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDQTdFOUI0OTI0MzYxREM1MDA0RTg5RjYgLyog
Q29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0E3RTlCNDcyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWlu
dENoZWNrZXIuaCAqLzsgfTsKIAkJQ0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVj
dFJhdGlvVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENBRTlGOTBFMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggKi87
IH07CiAJCUNCMzhGRDUyMUNDRjkzOTQwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENCMzhGRDRFMUND
RjkzN0UwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCAqLzsgfTsKIAkJQ0IzOEZENUIx
Q0QyMzI1QjAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0IzOEZENTkxQ0QyMzE0NTAw
NTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovOyB9OwpAQCAtMTM4MjQs
NiArMTM4MjUsOCBAQAogCQlDQTA5MUQ4NjIzQ0Y5MDc4MDBBRDQzNDYgLyogU3R5bGVJbWFnZVNl
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUltYWdlU2V0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0EwOTFEODkyM0NGOTA4ODAwQUQ0MzQ2IC8qIFN0eWxlSW1hZ2VT
ZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVJbWFnZVNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDQTE2MzVEQzIwNzJFNzY5MDBFN0QyQ0UgLyogUmVmZXJyZXJQb2xpY3kuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmZXJyZXJQb2xpY3kuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNENTI0MDdENjQwMDA3MTI0MUEg
LyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZVBh
aW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkzM0Q4MjQwN0VE
Q0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8q
IFNjcm9sbEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9s
bEFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNTJCQUU1MjNEMEFG
MTYwMERFMEI4NCAvKiBTdHlsZUN1cnNvckltYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0
eWxlQ3Vyc29ySW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM4MzMs
NiArMTM4MzYsOCBAQAogCQlDQTZDMTUyRjIyMEI0QTU1MDA1NUNCRkMgLyogSlNJREJSZXF1ZXN0
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCUmVx
dWVzdEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNkMxNTM3MjIw
RDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvckN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0lEQkN1cnNvckN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNBNkMxNTM4MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvcldp
dGhWYWx1ZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0lEQkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUNBN0U5QjQ3MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRmdWxQYWludENoZWNrZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0E3RTlCNDgyNDM2MURDNTAwNEU4OUY2
IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBRTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1Zh
bHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0FzcGVjdFJh
dGlvVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQUU5RjkwRTE0NjQ0
MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5jZUVudHJ5LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRW50cnku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjEwMjUsNiArMjEwMzAsOCBAQAog
CQkJCUE1QTk5MzNBMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlM
aXN0LmNwcCAqLywKIAkJCQlBNUE5OTMzQjFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdC5oICovLAogCQkJCUE1QTk5MzNDMUUzN0ZBRkQwMDVCNUU0RCAvKiBQ
ZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCAqLywKKwkJCQlDQTE5MzNENTI0MDdENjQw
MDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovLAorCQkJCUNBMTkzM0Q4MjQw
N0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLywKIAkJCQk4NjUx
MkVEQjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi8s
CiAJCQkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcuaCAqLywKIAkJCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5pZGwgKi8sCkBAIC0yODEyNyw2ICsyODEzNCw4IEBACiAJCQkJQkNERDQ1NEQx
MjM2Qzk1QzAwOUE3OTg1IC8qIENvbHVtbkluZm8uaCAqLywKIAkJCQlCQ0VBNDgxMzA5N0Q5MzAy
MDA5NEM5RTQgLyogQ29tcGxleExpbmVMYXlvdXQuY3BwICovLAogCQkJCUU0QTFBQzc4MjJGQUZE
NTAwMDE3Qjc1QiAvKiBDb21wbGV4TGluZUxheW91dC5oICovLAorCQkJCUNBN0U5QjQ4MjQzNjFE
QzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcCAqLywKKwkJCQlDQTdFOUI0
NzI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oICovLAogCQkJCTkz
OTJGMTRGMEFEMTg2MjMwMDY5MUJENCAvKiBDb3VudGVyTm9kZS5jcHAgKi8sCiAJCQkJOTM5MkYx
NEIwQUQxODYxQjAwNjkxQkQ0IC8qIENvdW50ZXJOb2RlLmggKi8sCiAJCQkJMEY1M0ZCODEyMTNC
MUJCODAwQzQwRDM0IC8qIENTU0ZpbHRlci5jcHAgKi8sCkBAIC0yOTgzMiw2ICsyOTg0MSw3IEBA
CiAJCQkJQTE0OTc4NkYxQUJBRjMzODAwQ0VGN0U0IC8qIENvbnRlbnRGaWx0ZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTVDRENEREM2MjNEODBBMUMwMEJBMzRBMSAvKiBDb250ZW50RmlsdGVyQ2xp
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQwOTBGRDFBQTUxRTQ4MDA5MTE5MUEgLyogQ29u
dGVudEZpbHRlclVuYmxvY2tIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDQTdFOUI0OTI0
MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNUM5QzJEQjUyMjQxQTY3QjAwOTk2QjBCIC8qIENvbnRlbnRSdWxlTGlzdFJlc3VsdHMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTk3QzQ3MURDMTJGOTI1QkQwMDg2MzU0QiAvKiBDb250ZW50
U2VjdXJpdHlQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFNUZBMjU1MjA5RTQ4QzUwMDUx
RDcwMCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovLApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNl
RW50cnlDdXN0b20uY3BwCShyZXZpc2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
NSw5ICszNSwxMSBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTUGVy
Zm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNs
dWRlICJKU1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5n
LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYg
KzQ4LDkgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFBl
cmZvcm1hbmNlRW50cnk+JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRU
aW1pbmc+KGVudHJ5KSkKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQ
YWludFRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAgICBpZiAoaXM8
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRl
V3JhcHBlcjxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUo
ZW50cnkpKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0
aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODIsNiAr
MTgyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3Vy
ZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNybyhQZXJmb3Jt
YW5jZU9ic2VydmVyRW50cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWlu
ZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQ
ZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXApJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBACiAj
aW5jbHVkZSAiQ29tcG9zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkNvbnN0YW50UHJvcGVydHlN
YXAuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIKKyNpbmNsdWRlICJDb250
ZW50ZnVsUGFpbnRDaGVja2VyLmgiCiAjaW5jbHVkZSAiQ29va2llSmFyLmgiCiAjaW5jbHVkZSAi
Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaCIKICNpbmNsdWRlICJDdXN0b21FbGVtZW50UmVn
aXN0cnkuaCIKQEAgLTE0OSw2ICsxNTAsNyBAQAogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2lu
Y2x1ZGUgIlBhZ2VUcmFuc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQYWludFdvcmtsZXRHbG9i
YWxTY29wZS5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1M
b2NhbGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybVNjcmVlbi5oIgpAQCAtMzE0NCw2ICszMTQ2LDM0IEBAIGJvb2wgRG9jdW1l
bnQ6OmlzTGF5b3V0VGltZXJBY3RpdmUoKSBjb24KICAgICByZXR1cm4gdmlldygpICYmIHZpZXco
KS0+bGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0UGVuZGluZygpOwogfQogCitib29sIERvY3VtZW50
OjpzdXBwb3J0c1BhaW50VGltaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQoKSAmJiBzZWN1
cml0eU9yaWdpbigpLmNhbkFjY2Vzcyh0b3BPcmlnaW4oKSk7Cit9CisKKy8vIGh0dHBzOi8vdzNj
LmdpdGh1Yi5pby9wYWludC10aW1pbmcvI3JlZi1mb3ItbWFyay1wYWludC10aW1pbmcKK3ZvaWQg
RG9jdW1lbnQ6OnJlcG9ydFBhaW50VGltaW5nSWZOZWVkZWQoKQoreworICAgIGlmIChtX2RpZFJl
cG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIXN1
cHBvcnRzUGFpbnRUaW1pbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFkb21XaW5k
b3coKSB8fCAhdmlldygpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBUbyBtYWtlIHN1cmUg
d2UgZG9uJ3QgcmVwb3J0IHBhaW50IHdoaWxlIHRoZSBsYXllciB0cmVlIGlzIHN0aWxsIGZyb3pl
bi4KKyAgICBpZiAoIXZpZXcoKS0+aXNWaXN1YWxseU5vbkVtcHR5KCkgfHwgdmlldygpLT5uZWVk
c0xheW91dCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIUNvbnRlbnRmdWxQYWludENo
ZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRmdWxQYWludCgqdmlldygpKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCkucmVwb3J0Rmlyc3RDb250ZW50
ZnVsUGFpbnQoKTsKKyAgICBtX2RpZFJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50ID0gdHJ1ZTsK
K30KKwogRXhjZXB0aW9uT3I8dm9pZD4gRG9jdW1lbnQ6OndyaXRlKERvY3VtZW50KiByZXNwb25z
aWJsZURvY3VtZW50LCBTZWdtZW50ZWRTdHJpbmcmJiB0ZXh0KQogewogICAgIGlmIChtX2FjdGl2
ZVBhcnNlcldhc0Fib3J0ZWQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMjYw
NjM5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTEwMzgsNiArMTAzOCw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2hvdWxkRGVmZXJBc3luY2hy
b25vdXNTY3JpcHRzVW50aWxQYXJzaW5nRmluaXNoZXMoKSBjb25zdDsKIAorICAgIGJvb2wgc3Vw
cG9ydHNQYWludFRpbWluZygpIGNvbnN0OworCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgdm9pZCBz
Y2hlZHVsZVRvQXBwbHlYU0xUcmFuc2Zvcm1zKCk7CiAgICAgdm9pZCBhcHBseVBlbmRpbmdYU0xU
cmFuc2Zvcm1zTm93SWZTY2hlZHVsZWQoKTsKQEAgLTE1NzcsNiArMTU3OSw3IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgc2V0SGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQoKSB7IG1faGFz
VmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQgPSB0cnVlOyB9CiAgICAgYm9vbCBoYXNWaXN1
YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzVmlzdWFsbHlO
b25FbXB0eUN1c3RvbUNvbnRlbnQ7IH0KKyAgICB2b2lkIHJlcG9ydFBhaW50VGltaW5nSWZOZWVk
ZWQoKTsKIAogcHJvdGVjdGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9uRmxhZ3MgeyBTeW50aGVz
aXplZCA9IDEsIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEgfTsKQEAgLTIwNDMsNiAr
MjA0Niw5IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fYXJlRGV2aWNlTW90aW9uQW5kT3JpZW50
YXRpb25VcGRhdGVzU3VzcGVuZGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fdXNlckRpZEludGVy
YWN0V2l0aFBhZ2UgeyBmYWxzZSB9OworCisgICAgYm9vbCBtX2RpZFJlcG9ydEZpcnN0Q29udGVu
dGZ1bFBhaW50IHsgZmFsc2UgfTsKKwogI2lmIEFTU0VSVF9FTkFCTEVECiAgICAgYm9vbCBtX2lu
SGl0VGVzdGluZyB7IGZhbHNlIH07CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDI1Nyw2ICs0MjU3LDkgQEAgdm9pZCBGcmFtZVZpZXc6
OnBhaW50Q29udGVudHMoR3JhcGhpY3NDbwogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpCiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkubGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRFbmFibGVkKCkpIHsKKyAgICAgICAgLy8gSW50ZWdy
YXRlIHBhaW50IHRpbWluZyB3aXRoIExGQyBsYXRlciBvbi4KKyAgICAgICAgaWYgKGNvbnRleHQu
ZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpCisgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IGlmIChhdXRvKiBsYXlvdXRTdGF0ZSA9IGxheW91dENvbnRleHQoKS5sYXlvdXRGb3JtYXR0aW5n
U3RhdGUoKSkKICAgICAgICAgICAgIExheW91dDo6TGF5b3V0Q29udGV4dDo6cGFpbnQoKmxheW91
dFN0YXRlLCBjb250ZXh0LCBkaXJ0eVJlY3QpOwogICAgICAgICByZXR1cm47CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzOTYsNiArMTM5NiwxMCBAQCB2b2lkIFBhZ2U6OmRv
QWZ0ZXJVcGRhdGVSZW5kZXJpbmcoKQogICAgIC8vIGxheW91dCB0byBiZSB1cC10by1kYXRlLiBJ
dCBzaG91bGQgbm90IHJ1biBzY3JpcHQsIHRyaWdnZXIgbGF5b3V0LCBvciBkaXJ0eSBsYXlvdXQu
CiAKICAgICBmb3JFYWNoRG9jdW1lbnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkgeworICAgICAg
ICBkb2N1bWVudC5yZXBvcnRQYWludFRpbWluZ0lmTmVlZGVkKCk7CisgICAgfSk7CisKKyAgICBm
b3JFYWNoRG9jdW1lbnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkgewogICAgICAgICBkb2N1bWVu
dC51cGRhdGVIaWdobGlnaHRQb3NpdGlvbnMoKTsKICAgICB9KTsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZS5jcHAJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBACiAj
aW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTmF2aWdh
dGlvbi5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJQZXJm
b3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFu
Y2VVc2VyVGltaW5nLmgiCkBAIC0xMjQsNiArMTI1LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3Jt
YW5jZUVudHJ5Pj4gUGVyZm9ybQogICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJU
aW1pbmctPmdldE1lYXN1cmVzKCkpOwogICAgIH0KIAorICAgIGlmIChtX2ZpcnN0Q29udGVudGZ1
bFBhaW50KQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsK
KwogICAgIHN0ZDo6c29ydChlbnRyaWVzLmJlZ2luKCksIGVudHJpZXMuZW5kKCksIFBlcmZvcm1h
bmNlRW50cnk6OnN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbik7CiAgICAgcmV0dXJuIGVudHJpZXM7
CiB9CkBAIC0xMzUsNiArMTM5LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4g
UGVyZm9ybQogICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUs
ICJyZXNvdXJjZSIpKQogICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3Jlc291cmNlVGlt
aW5nQnVmZmVyKTsKIAorICAgIGlmIChtX2ZpcnN0Q29udGVudGZ1bFBhaW50ICYmIGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInBhaW50IikpCisgICAgICAgIGVudHJp
ZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworCiAgICAgaWYgKG1fdXNlclRpbWlu
ZykgewogICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBl
LCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5n
LT5nZXRNYXJrcygpKTsKQEAgLTE1Nyw2ICsxNjQsOSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+PiBQZXJmb3JtCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAobV9maXJzdENv
bnRlbnRmdWxQYWludCAmJiAoZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInBhaW50IikpICYmIG5hbWUgPT0gImZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQiKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBh
aW50KTsKKwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVudHJ5VHlwZS5p
c051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJr
IikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1h
cmtzKG5hbWUpKTsKQEAgLTE4MCw2ICsxOTAsMTMgQEAgdm9pZCBQZXJmb3JtYW5jZTo6c2V0UmVz
b3VyY2VUaW1pbmdCdWZmZQogICAgIG1fcmVzb3VyY2VUaW1pbmdCdWZmZXJGdWxsRmxhZyA9IGZh
bHNlOwogfQogCit2b2lkIFBlcmZvcm1hbmNlOjpyZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgp
Cit7CisgICAgQVNTRVJUKCFtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKKyAgICBtX2ZpcnN0Q29u
dGVudGZ1bFBhaW50ID0gUGVyZm9ybWFuY2VQYWludFRpbWluZzo6Y3JlYXRlRmlyc3RDb250ZW50
ZnVsUGFpbnQobm93KCkpOworICAgIHF1ZXVlRW50cnkoKm1fZmlyc3RDb250ZW50ZnVsUGFpbnQp
OworfQorCiB2b2lkIFBlcmZvcm1hbmNlOjphZGRSZXNvdXJjZVRpbWluZyhSZXNvdXJjZVRpbWlu
ZyYmIHJlc291cmNlVGltaW5nKQogewogICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAkocmV2aXNpb24gMjYwNjM5KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00
NSw2ICs0NSw3IEBAIGNsYXNzIExvYWRUaW1pbmc7CiBjbGFzcyBQZXJmb3JtYW5jZUVudHJ5Owog
Y2xhc3MgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOwogY2xhc3MgUGVyZm9ybWFuY2VPYnNlcnZlcjsK
K2NsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc7CiBjbGFzcyBQZXJmb3JtYW5jZVRpbWluZzsK
IGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVRpbWluZzsKQEAgLTc3LDYg
Kzc4LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGRSZXNvdXJjZVRpbWluZyhSZXNvdXJjZVRp
bWluZyYmKTsKIAorICAgIHZvaWQgcmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKwogICAg
IHZvaWQgcmVtb3ZlQWxsT2JzZXJ2ZXJzKCk7CiAgICAgdm9pZCByZWdpc3RlclBlcmZvcm1hbmNl
T2JzZXJ2ZXIoUGVyZm9ybWFuY2VPYnNlcnZlciYpOwogICAgIHZvaWQgdW5yZWdpc3RlclBlcmZv
cm1hbmNlT2JzZXJ2ZXIoUGVyZm9ybWFuY2VPYnNlcnZlciYpOwpAQCAtMTIxLDYgKzEyNCw3IEBA
IHByaXZhdGU6CiAKICAgICBNb25vdG9uaWNUaW1lIG1fdGltZU9yaWdpbjsKIAorICAgIFJlZlB0
cjxQZXJmb3JtYW5jZVBhaW50VGltaW5nPiBtX2ZpcnN0Q29udGVudGZ1bFBhaW50OwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxVc2VyVGltaW5nPiBtX3VzZXJUaW1pbmc7CiAKICAgICBHZW5lcmljVGFz
a1F1ZXVlPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ+IG1fcGVyZm9ybWFuY2VUaW1lbGluZVRhc2tR
dWV1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAkocmV2
aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsMTEgQEAgT3B0aW9uYWw8UGVyZm9ybWFuY2VF
bnRyeTo6VHlwZT4gUGVyZm9ybQogICAgICAgICAgICAgcmV0dXJuIE9wdGlvbmFsPFR5cGU+KFR5
cGU6OlJlc291cmNlKTsKICAgICB9CiAKKyAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQoKSkgeworICAgICAgICBpZiAoZW50
cnlUeXBlID09ICJwYWludCIpCisgICAgICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlw
ZTo6UGFpbnQpOworICAgIH0KKwogICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiB9CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCShyZXZpc2lvbiAyNjA2MzkpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAkod29ya2luZyBjb3B5KQpA
QCAtNDgsMTAgKzQ4LDExIEBAIHB1YmxpYzoKICAgICBkb3VibGUgZHVyYXRpb24oKSBjb25zdCB7
IHJldHVybiBtX2R1cmF0aW9uOyB9CiAKICAgICBlbnVtIGNsYXNzIFR5cGUgewotICAgICAgICBO
YXZpZ2F0aW9uID0gMSA8PCAwLAotICAgICAgICBNYXJrID0gMSA8PCAxLAotICAgICAgICBNZWFz
dXJlID0gMSA8PCAyLAotICAgICAgICBSZXNvdXJjZSA9IDEgPDwgMywKKyAgICAgICAgTmF2aWdh
dGlvbiAgPSAxIDw8IDAsCisgICAgICAgIE1hcmsgICAgICAgID0gMSA8PCAxLAorICAgICAgICBN
ZWFzdXJlICAgICA9IDEgPDwgMiwKKyAgICAgICAgUmVzb3VyY2UgICAgPSAxIDw8IDMsCisgICAg
ICAgIFBhaW50ICAgICAgID0gMSA8PCA0CiAgICAgfTsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBl
KCkgY29uc3QgPSAwOwpAQCAtNjIsNiArNjMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Jlc291
cmNlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OlJlc291cmNlOyB9CiAgICAgYm9v
bCBpc01hcmsoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWFyazsgfQogICAgIGJv
b2wgaXNNZWFzdXJlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1lYXN1cmU7IH0K
KyAgICBib29sIGlzUGFpbnQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UGFpbnQ7
IH0KIAogICAgIHN0YXRpYyBib29sIHN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbihjb25zdCBSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4mIGEsIGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYg
YikKICAgICB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5jcHAJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMywxNSArMTEzLDIxIEBAIHZvaWQg
UGVyZm9ybWFuY2VPYnNlcnZlcjo6ZGVsaXZlcigpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRGaXJlT2JzZXJ2ZXJDYWxsYmFjaygqY29udGV4dCk7CiB9CiAKLVZlY3RvcjxTdHJp
bmc+IFBlcmZvcm1hbmNlT2JzZXJ2ZXI6OnN1cHBvcnRlZEVudHJ5VHlwZXMoKQorVmVjdG9yPFN0
cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyhTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0KQogewotICAgIHJldHVybiB7CisgICAgVmVjdG9yPFN0cmlu
Zz4gZW50cnlUeXBlcyA9IHsKICAgICAgICAgLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5vcmcv
Yi8xODQzNjM+IEFkZCBzdXBwb3J0IGZvciBOYXZpZ2F0aW9uIFRpbWluZyBMZXZlbCAyCiAgICAg
ICAgIC8vICJuYXZpZ2F0aW9uIl9zLAogICAgICAgICAibWFyayJfcywKLSAgICAgICAgIm1lYXN1
cmUiX3MsCi0gICAgICAgICJyZXNvdXJjZSJfcworICAgICAgICAibWVhc3VyZSJfcwogICAgIH07
CisKKyAgICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpICYmIGRvd25jYXN0PERvY3VtZW50Pihj
b250ZXh0KS5zdXBwb3J0c1BhaW50VGltaW5nKCkpCisgICAgICAgIGVudHJ5VHlwZXMuYXBwZW5k
KCJwYWludCJfcyk7CisKKyAgICBlbnRyeVR5cGVzLmFwcGVuZCgicmVzb3VyY2UiX3MpOworCisg
ICAgcmV0dXJuIGVudHJ5VHlwZXM7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCShyZXZpc2lvbiAyNjA2
MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoY29udGV4dCwgV1RGTW92ZShjYWxsYmFjaykpKTsK
ICAgICB9CiAKLSAgICBzdGF0aWMgVmVjdG9yPFN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlcygp
OworICAgIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmKTsKIAogICAgIHZvaWQgZGlzYXNzb2NpYXRlKCk7CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAkocmV2aXNpb24gMjYw
NjM5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogXSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VPYnNl
cnZlciB7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIG9ic2VydmUoUGVyZm9ybWFuY2VP
YnNlcnZlckluaXQgb3B0aW9ucyk7CiAgICAgdm9pZCBkaXNjb25uZWN0KCk7Ci0gICAgc3RhdGlj
IHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHN1cHBvcnRlZEVudHJ5
VHlwZXM7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyByZWFk
b25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RE9NU3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVz
OwogfTsKIAogZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdCB7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lN
ZWRpYSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVyZm9y
bWFuY2VFbnRyeS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgZmluYWwgOiBwdWJs
aWMgUGVyZm9ybWFuY2VFbnRyeSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5j
ZVBhaW50VGltaW5nPiBjcmVhdGVGaXJzdENvbnRlbnRmdWxQYWludChET01IaWdoUmVzVGltZVN0
YW1wIHRpbWVTdGFtcCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiX3MsIHRpbWVTdGFtcCkp
OworICAgIH0KKworcHJpdmF0ZToKKyAgICBQZXJmb3JtYW5jZVBhaW50VGltaW5nKGNvbnN0IFN0
cmluZyYgbmFtZSwgRE9NSGlnaFJlc1RpbWVTdGFtcCB0aW1lU3RhbXApCisgICAgICAgIDogUGVy
Zm9ybWFuY2VFbnRyeShuYW1lLCB0aW1lU3RhbXAsIHRpbWVTdGFtcCkKKyAgICB7CisgICAgfQor
CisgICAgQVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJwYWlu
dCJfczsgfQorICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFR5cGU6OlBhaW50
OyB9CisKKyAgICB+UGVyZm9ybWFuY2VQYWludFRpbWluZygpID0gZGVmYXVsdDsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJD
b3JlOjpQZXJmb3JtYW5jZVBhaW50VGltaW5nKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25z
dCBXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnkuaXNQYWlu
dCgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRp
YSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Bh
aW50LXRpbWluZy8KKwordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKworWwor
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGFpbnRUaW1pbmcsCisgICAgRXhwb3NlZD0oV2luZG93KSwK
K10gaW50ZXJmYWNlIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgOiBQZXJmb3JtYW5jZUVudHJ5IHsK
K307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDkgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0VXNlclRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1VzZXJUaW1p
bmdFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCB1c2VyVGltaW5nRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1faXNVc2VyVGltaW5nRW5hYmxlZDsgfQogCisgICAgdm9pZCBzZXRQYWlu
dFRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1BhaW50VGltaW5nRW5hYmxlZCA9
IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgcGFpbnRUaW1pbmdFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9pc1BhaW50VGltaW5nRW5hYmxlZDsgfQorCiAgICAgYm9vbCBwZXJmb3JtYW5jZVRpbWVs
aW5lRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIHJlc291cmNlVGltaW5nRW5hYmxlZCgpIHx8IHVz
ZXJUaW1pbmdFbmFibGVkKCk7IH0KIAogICAgIHZvaWQgc2V0U2hhZG93RE9NRW5hYmxlZChib29s
IGlzRW5hYmxlZCkgeyBtX2lzU2hhZG93RE9NRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQpAQCAtNDI0
LDYgKzQyNyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzTGlua1ByZWxvYWRFbmFibGVkIHsg
dHJ1ZSB9OwogICAgIGJvb2wgbV9pc0xpbmtQcmVmZXRjaEVuYWJsZWQgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9pc01lZGlhUHJlbG9hZGluZ0VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9p
c1BhaW50VGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzUmVzb3VyY2VUaW1p
bmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNVc2VyVGltaW5nRW5hYmxlZCB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX2lzSW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQgeyBm
YWxzZSB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0LmgJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzMs
NyArMjczLDggQEAgcHVibGljOgogICAgIGVudW0gY2xhc3MgUGFpbnRJbnZhbGlkYXRpb25SZWFz
b25zIDogdWludDhfdCB7CiAgICAgICAgIE5vbmUsCiAgICAgICAgIEludmFsaWRhdGluZ0NvbnRy
b2xUaW50cywKLSAgICAgICAgSW52YWxpZGF0aW5nSW1hZ2VzV2l0aEFzeW5jRGVjb2RlcworICAg
ICAgICBJbnZhbGlkYXRpbmdJbWFnZXNXaXRoQXN5bmNEZWNvZGVzLAorICAgICAgICBEZXRlY3Rp
bmdDb250ZW50ZnVsUGFpbnQKICAgICB9OwogICAgIEdyYXBoaWNzQ29udGV4dChQYWludEludmFs
aWRhdGlvblJlYXNvbnMpOwogCkBAIC0yOTIsNiArMjkzLDcgQEAgcHVibGljOgogICAgIGJvb2wg
cGVyZm9ybWluZ1BhaW50SW52YWxpZGF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9wYWludEludmFs
aWRhdGlvblJlYXNvbnMgIT0gUGFpbnRJbnZhbGlkYXRpb25SZWFzb25zOjpOb25lOyB9CiAgICAg
Ym9vbCBpbnZhbGlkYXRpbmdDb250cm9sVGludHMoKSBjb25zdCB7IHJldHVybiBtX3BhaW50SW52
YWxpZGF0aW9uUmVhc29ucyA9PSBQYWludEludmFsaWRhdGlvblJlYXNvbnM6OkludmFsaWRhdGlu
Z0NvbnRyb2xUaW50czsgfQogICAgIGJvb2wgaW52YWxpZGF0aW5nSW1hZ2VzV2l0aEFzeW5jRGVj
b2RlcygpIGNvbnN0IHsgcmV0dXJuIG1fcGFpbnRJbnZhbGlkYXRpb25SZWFzb25zID09IFBhaW50
SW52YWxpZGF0aW9uUmVhc29uczo6SW52YWxpZGF0aW5nSW1hZ2VzV2l0aEFzeW5jRGVjb2Rlczsg
fQorICAgIGJvb2wgZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkgY29uc3QgeyByZXR1cm4gbV9w
YWludEludmFsaWRhdGlvblJlYXNvbnMgPT0gUGFpbnRJbnZhbGlkYXRpb25SZWFzb25zOjpEZXRl
Y3RpbmdDb250ZW50ZnVsUGFpbnQ7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U3Ry
b2tlVGhpY2tuZXNzKGZsb2F0KTsKICAgICBmbG9hdCBzdHJva2VUaGlja25lc3MoKSBjb25zdCB7
IHJldHVybiBtX3N0YXRlLnN0cm9rZVRoaWNrbmVzczsgfQpAQCAtNTEzLDYgKzUxNSw5IEBAIHB1
YmxpYzoKICAgICBGbG9hdFNpemUgc2NhbGVGYWN0b3IoKSBjb25zdDsKICAgICBGbG9hdFNpemUg
c2NhbGVGYWN0b3JGb3JEcmF3aW5nKGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEZs
b2F0UmVjdCYgc3JjUmVjdCkgY29uc3Q7CiAKKyAgICB2b2lkIHNldENvbnRlbnRmdWxQYWludERl
dGVjdGVkKCkgeyBtX2NvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQgPSB0cnVlOyB9CisgICAgYm9vbCBj
b250ZW5mdWxQYWludERldGVjdGVkKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW5mdWxQYWludERl
dGVjdGVkOyB9CisKICNpZiBPUyhXSU5ET1dTKQogICAgIEhEQyBnZXRXaW5kb3dzQ29udGV4dChj
b25zdCBJbnRSZWN0JiwgYm9vbCBzdXBwb3J0QWxwaGFCbGVuZCk7IC8vIFRoZSBwYXNzZWQgaW4g
cmVjdCBpcyB1c2VkIHRvIGNyZWF0ZSBhIGJpdG1hcCBmb3IgY29tcG9zaXRpbmcgaW5zaWRlIHRy
YW5zcGFyZW5jeSBsYXllcnMuCiAgICAgdm9pZCByZWxlYXNlV2luZG93c0NvbnRleHQoSERDLCBj
b25zdCBJbnRSZWN0JiwgYm9vbCBzdXBwb3J0QWxwaGFCbGVuZCk7IC8vIFRoZSBwYXNzZWQgaW4g
SERDIHNob3VsZCBiZSB0aGUgb25lIGhhbmRlZCBiYWNrIGJ5IGdldFdpbmRvd3NDb250ZXh0LgpA
QCAtNjYxLDYgKzY2Niw3IEBAIHByaXZhdGU6CiAKICAgICBjb25zdCBQYWludEludmFsaWRhdGlv
blJlYXNvbnMgbV9wYWludEludmFsaWRhdGlvblJlYXNvbnMgeyBQYWludEludmFsaWRhdGlvblJl
YXNvbnM6Ok5vbmUgfTsKICAgICB1bnNpZ25lZCBtX3RyYW5zcGFyZW5jeUNvdW50IHsgMCB9Owor
ICAgIGJvb2wgbV9jb250ZW5mdWxQYWludERldGVjdGVkIHsgZmFsc2UgfTsKIH07CiAKIGNsYXNz
IEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgewpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAkobm9uZXhpc3RlbnQpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBX
aWtpTWVkaWEgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIgorCisjaW5jbHVkZSAiRnJhbWVW
aWV3LmgiCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworYm9vbCBDb250ZW50ZnVsUGFpbnRDaGVja2VyOjpxdWFsaWZpZXNGb3JDb250ZW50ZnVs
UGFpbnQoRnJhbWVWaWV3JiBmcmFtZVZpZXcpCit7CisgICAgQVNTRVJUKCFmcmFtZVZpZXcubmVl
ZHNMYXlvdXQoKSk7CisgICAgQVNTRVJUKGZyYW1lVmlldy5yZW5kZXJWaWV3KCkpOworCisgICAg
YXV0byBvbGRQYWludEJlaGF2aW9yID0gZnJhbWVWaWV3LnBhaW50QmVoYXZpb3IoKTsKKyAgICBh
dXRvIG9sZEVudGlyZUNvbnRlbnRzID0gZnJhbWVWaWV3LnBhaW50c0VudGlyZUNvbnRlbnRzKCk7
CisKKyAgICBmcmFtZVZpZXcuc2V0UGFpbnRCZWhhdmlvcihQYWludEJlaGF2aW9yOjpGbGF0dGVu
Q29tcG9zaXRpbmdMYXllcnMpOworICAgIGZyYW1lVmlldy5zZXRQYWludHNFbnRpcmVDb250ZW50
cyh0cnVlKTsKKworICAgIEdyYXBoaWNzQ29udGV4dCBjaGVja2VyQ29udGV4dChHcmFwaGljc0Nv
bnRleHQ6OlBhaW50SW52YWxpZGF0aW9uUmVhc29uczo6RGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50
KTsKKyAgICBmcmFtZVZpZXcucGFpbnQoY2hlY2tlckNvbnRleHQsIGZyYW1lVmlldy5yZW5kZXJW
aWV3KCktPmRvY3VtZW50UmVjdCgpKTsKKworICAgIGZyYW1lVmlldy5zZXRQYWludHNFbnRpcmVD
b250ZW50cyhvbGRFbnRpcmVDb250ZW50cyk7CisgICAgZnJhbWVWaWV3LnNldFBhaW50QmVoYXZp
b3Iob2xkUGFpbnRCZWhhdmlvcik7CisKKyAgICByZXR1cm4gY2hlY2tlckNvbnRleHQuY29udGVu
ZnVsUGFpbnREZXRlY3RlZCgpOworfQorCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmgJKG5vbmV4aXN0ZW50KQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRp
YSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIEZyYW1lVmlldzsKKworY2xhc3MgQ29udGVudGZ1bFBhaW50Q2hl
Y2tlciB7CitwdWJsaWM6CisgICAgc3RhdGljIGJvb2wgcXVhbGlmaWVzRm9yQ29udGVudGZ1bFBh
aW50KEZyYW1lVmlldyYpOworfTsKKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCShyZXZpc2lvbiAyNjA2MzkpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC03MTYsNyArNzE2LDggQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFp
bnRGaWxsTGF5ZQogICAgIEJhY2tncm91bmRCbGVlZEF2b2lkYW5jZSBibGVlZEF2b2lkYW5jZSwg
SW5saW5lRmxvd0JveCogYm94LCBjb25zdCBMYXlvdXRTaXplJiBib3hTaXplLCBDb21wb3NpdGVP
cGVyYXRvciBvcCwgUmVuZGVyRWxlbWVudCogYmFja2dyb3VuZE9iamVjdCwgQmFzZUJhY2tncm91
bmRDb2xvclVzYWdlIGJhc2VCZ0NvbG9yVXNhZ2UpCiB7CiAgICAgR3JhcGhpY3NDb250ZXh0JiBj
b250ZXh0ID0gcGFpbnRJbmZvLmNvbnRleHQoKTsKLSAgICBpZiAoY29udGV4dC5wYWludGluZ0Rp
c2FibGVkKCkgfHwgcmVjdC5pc0VtcHR5KCkpCisKKyAgICBpZiAoKGNvbnRleHQucGFpbnRpbmdE
aXNhYmxlZCgpICYmICFjb250ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpKSB8fCByZWN0
LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYm9vbCBpbmNsdWRlTGVmdEVkZ2Ug
PSBib3ggPyBib3gtPmluY2x1ZGVMb2dpY2FsTGVmdEVkZ2UoKSA6IHRydWU7CkBAIC03MzEsNiAr
NzMyLDE0IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50RmlsbExheWUKICAgICBT
dHlsZUltYWdlKiBiZ0ltYWdlID0gYmdMYXllci5pbWFnZSgpOwogICAgIGJvb2wgc2hvdWxkUGFp
bnRCYWNrZ3JvdW5kSW1hZ2UgPSBiZ0ltYWdlICYmIGJnSW1hZ2UtPmNhblJlbmRlcih0aGlzLCBz
dHlsZSgpLmVmZmVjdGl2ZVpvb20oKSk7CiAgICAgCisgICAgaWYgKGNvbnRleHQuZGV0ZWN0aW5n
Q29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAgaWYgKCFjb250ZXh0LmNvbnRlbmZ1bFBhaW50
RGV0ZWN0ZWQoKSAmJiBzaG91bGRQYWludEJhY2tncm91bmRJbWFnZSAmJiBiZ0ltYWdlLT5jYWNo
ZWRJbWFnZSgpKSB7CisgICAgICAgICAgICBpZiAoc3R5bGUoKS5iYWNrZ3JvdW5kU2l6ZVR5cGUo
KSAhPSBGaWxsU2l6ZVR5cGU6OlNpemUgfHwgIXN0eWxlKCkuYmFja2dyb3VuZFNpemVMZW5ndGgo
KS5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgY29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnRE
ZXRlY3RlZCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorCiAgICAg
aWYgKGNvbnRleHQuaW52YWxpZGF0aW5nSW1hZ2VzV2l0aEFzeW5jRGVjb2RlcygpKSB7CiAgICAg
ICAgIGlmIChzaG91bGRQYWludEJhY2tncm91bmRJbWFnZSAmJiBiZ0ltYWdlLT5jYWNoZWRJbWFn
ZSgpLT5pc0NsaWVudFdhaXRpbmdGb3JBc3luY0RlY29kaW5nKCp0aGlzKSkKICAgICAgICAgICAg
IGJnSW1hZ2UtPmNhY2hlZEltYWdlKCktPnJlbW92ZUFsbENsaWVudHNXYWl0aW5nRm9yQXN5bmNE
ZWNvZGluZygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52
YXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1M
Q2FudmFzLmNwcAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckhUTUxDYW52YXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw2ICs3MSwxMyBAQCB2
b2lkIFJlbmRlckhUTUxDYW52YXM6OnBhaW50UmVwbGFjZWQoUGFpCiAgICAgR3JhcGhpY3NDb250
ZXh0JiBjb250ZXh0ID0gcGFpbnRJbmZvLmNvbnRleHQoKTsKIAogICAgIExheW91dFJlY3QgY29u
dGVudEJveFJlY3QgPSB0aGlzLT5jb250ZW50Qm94UmVjdCgpOworCisgICAgaWYgKGNvbnRleHQu
ZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAgaWYgKCFjb250ZXh0LmNvbnRl
bmZ1bFBhaW50RGV0ZWN0ZWQoKSAmJiBjYW52YXNFbGVtZW50KCkucmVuZGVyaW5nQ29udGV4dCgp
KQorICAgICAgICAgICAgY29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCiAgICAgY29udGVudEJveFJlY3QubW92ZUJ5KHBhaW50T2Zm
c2V0KTsKICAgICBMYXlvdXRSZWN0IHJlcGxhY2VkQ29udGVudFJlY3QgPSB0aGlzLT5yZXBsYWNl
ZENvbnRlbnRSZWN0KCk7CiAgICAgcmVwbGFjZWRDb250ZW50UmVjdC5tb3ZlQnkocGFpbnRPZmZz
ZXQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCShyZXZp
c2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00OTIsNiArNDkyLDEzIEBAIHZvaWQgUmVuZGVySW1hZ2U6OnBh
aW50UmVwbGFjZWQoUGFpbnRJbmYKICAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciA9IGRvY3Vt
ZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKTsKICAgICBMYXlvdXRVbml0IG1pc3NpbmdJbWFnZUJv
cmRlcldpZHRoKDEgLyBkZXZpY2VTY2FsZUZhY3Rvcik7CiAKKyAgICBpZiAoY29udGV4dC5kZXRl
Y3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgeworICAgICAgICBpZiAoIWNvbnRleHQuY29udGVuZnVs
UGFpbnREZXRlY3RlZCgpICYmICFpc0RlZmVycmVkSW1hZ2UoZWxlbWVudCgpKSAmJiBjYWNoZWRJ
bWFnZSgpICYmIGNhY2hlZEltYWdlKCktPmNhblJlbmRlcih0aGlzLCBkZXZpY2VTY2FsZUZhY3Rv
cikgJiYgIWNvbnRlbnRTaXplLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIGNvbnRleHQuc2V0Q29u
dGVudGZ1bFBhaW50RGV0ZWN0ZWQoKTsKKworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAg
aWYgKCFpbWFnZVJlc291cmNlKCkuY2FjaGVkSW1hZ2UoKSB8fCBpc0RlZmVycmVkSW1hZ2UoZWxl
bWVudCgpKSB8fCBzaG91bGREaXNwbGF5QnJva2VuSW1hZ2VJY29uKCkpIHsKICAgICAgICAgaWYg
KHBhaW50SW5mby5waGFzZSA9PSBQYWludFBoYXNlOjpTZWxlY3Rpb24pCiAgICAgICAgICAgICBy
ZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAJKHJl
dmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1NDAsNiArNDU0MCw5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OnBhaW50TGF5ZXJDb250ZW50cyhHcmEKIHsKICAgICBBU1NFUlQoaXNTZWxmUGFpbnRpbmdMYXll
cigpIHx8IGhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCgpKTsKIAorICAgIGlmIChjb250
ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpICYmIGNvbnRleHQuY29udGVuZnVsUGFpbnRE
ZXRlY3RlZCgpKQorICAgICAgICByZXR1cm47CisKICAgICBhdXRvIGxvY2FsUGFpbnRGbGFncyA9
IHBhaW50RmxhZ3MgLSBQYWludExheWVyQXBwbGllZFRyYW5zZm9ybTsKICAgICBib29sIGhhdmVU
cmFuc3BhcmVuY3kgPSBsb2NhbFBhaW50RmxhZ3MuY29udGFpbnMoUGFpbnRMYXllckhhdmVUcmFu
c3BhcmVuY3kpOwogICAgIGJvb2wgaXNTZWxmUGFpbnRpbmdMYXllciA9IHRoaXMtPmlzU2VsZlBh
aW50aW5nTGF5ZXIoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRl
by5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVv
LmNwcAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZGVvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA0LDYgKzIwNCwxMiBAQCB2b2lkIFJlbmRl
clZpZGVvOjpwYWludFJlcGxhY2VkKFBhaW50SW5mCiAgICAgTGF5b3V0UmVjdCBjb250ZW50UmVj
dCA9IGNvbnRlbnRCb3hSZWN0KCk7CiAgICAgY29udGVudFJlY3QubW92ZUJ5KHBhaW50T2Zmc2V0
KTsKICAgICBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQgPSBwYWludEluZm8uY29udGV4dCgpOwor
CisgICAgaWYgKGNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAg
Y29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCiAgICAgYm9vbCBjbGlwID0gIWNvbnRlbnRSZWN0LmNvbnRhaW5zKHJlY3QpOwogICAg
IEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihjb250ZXh0LCBjbGlwKTsKICAg
ICBpZiAoY2xpcCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWludGVyLmNw
cAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWlu
dGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkRpc3Bs
YXlSdW4uaCIKICNpbmNsdWRlICJGaWx0ZXJPcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAiR3JhcGhp
Y3NDb250ZXh0LmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIklu
bGluZVRleHRCb3guaCIKICNpbmNsdWRlICJSZW5kZXJDb21iaW5lVGV4dC5oIgogI2luY2x1ZGUg
IlJlbmRlckxheWVyLmgiCkBAIC0xMDUsNiArMTA2LDEzIEBAIHZvaWQgVGV4dFBhaW50ZXI6OnBh
aW50VGV4dE9yRW1waGFzaXNNYXIKICAgICBmbG9hdCBlbXBoYXNpc01hcmtPZmZzZXQsIGNvbnN0
IEZsb2F0UG9pbnQmIHRleHRPcmlnaW4sIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBl
bmRPZmZzZXQpCiB7CiAgICAgQVNTRVJUKHN0YXJ0T2Zmc2V0IDwgZW5kT2Zmc2V0KTsKKworICAg
IGlmIChtX2NvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAgaWYg
KCF0ZXh0UnVuLnRleHQoKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkuaXNBbGxTcGVjaWFsQ2hh
cmFjdGVyczxpc0hUTUxTcGFjZT4oKSkKKyAgICAgICAgICAgIG1fY29udGV4dC5zZXRDb250ZW50
ZnVsUGFpbnREZXRlY3RlZCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKCFl
bXBoYXNpc01hcmsuaXNFbXB0eSgpKQogICAgICAgICBtX2NvbnRleHQuZHJhd0VtcGhhc2lzTWFy
a3MoZm9udCwgdGV4dFJ1biwgZW1waGFzaXNNYXJrLCB0ZXh0T3JpZ2luICsgRmxvYXRTaXplKDAs
IGVtcGhhc2lzTWFya09mZnNldCksIHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpOwogICAgIGVsc2Ug
aWYgKHN0YXJ0T2Zmc2V0IHx8IGVuZE9mZnNldCA8IHRleHRSdW4ubGVuZ3RoKCkgfHwgIW1fZ2x5
cGhEaXNwbGF5TGlzdCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHUm9vdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSb290LmNwcAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjks
NyBAQAogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJMYXlvdXRSZXBhaW50
ZXIuaCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUmVuZGVyQ2hpbGRJdGVyYXRvci5o
IgogI2luY2x1ZGUgIlJlbmRlckl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIK
ICNpbmNsdWRlICJSZW5kZXJMYXlvdXRTdGF0ZS5oIgpAQCAtMjExLDcgKzIxMiw3IEBAIHZvaWQg
UmVuZGVyU1ZHUm9vdDo6cGFpbnRSZXBsYWNlZChQYWludEkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgLy8gRG9uJ3QgcGFpbnQsIGlmIHRoZSBjb250ZXh0IGV4cGxpY2l0bHkgZGlzYWJsZWQgaXQu
Ci0gICAgaWYgKHBhaW50SW5mby5jb250ZXh0KCkucGFpbnRpbmdEaXNhYmxlZCgpKQorICAgIGlm
IChwYWludEluZm8uY29udGV4dCgpLnBhaW50aW5nRGlzYWJsZWQoKSAmJiAhcGFpbnRJbmZvLmNv
bnRleHQoKS5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgLy8gU1ZHIG91dGxpbmVzIGFyZSBwYWludGVkIGR1cmluZyBQYWludFBoYXNlOjpGb3JlZ3Jv
dW5kLgpAQCAtMjIzLDYgKzIyNCwxNyBAQCB2b2lkIFJlbmRlclNWR1Jvb3Q6OnBhaW50UmVwbGFj
ZWQoUGFpbnRJCiAgICAgaWYgKHN2Z1NWR0VsZW1lbnQoKS5oYXNFbXB0eVZpZXdCb3goKSkKICAg
ICAgICAgcmV0dXJuOwogCisgICAgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0ID0gcGFpbnRJbmZv
LmNvbnRleHQoKTsKKyAgICBpZiAoY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkg
eworICAgICAgICBmb3IgKGF1dG8mIGN1cnJlbnQgOiBjaGlsZHJlbk9mVHlwZTxSZW5kZXJPYmpl
Y3Q+KCp0aGlzKSkgeworICAgICAgICAgICAgaWYgKCFjdXJyZW50LmlzU1ZHSGlkZGVuQ29udGFp
bmVyKCkpIHsKKyAgICAgICAgICAgICAgICBjb250ZXh0LnNldENvbnRlbnRmdWxQYWludERldGVj
dGVkKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICAvLyBEb24ndCBwYWludCBpZiB3ZSBkb24n
dCBoYXZlIGtpZHMsIGV4Y2VwdCBpZiB3ZSBoYXZlIGZpbHRlcnMgd2Ugc2hvdWxkIHBhaW50IHRo
b3NlLgogICAgIGlmICghZmlyc3RDaGlsZCgpKSB7CiAgICAgICAgIGF1dG8qIHJlc291cmNlcyA9
IFNWR1Jlc291cmNlc0NhY2hlOjpjYWNoZWRSZXNvdXJjZXNGb3JSZW5kZXJlcigqdGhpcyk7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRo
YWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29u
dGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBhIHJ1bnRpbWUgZmxhZyBmb3IgcGFpbnQtdGltaW5nIChwYWludFRpbWluZ0Vu
YWJsZWQpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJl
bmNlc1NldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0UGFp
bnRUaW1pbmdFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
c1JlZlByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0
TWFuYWdlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbjo6dXBkYXRlUHJlZmVyZW5jZXNTdG9yZSk6CisKIDIwMjAtMDQtMjMgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQm91bmNlIGRp
c3BsYXlXYXNSZWZyZXNoZWQoKSB2aWEgRXZlbnREaXNwYXRjaGVyCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTgy
NSw2ICs4MjUsMTMgQEAgTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ6CiAgIGh1bWFuUmVhZGFi
bGVEZXNjcmlwdGlvbjogIlVzZSBtb2Rlcm4gbWVkaWEgY29udHJvbHMgbG9vayIKICAgd2ViY29y
ZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAorUGFpbnRUaW1pbmdFbmFibGVkOgor
ICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6
ICJQYWludCBUaW1pbmciCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQYWlu
dFRpbWluZyBBUEkiCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisK
IFJlc291cmNlVGltaW5nRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRy
dWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuY3BwCShyZXZpc2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgyMCw2ICsxODIwLDE2IEBA
IGJvb2wgV0tQcmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFcKICAgICByZXR1cm4gdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+dXNlclRpbWluZ0VuYWJsZWQoKTsKIH0KIAordm9pZCBXS1By
ZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYsIGJvb2wgZmxhZykKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRQYWlu
dFRpbWluZ0VuYWJsZWQoZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFBhaW50VGlt
aW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVy
biB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5wYWludFRpbWluZ0VuYWJsZWQoKTsKK30KKwogdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoZmxhZyk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgJKHJl
dmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXNSZWZQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwMCw2ICs1MDAsMTAgQEAgV0tf
RVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbgogV0tfRVhQT1JUIGJvb2wgV0tQ
cmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCiAvLyBE
ZWZhdWx0cyB0byBmYWxzZQorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFBhaW50VGlt
aW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOworV0tfRVhQT1JUIGJvb2wg
V0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKKwor
Ly8gRGVmYXVsdHMgdG8gZmFsc2UKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRSZXNv
dXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9S
VCBib29sIFdLUHJlZmVyZW5jZXNHZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZik7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAJKHJldmlz
aW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIyLDYgKzEyMiw3
IEBAIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGEKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENhY2hlQVBJRW5hYmxlZChzdG9y
ZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNhY2hlQVBJRW5hYmxlZEtl
eSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRG
ZXRjaEFQSUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
OjpmZXRjaEFQSUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp1c2VyVGltaW5nRW5hYmxlZEtleSgpKSk7CisgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJs
ZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYWludFRpbWlu
Z0VuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6cmVzb3VyY2VUaW1pbmdFbmFibGVkS2V5KCkpKTsKICAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJS2VlcEFsaXZl
RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZldGNo
QVBJS2VlcEFsaXZlRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVzdHJpY3RlZEhUVFBSZXNwb25z
ZUFjY2Vzc0tleSgpKSk7CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjA2MzkpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxu
b2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1
bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBwcmVmZXJlbmNlIGtleSBmb3IgcGFpbnQtdGltaW5nLgorCisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9s
bGVyOjpyZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKwogMjAyMC0wNC0yMyAg
WXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIHN0cmVzcy9lbnN1
cmUtY3Jhc2guanMgc2hvdWxkbid0IHNwZXcgc3R1ZmYgb250byBteSBzY3JlZW4KSW5kZXg6IFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyNjA2Mzkp
CisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTM2LDYgKzkzNiw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVy
ZW5jZXNUb0MKICAgICBXS1ByZWZlcmVuY2VzU2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKHBy
ZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFi
bGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWluZ0Vu
YWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOworICAgIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWlu
Z0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVBy
ZWxvYWRpbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0
TWVkaWFQbGF5YmFja0FsbG93c0lubGluZShwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVm
ZXJlbmNlc1NldElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRl
KHByZWZlcmVuY2VzLCBmYWxzZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjA2MzkpCisrKyBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0NyBAQAorMjAyMC0w
NC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVt
ZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3RzIGZvciBzb21lIGZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQgKEZDUCkgdXNlLWNhc2VzLgorICAgICAgICBFbnN1cmUgdGhhdCBGQ1Agd29y
a3Mgd2VsbCB3aXRoIFZORSAoZmlyc3QgcGFpbnQgZGVsYXkgdW50aWwgY29udGVudHMgYXJlIHZp
c3VhbGx5IG5vbi1lbXB0eSkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICAgICAgICAgRGlzYWJsZSBwYWludCB0aW1pbmcgZm9yIFdlYktpdDEuCisKKyAgICAgICAg
KiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbDogQWRkZWQu
CisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpz
OiBBZGRlZC4KKyAgICAgICAgICAgICAgICBUZXN0IGV4aXN0ZW5jZSBvZiBwYWludCB0aW1pbmcg
QVBJIG9uIHRoZSB3aW5kb3cgb2JqZWN0LgorCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL2Zp
cnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LXdp
dGgtd29ya2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBp
L2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtd2l0aC13b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbDogQWRkZWQuCisg
ICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbDogQWRkZWQuCisg
ICAgICAgICAgICAgICAgVGVzdCB0aGF0IEZDUCBpcyBub3QgYXZhaWxhYmxlIGZvciBjcm9zcy1v
cmlnaW4gZnJhbWVzIGFuZCB3b3JrZXJzLgorCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Bl
cmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmly
c3QtY29udGVudGZ1bC1wYWludC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1h
cGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qczogQWRkZWQuCisgICAgICAgIChhc3luYyB3
YWl0Rm9yRkNQKToKKyAgICAgICAgICAgICAgICBUZXN0IHRoYXQgcGVyZm9ybWFuY2Ugb2JzZXJ2
ZXJzIGFyZSBjYWxsZWQgZm9yIEZDUC4KKworICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFu
Y2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHkt
Zm9yLXN0eWxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2Uv
cGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9y
LXN0eWxlLWV4cGVjdGVkLnR4dDogQWRkZWQKKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1h
bmNlL3Jlc291cmNlcy9zbG93c3R5bGUucGhwOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zdHlsZS5jc3M6ICBBZGRlZC4KKyAgICAgICAgICAgICAg
ICBJZiBhIHBlbmRpbmcgc3R5bGVzaGVldCBibG9ja3MgcGFpbnRpbmcsIG1ha2Ugc3VyZSBGQ1Ag
aXMgcmVwb3J0ZWQgb25seSBhZnRlciBzdHlsZXNoZWV0IGhhcyBsb2FkZWQuCisKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFu
Y2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHkt
Zm9yLW51bS1jaGFycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
cGVyZm9ybWFuY2UvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5j
ZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2Vz
L3Nsb3dzY3JpcHQucGhwOiBBZGRlZC4KKyAgICAgICAgICAgICAgICBJZiBWTkUgZHVlIHRvIG51
bWJlciBvZiBjaGFyYWN0ZXJzIGJsb2NrcyBwYWludGluZywgbWFrZSBzdXJlIEZDUCBpcyByZXBv
cnRlZCBvbmx5IGFmdGVyIHBhaW50aW5nIGlzIHVuYmxvY2tlZC4KKwogMjAyMC0wNC0yNCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgZ2V0RGlzcGxheU1lZGlh
IGlzIG5vdCByZXNwZWN0aW5nIGFzcGVjdCByYXRpbyB3aXRoIG1heCBjb25zdHJhaW50cwpJbmRl
eDogTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyNjA2MzkpCisrKyBMYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC0yMDgsNiArMjA4LDkgQEAgZmFzdC92aXN1
YWwtdmlld3BvcnQvcnViYmVyYmFuZGluZy12aWV3cAogIyBEYXRhRGV0ZWN0b3JzIHRlc3RzIG9u
bHkgbWFrZSBzZW5zZSBvbiBNYWMKIGZhc3QvZXZlbnRzL2RvLW5vdC1kcmFnLWFuZC1kcm9wLWRh
dGEtZGV0ZWN0b3JzLWxpbmsuaHRtbCBbIFNraXAgXQogCisjIEEgcm91bmRpbmcgZXJyb3IgbWF5
IGNhdXNlIDkwZGVnIDNkLXJvdGF0ZWQgZWxlbWVudHMgdG8gY291bnQgYXMgcGFpbnRlZAoraW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWlu
dmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCisKIHdlYmtpdC5vcmcvYi8yMDI2MTcg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9waWN0dXJlLWluLXBpY3R1cmUgWyBTa2lw
IF0KIAogIyBQaVAgQVBJIHRlc3RzIGFyZSBvbmx5IHJlbGV2YW50IG9uIG1hYyBhbmQgaVBhZApJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWlu
dC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNl
L3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZv
ci1udW0tY2hhcnMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12
aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzIEBACitQQVNTIHBhaW50RW50cnkuc3RhcnRUaW1lID4gdGltZXN0YW1w
c1tleHBlY3RlZEl0ZXJhdGlvbnNdIGlzIHRydWUKK1BBU1MgcGFpbnRFbnRyeS5zdGFydFRpbWUg
PCB0aW1lc3RhbXBzW2V4cGVjdGVkSXRlcmF0aW9ucyArIDJdIGlzIHRydWUKKwpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmct
ZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWlu
dC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJm
b3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVt
LWNoYXJzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3MyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCkKKyAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICB2YXIgc3R5
bGVFbnRyeSA9IG51bGwKKyAgICB2YXIgcGFpbnRFbnRyeSA9IG51bGwKKyAgICB2YXIgdGltZXN0
YW1wcyA9IFtdCisgICAgdmFyIGNoYXJzUGVySXRlcmF0aW9uID0gODAKKyAgICB2YXIgY2hhclRo
cmVzaG9sZCA9IDIwMAorICAgIHZhciBleHBlY3RlZEl0ZXJhdGlvbnMgPSBNYXRoLmNlaWwoY2hh
clRocmVzaG9sZCAvIGNoYXJzUGVySXRlcmF0aW9uKQorCisgICAgZnVuY3Rpb24gc2xvd1N0cmlu
ZyhzdHIsIGRlbGF5KSB7CisgICAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3NjcmlwdCcpCisgICAgICAgIGNvbnN0IHNvdXJjZSA9IGBkb2N1bWVudC53cml0ZSgn
JHtzdHJ9Jyk7IHRpbWVzdGFtcHMucHVzaCgke3BlcmZvcm1hbmNlLm5vdygpfSk7IGNoZWNrKCk7
YAorICAgICAgICBzY3JpcHQuc3JjID0gYC4vcmVzb3VyY2VzL3Nsb3dzY3JpcHQucGhwP2NhY2hl
QnVzdGVyPSR7cGVyZm9ybWFuY2Uubm93KCl9JmRlbGF5PSR7ZGVsYXl9JnNjcmlwdD0ke3NvdXJj
ZX1gCisgICAgICAgIGRvY3VtZW50LndyaXRlKHNjcmlwdC5vdXRlckhUTUwpCisgICAgfQorCisg
ICAgZnVuY3Rpb24gY2hlY2soKSB7CisgICAgICAgIGlmICh0aW1lc3RhbXBzLmxlbmd0aCA8IGV4
cGVjdGVkSXRlcmF0aW9ucyArIDMgfHwgIXBhaW50RW50cnkpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAnJworCisgICAgICAgIHNob3Vs
ZEJlVHJ1ZSgicGFpbnRFbnRyeS5zdGFydFRpbWUgPiB0aW1lc3RhbXBzW2V4cGVjdGVkSXRlcmF0
aW9uc10iKQorICAgICAgICBzaG91bGRCZVRydWUoInBhaW50RW50cnkuc3RhcnRUaW1lIDwgdGlt
ZXN0YW1wc1tleHBlY3RlZEl0ZXJhdGlvbnMgKyAyXSIpCisgICAgICAgIAorICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKQor
ICAgIH0KKworICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlz
dCA9PiB7CisgICAgICAgIHBhaW50RW50cnkgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBl
KCdwYWludCcpWzBdCisgICAgICAgIGlmIChwYWludEVudHJ5KQorICAgICAgICAgICAgY2hlY2so
KQorICAgIH0pOworICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsicGFpbnQiXX0p
CisKKyAgICBmdW5jdGlvbiBuZXh0KCkgeworICAgICAgICBzbG93U3RyaW5nKCdcdCAnICsgQXJy
YXkoY2hhcnNQZXJJdGVyYXRpb24gLyAyKS5maWxsKCcgMCBcdCBBJykuam9pbignJykgKyAiICAg
XG5cdCIsIDAuMywgY2hhcnNQZXJJdGVyYXRpb24pCisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgp
PC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQo
KTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0
KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4
dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5l
eHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5u
ZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+
bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0
Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlw
dD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3Jt
YW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9y
bWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1w
dHktZm9yLXN0eWxlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXIt
dmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyIEBACitQQVNTIHBhaW50RW50cnkuc3RhcnRUaW1lID49IHN0eWxlRW50cnku
c3RhcnRUaW1lICsgc3R5bGVFbnRyeS5kdXJhdGlvbiBpcyB0cnVlCitURVhUCkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1m
Y3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGlt
aW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1w
YWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKQorICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKKyAgICB9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHZhciBzdHlsZUVudHJ5ID0gbnVs
bDsKKyAgICB2YXIgcGFpbnRFbnRyeSA9IG51bGw7CisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+IHsKKyAgICAgICAgY29uc3QgcGFpbnRFbnRyaWVz
ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncGFpbnQnKTsKKyAgICAgICAgaWYgKHBh
aW50RW50cmllcy5sZW5ndGgpCisgICAgICAgICAgICBwYWludEVudHJ5ID0gcGFpbnRFbnRyaWVz
WzBdOworCisgICAgICAgIGNvbnN0IHJlc291cmNlRW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeVR5cGUoJ3Jlc291cmNlJykuZmlsdGVyKHIgPT4gci5uYW1lLmluY2x1ZGVzKCdzbG93
c3R5bGUucGhwJykpOworICAgICAgICBpZiAocmVzb3VyY2VFbnRyaWVzLmxlbmd0aCkKKyAgICAg
ICAgICAgIHN0eWxlRW50cnkgPSByZXNvdXJjZUVudHJpZXNbMF07CisKKyAgICAgICAgaWYgKCFz
dHlsZUVudHJ5IHx8ICFwYWludEVudHJ5KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAg
IHNob3VsZEJlVHJ1ZSgicGFpbnRFbnRyeS5zdGFydFRpbWUgPj0gc3R5bGVFbnRyeS5zdGFydFRp
bWUgKyBzdHlsZUVudHJ5LmR1cmF0aW9uIik7CisgICAgICAgICAgICAgICAgCisgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OworICAgIH0pOworICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsicGFpbnQiLCAi
cmVzb3VyY2UiXX0pOworPC9zY3JpcHQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4v
cmVzb3VyY2VzL3Nsb3dzdHlsZS5waHA/ZGVsYXk9MC41IiAvPgorPC9oZWFkPgorPGJvZHk+CitU
RVhUCis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZv
cm1hbmNlL3Jlc291cmNlcy9zbG93c2NyaXB0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c2NyaXB0LnBocAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9z
bG93c2NyaXB0LnBocAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkgQEAKKzw/cGhwCitpZiAo
aXNzZXQoJF9HRVRbImRlbGF5Il0pKQorICAgIHNsZWVwKCRfR0VUWyJkZWxheSJdKTsKK2hlYWRl
cignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZScpOworaGVhZGVyKCdD
b250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdCcpOworCitlY2hvKCRfR0VUWyJzY3JpcHQiXSkK
Kz8+CisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2Vz
L3Nsb3dzdHlsZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJm
b3JtYW5jZS9yZXNvdXJjZXMvc2xvd3N0eWxlLnBocAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c3R5bGUucGhwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNiBAQAorPD9waHAKK2lmIChpc3NldCgkX0dFVFsiZGVsYXki
XSkpCisgICAgc2xlZXAoJF9HRVRbImRlbGF5Il0pOworaGVhZGVyKCdDYWNoZS1Db250cm9sOiBu
by1jYWNoZSwgbXVzdC1yZXZhbGlkYXRlJyk7CitoZWFkZXIoJ0xvY2F0aW9uOiBzdHlsZS5jc3Mn
KTsKKz8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNl
cy9zdHlsZS5jc3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3Jt
YW5jZS9yZXNvdXJjZXMvc3R5bGUuY3NzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3N0eWxlLmNzcwkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMgQEAKK2JvZHkgeworICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuCit9Owpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwkocmV2aXNpb24gMjYwNjM5KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDg1IEBACisyMDIwLTA0LTIxICBOb2FtIFJv
c2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJz
dCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW1wb3J0ZWQgdzNjIHRlc3RzIGZvciBmaXJzdCBjb250ZW50ZnVsIHBhaW50
IGFuZCB1cGRhdGVkIHRlc3QgaGFybmVzcy4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQt
ZXhwZWN0YXRpb25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dy
b3VuZC1zaXplLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJn
LWltYWdlLXNldC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVz
Y2VuZGFudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFu
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLTNkLXJvdGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWlu
dmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNp
dHktZGVzY2VuZGFudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9m
LWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5z
bGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LWRpc3BsYXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtaW1hZ2UuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtdGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LXZpc2liaWxpdHkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3Zn
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFw
aGljLXBzZXVkby5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZp
ZGVvLWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZp
ZGVvLXBvc3Rlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hp
dGVzcGFjZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRs
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBu
ZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNv
dXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy91dGlscy5qczogQWRkZWQuCisgICAgICAgICh3YWl0Rm9yQW5pbWF0aW9uRnJhbWVz
KToKKyAgICAgICAgKGFzeW5jIGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAg
ICAoYXN5bmMgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQucmV0dXJuLm5ldy5Qcm9taXNlKToK
KyAgICAgICAgKGFzeW5jIGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKGFz
eW5jIHRlc3RfZmNwKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzOgorICAgICAgICAocHJvbWlzZV9yZWplY3RzX2pzKToKKyAgICAgICAgKHBy
b21pc2VfcmVqZWN0c19kb20pOgorICAgICAgICAocHJvbWlzZV9yZWplY3RzX2V4YWN0bHkpOgor
ICAgICAgICAoZm9ybWF0X3ZhbHVlKToKKwogMjAyMC0wNC0yNCAgUm9iIEJ1aXMgIDxyYnVpc0Bp
Z2FsaWEuY29tPgogCiAgICAgICAgIEltcG9ydCBmZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L2ZldGNoLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1w
b3J0LWV4cGVjdGF0aW9ucy5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCShyZXZpc2lvbiAyNjA2Mzkp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlv
bnMuanNvbgkod29ya2luZyBjb3B5KQpAQCAtMTMsNiArMTMsMTEgQEAKICAgICAiY3NzL2dlb21l
dHJ5IjogImltcG9ydCIsIAogICAgICJjc3Mvc3VwcG9ydCI6ICJpbXBvcnQiLCAKICAgICAiY3Vz
dG9tLWVsZW1lbnRzIjogImltcG9ydCIsIAorICAgICJwYWludC10aW1pbmcvIjogImltcG9ydCIs
IAorICAgICJwYWludC10aW1pbmcvZmNwLW9ubHkiOiAiaW1wb3J0IiwgCisgICAgInBhaW50LXRp
bWluZy9yZXNvdXJjZXMiOiAiaW1wb3J0IiwgCisgICAgInBhaW50LXRpbWluZy9yZXNvdXJjZXMv
IjogImltcG9ydCIsIAorICAgICJyZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiOiAiaW1wb3J0Iiwg
CiAgICAgInNoYWRvdy1kb20iOiAiaW1wb3J0IiwgCiAgICAgInRvb2xzIjogImltcG9ydCIsIAog
ICAgICJ3ZWItYW5pbWF0aW9ucyI6ICJpbXBvcnQiLCAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNr
Z3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNr
Z3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
YWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQg
c2l6ZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gYmFja2dyb3VuZCBzaXplPC90aXRsZT4KKzxz
dHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAg
d2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgYmFja2dyb3Vu
ZC1zaXplOiAwIDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVk
IGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAg
YmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJt
YWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgc2l6ZS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyBkdWUgdG8gYmFja2dyb3VuZCBpbWFnZSBpbiBpbWFnZS1zZXQuIAorCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJn
LWltYWdlLXNldC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1z
ZXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRv
IGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFp
biB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9
CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0
LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAt
d2Via2l0LWltYWdlLXNldCh1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKSAxeCk7CisgICAg
ICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXNldCh1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMu
cG5nKSAxeCk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3Jp
cHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJh
Y2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxl
LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBmaXJlIGZvciBiYWNrZ3JvdW5kIGlt
YWdlIG9ubHkgd2hlbiB2aXNpYmxlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAv
KiBjb250ZW50ZnVsIGFuZCBwcmVGQ1AgY2xhc3NlcyBhcmUgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBz
Y3JpcHQuICovCisgICAgI21haW4ucHJlRkNQIHsKKyAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVu
OworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwsICAjbWFpbi5wcmVGQ1AgeworICAgICAg
ICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9
CisKKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsK
KyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0
aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0
ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dyb3VuZCBpbWFn
ZSBvbmx5IHdoZW4gdmlzaWJsZS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBDYW52YXMgc2hvdWxkIGNvdW50IGFzIGNvbnRl
bnRmdWwgd2hlbiBjb250ZXh0IGlzIGNyZWF0ZWQgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52
YXMtY29udGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4
dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+
Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCB3aGVuIGNhbnZhcyBj
b250ZXh0IGlzIGNyZWF0ZWQ8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjUw
IiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGlt
aW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJv
bWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0
IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCk7CisgICAgY29uc3QgY2FudmFzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhbnZhcycpOworICAgIGNvbnN0IGNvbnRleHQgPSBjYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICBjb250ZXh0LmZpbGxSZWN0KDAsIDAsIDEwMCwgMTAw
KTsKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgJ0NhbnZh
cyBzaG91bGQgY291bnQgYXMgY29udGVudGZ1bCB3aGVuIGNvbnRleHQgaXMgY3JlYXRlZCcpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVu
dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEdyYWRpZW50cyBzaG91
bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVu
dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgbm90IGZpcmUgd2l0aCBncmFkaWVudC1vbmx5
IGJhY2tncm91bmRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRo
OiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFn
ZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgb3JhbmdlLCBibHVlKTsKKyAgICB9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQ
YWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2Fp
dCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOwor
ICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgICdHcmFk
aWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsJyk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVz
Y2VuZGFudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90YXRpbmcgaW50byB2
aWV3LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFu
dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRl
c2NlbmRhbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNk
LXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGR1ZSB0byAzZCByZXZlYWxpbmcgb2YgZGVzY2VuZGFudHM8L3RpdGxlPgorPHN0
eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICAgICAgdG9wOiAwOworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVkZWcpOworICAg
ICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOworICAgIH0KKworICAgIC8qCisgICAg
ICAgVGhpcyB0ZXN0cyB0aGF0IGdpdmVuIG11bHRpcGxpY2F0aW9uIGVmZmVjdCBvZiAzZCB0cmFu
c2Zvcm1zIG9uIGJvdW5kaW5nIHJlY3QsCisgICAgICAgQW4gZWxlbWVudCBjb3VudHMgYXMgY29u
dGVudGZ1bC9wYWludGFibGUgb25seSB3aGVuIGl0cyBib3VuZGluZyByZWN0IGlzIHRydWx5IG5v
bi1lbXB0eSAqLworICAgICNjaGlsZCB7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCg0NWRl
Zyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3Rf
ZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3Jt
OiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0i
Y2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90YXRp
bmcgaW50byB2aWV3LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXcuIAorCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRp
bWluZyBUZXN0OiBGQ1AgZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldzwvdGl0bGU+Cis8c3R5
bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDkw
ZGVnKTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAg
fQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlw
dC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOwor
ICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRp
bHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+VGV4dDwvZGl2PgorPHNjcmlwdD4KKyAg
ICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gM2Qgcm90YXRp
b24gaW50byB2aWV3LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRv
IHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgRmlyc3QgY29udGVu
dGZ1bCBwYWludCBmaXJlcyB3aGVuIHJldmVhbGVkIGR1cmluZyB0cmFuc2l0aW9uLiAKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGluIHRyYW5zaXRpb248
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9y
bTogc2NhbGUoMCk7CisgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxczsKKyAgICAgICAg
cG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAgLyogY29u
dGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFp
bi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKKyAgICB9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRFWFQ8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3Ao
IkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcgdHJhbnNp
dGlvbi4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS1zY2FsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtc2NhbGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNj
YWxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0
byBzY2FsZSBjaGFuZ2U8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lk
dGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7Cisg
ICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3Vy
Y2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRl
ZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAg
ICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48
L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorSU5WSVNJQkxFCisKK1BBU1MgRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlz
aWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFp
bnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgc3RpbGwgZmlyZSBmb3IgaW52aXNpYmxlIHRleHQ8
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZl
OworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
IHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7Cisg
ICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNj
cmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlz
aWJsZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIElOVklTSUJMRQor
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiIpCis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRh
bnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRl
c2NlbmRhbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4
dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3Rv
ciBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0
eS1kZXNjZW5kYW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVz
Y2VuZGFudC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2Nl
bmRhbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVl
IHRvIGFuY2VzdG9yIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAg
ICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAw
cHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0K
KworICAgICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29u
dGVudGZ1bCBhbmQgaW50ZXJtZWRpYXRlIGNsYXNzZXMgYXJlIGRlZmluZWQgaW4gdGVzdF9mY3Ag
c2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0
eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgI2NoaWxkIHsKKyAgICAgICAg
b3BhY2l0eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgeworICAgICAgICBv
cGFjaXR5OiAwOworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFj
aXR5OiAwLjU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlk
PSJjaGlsZCI+VGV4dDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3Np
dGl2ZSBvcGFjaXR5LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LW9wYWNpdHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFj
aXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVsZW1l
bnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9w
YWNpdHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVl
IHRvIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6
IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAg
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3Jv
dW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgb3BhY2l0
eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFjaXR5
OiAwLjE7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+
CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIG9wYWNp
dHktcmV2ZWFsZWQgZWxlbWVudC4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0
LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQu
IAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHRyYW5zZm9y
bS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudDwvdGl0bGU+Cis8c3R5bGU+CisgICAg
I21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMDBweCk7
CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBi
YWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisK
KyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAq
LworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBp
bnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW91dC1vZi1ib3VuZHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBU
ZXN0OiBGQ1AgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50PC90aXRsZT4KKzxzdHls
ZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgbGVmdDogLTEwMDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZl
OworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNv
dXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMg
ZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7Cisg
ICAgICAgIGxlZnQ6IDBweDsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2
PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBk
dWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIikKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtZGlzcGxheS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQg
dGV4dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+
Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRv
LWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3Np
dGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhU
IjsKKyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNs
YXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRm
dWw6YWZ0ZXIgeworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxk
aXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1p
bWFnZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LWltYWdlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNl
dWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1l
bGVtZW50IGltYWdlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVh
ZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1
ZG8tZWxlbWVudCBpbWFnZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4g
dGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAg
ICBjb250ZW50OiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4iKQor
PC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4gCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0dGlu
ZyBwb3NpdGl2ZSBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAg
IHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDog
IlRFWFQiOworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwg
Y2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVu
dGZ1bDphZnRlciB7CisgICAgICAgIG9wYWNpdHk6IDAuNTsKKyAgICB9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxk
aXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZl
IG9wYWNpdHkuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LXRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZD
UCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlz
IGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0
ZXIgeworICAgICAgICBjb250ZW50OiAiVEVYVCIKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9
Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4KKzwv
Ym9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2li
aWxpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFu
Y2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcg
dmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjog
cmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAg
ICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xh
c3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1
bDphZnRlciB7CisgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+
Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlz
aWJsZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
c3ZnLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIHdoZW4gU1ZHIGJlY29tZXMgY29udGVudGZ1bC4gCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1zdmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQg
VGltaW5nIFRlc3Q6IEZDUCB3aXRoIFNWRzwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4gewor
ICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxl
ZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgIH0KKworICAgICNjaXJj
bGUgeworICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNs
YXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRm
dWwgI2NpcmNsZSB7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0Pgor
PGRpdiBpZD0ibWFpbiI+CisgIDxzdmcgdmlld0JveD0iMCAwIDEwIDEwIiB4bWxucz0iaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmciCisgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hsaW5rIj4KKyAgICA8ZGVmcz4KKyAgICAgIDxjaXJjbGUgaWQ9Im15Q2lyY2xlIiBj
eD0iNSIgY3k9IjUiIHI9IjQiIHN0cm9rZT0iYmx1ZSIvPgorICAgIDwvZGVmcz4KKyAgICA8dXNl
IGlkPSJjaXJjbGUiIGhyZWY9IiNteUNpcmNsZSIgZmlsbD0iZ3JlZW4iIC8+CisgIDwvc3ZnPgor
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIHdoZW4gU1ZHIGJlY29tZXMgY29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisK
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVGV4dCBpbnB1dCBzaG91bGQgYmVjb21lIGNv
bnRlbnRmdWwgd2hlbiBpdHMgdmFsdWUgaXMgbm9uLWVtcHR5IAorCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdGV4dC1pbnB1dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRp
dGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIGZvciBub24tZW1wdHkg
dGV4dCBpbnB1dDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPGlucHV0IGlkPSJpbnB1dCIgdHlwZT0idGV4dCIgLz4KKzxz
Y3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25k
aXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qg
c3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50
ZnVsUGFpbnQodCk7CisgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdpbnB1dCcpOworICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsICcgICcpOworICAg
ICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgICAgIGlucHV0LnNl
dEF0dHJpYnV0ZSgndmFsdWUnLCAndmFsdWUnKTsKKyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29u
dGVudGZ1bFBhaW50KHQpOworICB9LCAnVGV4dCBpbnB1dCBzaG91bGQgYmVjb21lIGNvbnRlbnRm
dWwgd2hlbiBpdHMgdmFsdWUgaXMgbm9uLWVtcHR5Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorQQorCitQQVNTIEZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgb25seSB3aGVuIHNvbWUgb2YgdGhlIHRleHQgaXMgdmlz
aWJsZSwgY29uc2lkZXJpbmcgOjpmaXJzdC1sZXR0ZXIuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
dHlwb2dyYXBoaWMtcHNldWRvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9n
cmFwaGljLXBzZXVkby5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3Jh
cGhpYy1wc2V1ZG8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBG
Q1Agc2hvdWxkIG5vdCBmaXJlIHdoZW4gYWxsIHRleHQgaXMgaGlkZGVuIGR1ZSB0byB0eXBvZ3Jh
cGhpYyBwc2V1ZG8tZWxlbWVudHM8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAg
ICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW4gKjo6Zmlyc3QtbGV0dGVyIHsKKyAgICAg
ICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmlu
ZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgKjo6Zmlyc3Qt
bGV0dGVyIHsKKyAgICAgICAgb3BhY2l0eTogMTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9
Im1haW4iPgorICAgIDxkaXY+QTwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNw
KCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIG9ubHkgd2hlbiBzb21lIG9mIHRoZSB0ZXh0
IGlzIHZpc2libGUsIGNvbnNpZGVyaW5nIDo6Zmlyc3QtbGV0dGVyLiIpCis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29t
ZSBjb250ZW50ZnVsIHdoZW4gZmlyc3QgZnJhbWUgaXMgbG9hZGVkIAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdmlkZW8tZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8t
ZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRl
ZCB2aWRlbyBmcmFtZTwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHZpZGVvIGlkPSJ2aWRlbyIgYXV0b3BsYXk+PC92aWRl
bz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9w
cmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcg
aXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RD
b250ZW50ZnVsUGFpbnQodCk7CisgICAgICAvLyBTZXQgYWN0dWFsIHZpZGVvIGNvbnRlbnQgdG8g
dHJpZ2dlciBGQ1AuCisgICAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd2aWRlbycpOworICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdzcmMnLCAnL21lZGlhL3Rlc3Qu
bXA0Jyk7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgdmlk
ZW8ub25jYW5wbGF5ID0gcmVzb2x2ZTsKKyAgICAgIH0pOworICAgICAgYXdhaXQgYXNzZXJ0Rmly
c3RDb250ZW50ZnVsUGFpbnQodCk7CisgIH0sICdWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRm
dWwgd2hlbiBmaXJzdCBmcmFtZSBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRl
bnRmdWwgd2hlbiBwb3N0ZXIgaXMgbG9hZGVkIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8t
cG9zdGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRlZCB2aWRlbyBw
b3N0ZXI8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+
PC92aWRlbz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3Nl
cnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGlt
aW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RD
b250ZW50ZnVsUGFpbnQodCk7CisgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndmlkZW8nKTsKKyAgICBjb25zdCBzcmMgPSAnLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5n
JzsKKyAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpOworICAgIGltYWdlLnNyYyA9IHNyYzsK
KyAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3Bvc3RlcicsIHNyYyk7CisgICAgYXdhaXQgbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIGltYWdlLm9ubG9hZCA9IGFzeW5jICgpID0+IHJl
c29sdmUoKTsKKyAgICB9KQorICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQp
OworICB9LCAnVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9zdGVyIGlzIGxv
YWRlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
d2hpdGVzcGFjZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRl
c3BhY2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNw
YWNlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RFWFQKKwor
UEFTUyBXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bC4gCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXdoaXRlc3BhY2UuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFj
ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IFdoaXRlc3BhY2Ug
c2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFp
biB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4v
cmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDA7Cisg
ICAgfQorCisgICAgI3RleHQgeworICAgICAgICBkaXNwbGF5OiBub25lOworICAgIH0KKworICAg
IC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisg
ICAgI21haW4uY29udGVudGZ1bCAjdGV4dHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJ3aGl0ZXNwYWNlIj4g
ICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+
CisgICAgdGVzdF9mY3AoIldoaXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVs
LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRo
LXJ0bC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNTIEZDUCBz
aG91bGQgZmlyZSB3aGVuIGNvb3JkaW5hdGVzIGFyZSBuZWdhdGl2ZSwgaWYgd2l0aGluIGRvY3Vt
ZW50IHNjcm9sbGFibGUgYXJlYSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBU
aW1pbmcgVGVzdDogRkNQIGR1ZSB0byBkaXJlY3Rpb24gY2hhbmdlPC90aXRsZT4KKzxzdHlsZT4K
KyAgI3RleHQgeworICAgIHJpZ2h0OiAtMTAwcHg7CisgICAgcG9zaXRpb246IGFic29sdXRlOwor
ICB9CisKKyAgYm9keSB7CisgICAgZGlyZWN0aW9uOiBydGw7CisgIH0KKworICAjZHVtbXkgewor
ICAgIGJhY2tncm91bmQ6IHllbGxvdzsKKyAgICB3aWR0aDogMTBweDsKKyAgICBoZWlnaHQ6IDEw
cHg7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIGxlZnQ6IDA7CisgICAgdG9wOiAwOwor
ICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImR1bW15Ij48L2Rpdj4KKzxkaXYgaWQ9InRleHQiPlRF
WFQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFz
c2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBU
aW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5v
Rmlyc3RDb250ZW50ZnVsUGFpbnQodCk7CisgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmRpcmVj
dGlvbiA9ICdsdHInCisgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVtbXknKS5zdHls
ZS5iYWNrZ3JvdW5kID0gJ2dyZWVuJworICAgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVs
UGFpbnQodCk7CisgIH0sICdGQ1Agc2hvdWxkIGZpcmUgd2hlbiBjb29yZGluYXRlcyBhcmUgbmVn
YXRpdmUsIGlmIHdpdGhpbiBkb2N1bWVudCBzY3JvbGxhYmxlIGFyZWEnKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNs
ZS5zdmcJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACis8c3ZnIHhtbG5zPSJodHRwOi8v
d3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIj4KKyAgIDxjaXJjbGUgY3g9IjEwMCIg
Y3k9IjUwIiByPSI0MCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25l
IiAvPgorPC9zdmc+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPGRpdiBpZD0iaW1hZ2UiPjwv
ZGl2PgorPHNjcmlwdD4KKyAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnSU1H
Jyk7CisgIGltZy5zcmMgPSAnY2lyY2xlcy5wbmcnOworICBpbWcub25sb2FkID0gZnVuY3Rpb24o
KSB7CisgICAgZnVuY3Rpb24gc2VuZFBhaW50RW50cmllcygpIHsKKyAgICAgIGNvbnN0IHBhaW50
RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3BhaW50Jyk7CisgICAgICBp
ZiAocGFpbnRFbnRyaWVzLmxlbmd0aCA8IDIpIHsKKyAgICAgICAgc2V0VGltZW91dChzZW5kUGFp
bnRFbnRyaWVzLCAyMCk7CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAgIGxldCBlbnRy
eUNvbnRlbnRzID0gcGFpbnRFbnRyaWVzLmxlbmd0aCArICcnOworICAgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgY29uc3QgZW50cnkg
PSBwYWludEVudHJpZXNbaV07CisgICAgICAgIGVudHJ5Q29udGVudHMgKz0gJyAnICsgZW50cnku
ZW50cnlUeXBlICsgJyAnICArIGVudHJ5Lm5hbWU7CisgICAgICB9CisgICAgICBwYXJlbnQucG9z
dE1lc3NhZ2UoZW50cnlDb250ZW50cywgJyonKTsKKyAgICB9OworICAgIHNlbmRQYWludEVudHJp
ZXMoKTsKKyAgfTsKKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltYWdlJykuYXBwZW5kQ2hp
bGQoaW1nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1
YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJh
bWUtc2VuZGluZy1wYWludC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFt
ZS1zZW5kaW5nLXBhaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8c2NyaXB0PgorICBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2Un
LCBmdW5jdGlvbihlKSB7CisgICAgLy8gU2VuZCBwYWludC10aW1pbmcgZW50cmllcyB1cG9uIHJl
Y2VpdmluZyBhIG1lc3NhZ2UuCisgICAgY29uc3QgcGFpbnRFbnRyaWVzID0gcGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5VHlwZSgncGFpbnQnKTsKKyAgICBsZXQgZW50cnlDb250ZW50cyA9IHBhaW50
RW50cmllcy5sZW5ndGggKyAnJzsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhaW50RW50cmll
cy5sZW5ndGg7IGkrKykgeworICAgICAgY29uc3QgZW50cnkgPSBwYWludEVudHJpZXNbaV07Cisg
ICAgICBlbnRyeUNvbnRlbnRzICs9ICcgJyArIGVudHJ5LmVudHJ5VHlwZSArICcgJyAgKyBlbnRy
eS5uYW1lOworICAgIH0KKyAgICBwYXJlbnQucG9zdE1lc3NhZ2UoZW50cnlDb250ZW50cywgJyon
KTsKKyAgfSk7Cis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9yZXNvdXJjZXMvdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIHdhaXRGb3JBbmlt
YXRpb25GcmFtZXMoY291bnQpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewor
ICAgIGlmIChjb3VudC0tIDw9IDApIHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgd2FpdEZvckFuaW1h
dGlvbkZyYW1lcyhjb3VudCkudGhlbihyZXNvbHZlKTsKKyAgICAgIH0pOworICAgIH0KKyAgfSk7
Cit9CisKKy8vIEFzc2VydHMgdGhhdCB0aGVyZSBpcyBjdXJyZW50bHkgbm8gRkNQIHJlcG9ydGVk
LiBQYXNzIHQgdG8gYWRkIHNvbWUgd2FpdCwgaW4gY2FzZSBDU1MgaXMgbG9hZGVkCisvLyBhbmQg
RkNQIGlzIGluY29ycmVjdGx5IGZpcmVkIGFmdGVyd2FyZHMuCithc3luYyBmdW5jdGlvbiBhc3Nl
cnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpIHsKKyAgYXdhaXQgd2FpdEZvckFuaW1hdGlvbkZy
YW1lcygzKTsKKyAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdm
aXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoLCAwLCAnRmlyc3QgY29udGVudGZ1bCBwYWlu
dCBtYXJrZWQgdG9vIGVhcmx5LiAnKTsKK30KKworLy8gRnVuY3Rpb24gdGhhdCBpcyByZXNvbHZl
ZCBvbmNlIEZDUCBpcyByZXBvcnRlZCwgdXNpbmcgUGVyZm9ybWFuY2VPYnNlcnZlci4gSXQgcmVq
ZWN0cyBhZnRlciBhIGxvbmcKKy8vIHdhaXQgdGltZSBzbyB0aGF0IGZhaWxpbmcgdGVzdHMgZG9u
J3QgdGltZW91dC4KK2FzeW5jIGZ1bmN0aW9uIGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQp
IHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgID0+IHsKKyAgICBmdW5jdGlvbiBjaGVj
a0ZDUCgpIHsKKyAgICAgIGlmIChwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1j
b250ZW50ZnVsLXBhaW50JykubGVuZ3RoID09PSAxKSB7CisgICAgICAgIHJlc29sdmUoKTsKKyAg
ICAgIH0gZWxzZSB7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShjaGVja0ZDUCkKKyAg
ICAgIH0KKyAgICB9CisgICAgdC5zdGVwKGNoZWNrRkNQKTsKKyAgfSk7Cit9CisKK2FzeW5jIGZ1
bmN0aW9uIHRlc3RfZmNwKGxhYmVsKSB7CisgIGNvbnN0IHN0eWxlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnc3R5bGUnKTsKKyAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7Cisg
IGF3YWl0IHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9u
KHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBv
cnRlZC4iKTsKKyAgICBjb25zdCBtYWluID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW4n
KTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCds
b2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCk7Cisg
ICAgbWFpbi5jbGFzc05hbWUgPSAncHJlRkNQJzsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29u
dGVudGZ1bFBhaW50KHQpOworICAgIG1haW4uY2xhc3NOYW1lID0gJ2NvbnRlbnRmdWwnOworICAg
IGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICB9LCBsYWJlbCk7Cit9Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10
aW1pbmctYXBpcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDEzIEBACitCYXNpYyBJbnRlcmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5n
IEFQSXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQZXJmb3JtYW5jZVBhaW50
VGltaW5nCitQQVNTIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaXMgZGVmaW5lZC4KK1BBU1MgUGVy
Zm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUudG9KU09OIGlzIGRlZmluZWQuCitQQVNTIG5l
dyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogZnVu
Y3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBQZXJmb3JtYW5jZVBh
aW50VGltaW5nKCknKS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5n
LWFwaXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFp
bnQtdGltaW5nLWFwaXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDEwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmct
ZnJhbWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKK1BhaW50IEFQSSBzaG91bGQgYmUg
YXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4v
c2FuZGJveGVkIGZyYW1lcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
cmVjZWl2ZWRFdmVudC5zb3VyY2UgaXMgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNhbmRi
b3hlZCcpLmNvbnRlbnRXaW5kb3cKK1BBU1MgcmVjZWl2ZWRFbnRyeS5uYW1lIGlzICdmaXJzdC1j
b250ZW50ZnVsLXBhaW50JworUEFTUyBkaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJh
bWUgaXMgZmFsc2UKK1BBU1MgQXJyYXkuaXNBcnJheShub25TYW5kYm94U3VwcG9ydGVkVHlwZXMp
IGlzIHRydWUKK1BBU1MgQXJyYXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVkVHlwZXMpIGlzIHRy
dWUKK1BBU1MgZGlkUmVjZWl2ZU1lc3NhZ2UgaXMgdHJ1ZQorUEFTUyBub25TYW5kYm94U3VwcG9y
dGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgdHJ1ZQorUEFTUyBzYW5kYm94U3VwcG9ydGVk
VHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgZmFsc2UKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZl
ciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBmaXJlZCBmb3Igc2FtZS1vcmln
aW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKworCitURVhUCkluZGV4OiBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWlu
Zy1mcmFtZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY3IEBACis8IURPQ1RZUEUg
SFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRp
bHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwv
ZGl2PgorICAgIDxpZnJhbWUgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGlkPSJub25TYW5kYm94
ZWQiIHNyYz0iLi9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwiPjwvaWZyYW1lPgorPGRpdiBj
bGFzcz0ic3BhY2VyIj48L2Rpdj4KKzxpZnJhbWUgaWQ9InNhbmRib3hlZCIgc3JjPSIuL3Jlc291
cmNlcy9mY3Atc3ViZnJhbWUuaHRtbCIgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyI+PC9pZnJhbWU+
Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorCisgICAgVEVYVAorCis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oIlBhaW50IEFQSSBzaG91bGQgYmUgYXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBm
cmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4vc2FuZGJveGVkIGZyYW1lcy4iKTsKK3dpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5kaWRSZWNlaXZlTWVzc2FnZSA9IGZhbHNl
OworCit3aW5kb3cub25sb2FkID0gYXN5bmMgKCkgPT4geworICAgIGNvbnN0IHNhbmRib3hlZCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYW5kYm94ZWQnKTsKKyAgICBjb25zdCBub25TYW5k
Ym94ZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJyk7CisgICAgY29u
c3QgZmNwTWVzc2FnZVByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAg
d2luZG93Lm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5yZWNlaXZl
ZEV2ZW50ID0gZXZlbnQ7CisgICAgICAgICAgICBjb25zdCBpc0Zyb21TYW5kYm94ZWQgPSBldmVu
dC5zb3VyY2UgPT09IHNhbmRib3hlZC5jb250ZW50V2luZG93OworICAgICAgICAgICAgY29uc3Qg
bWVzc2FnZSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAgICAgICAgICBzd2l0Y2ggKG1l
c3NhZ2UudHlwZSkgeworICAgICAgICAgICAgICAgIGNhc2UgJ3N1cHBvcnRlZCc6CisgICAgICAg
ICAgICAgICAgICAgIGlmIChpc0Zyb21TYW5kYm94ZWQpCisgICAgICAgICAgICAgICAgICAgICAg
ICB3aW5kb3cuc2FuZGJveFN1cHBvcnRlZFR5cGVzID0gbWVzc2FnZS5zdXBwb3J0ZWQ7CisgICAg
ICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5ub25T
YW5kYm94U3VwcG9ydGVkVHlwZXMgPSBtZXNzYWdlLnN1cHBvcnRlZDsKKyAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSAncmVjZWl2ZWQnOgorICAgICAgICAg
ICAgICAgICAgICB3aW5kb3cuZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1lID0g
aXNGcm9tU2FuZGJveGVkOworICAgICAgICAgICAgICAgICAgICB3aW5kb3cucmVjZWl2ZWRFbnRy
eSA9IG1lc3NhZ2UuZW50cnk7CisgICAgICAgICAgICAgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdl
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ3JlY2VpdmVkRXZlbnQuc291
cmNlJywgImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKS5jb250ZW50V2lu
ZG93Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCdyZWNlaXZlZEVudHJ5Lm5hbWUn
LCAiJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnIik7CisgICAgICAgICAgICAgICAgICAgIHJlc29s
dmUoKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAg
IH07CisgICAgfSk7CisKKyAgICBzYW5kYm94ZWQuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgi
cGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBub25TYW5kYm94ZWQu
Y29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgicGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRG
b3JGQ1AoKTsKKyAgICBhd2FpdCBmY3BNZXNzYWdlUHJvbWlzZTsKKyAgICBzaG91bGRCZUZhbHNl
KCdkaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUnKTsKKyAgICBzaG91bGRCZVRy
dWUoJ0FycmF5LmlzQXJyYXkobm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzKScpOworICAgIHNob3Vs
ZEJlVHJ1ZSgnQXJyYXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVkVHlwZXMpJyk7CisgICAgc2hv
dWxkQmVUcnVlKCdkaWRSZWNlaXZlTWVzc2FnZScpOworICAgIHNob3VsZEJlVHJ1ZSgnbm9uU2Fu
ZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVGYWxz
ZSgnc2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgdGVzdFBh
c3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNr
IHdhcyBmaXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2lu
IGZyYW1lIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13
aXRoLXdvcmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdv
cmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorUGFpbnQg
QVBJIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlIGluIHdvcmtlciBjb250ZXh0cy4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0
ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIHRydWUKK1BBU1Mgd29ya2VyU3VwcG9y
dGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyBmYWxzZQorUEFTUyB3b3JrZXJTdXBw
b3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJtYXJrIikgaXMgdHJ1ZQorUEFTUyBQZXJmb3JtYW5j
ZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNsdWRlICdwYWludCcgZm9y
IHdvcmtlcnMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgt
d29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Bh
aW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50IEFQSSBzaG91bGQgbm90IGJl
IGF2YWlsYWJsZSBpbiB3b3JrZXIgY29udGV4dHMuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7Citjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKCIuL3Jlc291cmNlcy93b3JrZXIuaHRt
bCIpOword29ya2VyLm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICB3aW5kb3cud29ya2VyU3Vw
cG9ydGVkRW50cnlUeXBlcyA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAgc2hvdWxkQmVU
cnVlKCdQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBh
aW50IiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCd3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmlu
Y2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVUcnVlKCd3b3JrZXJTdXBwb3J0ZWRFbnRy
eVR5cGVzLmluY2x1ZGVzKCJtYXJrIiknKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9i
c2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNsdWRlICdwYWludCcgZm9yIHdv
cmtlcnMiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK3dvcmtlci5wb3N0TWVzc2FnZSgi
c3RhcnQiKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWlu
dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5j
ZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDEwIEBACitQQVNTIGRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWlu
dCBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKS5sZW5ndGggaXMgMQorUEFT
UyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50Iiku
bGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29u
dGVudGZ1bC1wYWludCIsICJwYWludCIpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgUGVyZm9ybWFuY2VPYnNl
cnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorVEVYVDIK
SW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1m
aXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9y
bWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiRW5zdXJlIFBlcmZvcm1hbmNlT2JzZXJ2ZXJz
IGFyZSBub3RpZmllZCBvbmNlIGZvciBmaXJzdC1jb250ZW50ZnVsLXBhaW50LiIpOword2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworIAorKGFzeW5jICgpID0+IHsKKyAgICB3aW5kb3cuZGlk
UmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gZmFsc2U7CisgICAgd2luZG93LnN0YXJ0VGlt
ZSA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBhd2Fp
dCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcihlbnRyeUxpc3QgPT4geworICAgICAgICAgICAgd2luZG93LmVu
dHJ5TGlzdCA9IGVudHJ5TGlzdDsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0
RW50cmllcygpLmxlbmd0aCcsICIxIik7CisgICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0
LmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAxKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQi
KS5sZW5ndGgnLCAiMSIpOworICAgICAgICAgICAgd2luZG93LmZjcEVudHJ5ID0gZW50cnlMaXN0
LmdldEVudHJpZXMoKVswXTsKKyAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVG
aXJzdENvbnRlbnRmdWxQYWludCcpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5Lm5h
bWUnLCAnImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiJyk7CisgICAgICAgICAgICBzaG91bGRCZSgn
ZmNwRW50cnkuZW50cnlUeXBlJywgJyJwYWludCInKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1
ZSgnZmNwRW50cnkuc3RhcnRUaW1lID4gd2luZG93LnN0YXJ0VGltZScpOworICAgICAgICAgICAg
c2hvdWxkQmVUcnVlKCdmY3BFbnRyeS5zdGFydFRpbWUgPCBwZXJmb3JtYW5jZS5ub3coKScpOwor
ICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5LmR1cmF0aW9uJywgIjAiKTsKKyAgICAgICAg
ICAgIGRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCA9IHRydWU7CisgICAgICAgICAgICBy
ZXNvbHZlKCk7CisgICAgICAgIH0pOworCisgICAgICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5
VHlwZXM6IFsncGFpbnQnXX0pOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICdU
RVhUJzsKKyAgICB9KQorICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQyJzsKKyAg
ICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgc2hvdWxkQmVUcnVlKCdkaWRSZWNlaXZlRmlyc3RD
b250ZW50ZnVsUGFpbnQnKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllcygp
Lmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5h
bWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHNob3VsZEJl
KCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50Iiwg
InBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50
cmllc0J5VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHRlc3RQYXNzZWQoIlBlcmZv
cm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXNuJ3QgZmly
ZWQgYWdhaW4gIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KSgpOworCisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNl
cy9mY3Atc3ViZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdD4KKyAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVy
KGxpc3QgPT4geworICAgICAgICBsaXN0LmdldEVudHJpZXMoKS5mb3JFYWNoKGVudHJ5ID0+IHsK
KyAgICAgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3R5
cGU6ICdyZWNlaXZlZCcsIGVudHJ5fSksICcqJyk7CisgICAgICAgIH0pOworICAgIH0pOworCisg
ICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJwYWludCJdfSk7CisgICAgd2luZG93
Lm9ubWVzc2FnZSA9IGUgPT4geworICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKEpT
T04uc3RyaW5naWZ5KHtzdXBwb3J0ZWQ6IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50
cnlUeXBlcywgdHlwZTogJ3N1cHBvcnRlZCd9KSwgJyonKTsKKyAgICAgICAgZG9jdW1lbnQuYm9k
eS5pbm5lclRleHQgPSAiVEVYVCI7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNv
dXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNSBAQAorYXN5bmMgZnVuY3Rpb24gd2FpdEZvckZD
UCgpCit7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUoKCkgPT4gcmVzb2x2ZSgpKSk7CisgICAgcmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoID09IDE7Cit9
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50
LXRpbWluZy1hcGkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAoraWYgKHNlbGYu
aW1wb3J0U2NyaXB0cykKKyAgICBpbXBvcnRTY3JpcHRzKCIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiKTsKKworaWYgKHNlbGYud2luZG93KQorICAgIGRlc2NyaXB0aW9uKCJCYXNpYyBJ
bnRlcmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuIik7CisKK2RlYnVnKCJQZXJmb3Jt
YW5jZVBhaW50VGltaW5nIik7CitzaG91bGRCZURlZmluZWQoIlBlcmZvcm1hbmNlUGFpbnRUaW1p
bmciKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUu
dG9KU09OYCk7CitzaG91bGRUaHJvdyhgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKWApOwor
CitpZiAoc2VsZi5pbXBvcnRTY3JpcHRzKQorICAgIGZpbmlzaEpTVGVzdCgpOwpJbmRleDogTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29y
a2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACitzZWxmLm9ubWVzc2FnZSA9
ICgpID0+IHsKKyAgICBzZWxmLnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KFBlcmZvcm1hbmNl
T2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcykpOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9u
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnMJKHJldmlzaW9uIDI2MDYzOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEv
VGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtNTU3LDYgKzU1NywxMiBAQCBodHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2hhci9oYXItcGFnCiBbIFJlbGVhc2UgXSBodHRwL3Rl
c3RzL2luc3BlY3Rvci9uZXR3b3JrL2hhci9oYXItcGFnZS1hZ2dyZXNzaXZlLWdjLmh0bWwgWyBG
YWlsdXJlIF0KIFsgRGVidWcgXSBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2hhci9oYXIt
cGFnZS1hZ2dyZXNzaXZlLWdjLmh0bWwgWyBTbG93IEZhaWx1cmUgXQogCisjIFBhaW50IFRpbWlu
ZyBpcyBub3QgYXZhaWxhYmxlIGluIFdlYktpdDEKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nICBbIFNraXAgXQorcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWlu
Zy1hcGlzLmh0bWwgWyBTa2lwIF0KK3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVz
Lmh0bWwgWyBTa2lwIF0KK3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIu
aHRtbCBbIFNraXAgXQorCiAjIExvY2FsIE92ZXJyaWRlcyBub3QgYXZhaWxhYmxlIGluIFdlYktp
dDEKIGh0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbG9jYWwtcmVzb3VyY2Utb3ZlcnJpZGUt
YmFzaWMuaHRtbCBbIEZhaWx1cmUgXQogaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9sb2Nh
bC1yZXNvdXJjZS1vdmVycmlkZS1tYWluLXJlc291cmNlLmh0bWwgWyBGYWlsdXJlIF0KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyNjA2
MzkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwkod29ya2lu
ZyBjb3B5KQpAQCAtMzcwMyw2ICszNzAzLDEyIEBAIGh0dHAvd3B0L3dlYnJ0YyBbIFNraXAgXQog
aHR0cC93cHQvcmVzb3VyY2UtdGltaW5nL3J0LW5leHRIb3BQcm90b2NvbC5odG1sIFsgU2tpcCBd
CiBodHRwL3dwdC9yZXNvdXJjZS10aW1pbmcvcnQtbmV4dEhvcFByb3RvY29sLndvcmtlci5odG1s
IFsgU2tpcCBdCiAKKyMgVE9ETyBQYWludCBUaW1pbmcgaXMgbm90IGVuYWJsZWQgZm9yIFdLMS4K
K2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nIFsgU2tpcCBdCitw
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbCBbIFNraXAgXQorcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbCBbIFNraXAgXQorcGVyZm9ybWFuY2UtYXBp
L3BhaW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sIFsgU2tpcCBdCisKICMgV2ViQ3J5cHRvIHRl
c3RzIGFyZSBmYWlsaW5nLgogd2Via2l0Lm9yZy9iLzE2NTA5MCBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSSBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE2NTA5MCBo
dHRwL3dwdC9jcnlwdG8gWyBTa2lwIF0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46
bWltZS10eXBlID0gaW1hZ2UvcG5nCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2ly
Y2xlcy5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCitp
bWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29BQUFB
TlNVaEVVZ0FBQUNRQUFBQklDQVlBQUFDZU5sZTVBQUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFB
ZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6
U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVN
dHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFs
VmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhD
bGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRR
SU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3ek82cllxR2NUdllPa0wyZDlINU9z
OTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFU
U2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1Vl
RjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJo
dVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkx
eXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAr
eFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJY
V2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3
eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxT
SjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJ
WHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82
NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3
L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFBCkNYQklXWE1BQUFzVEFBQUxFd0VB
bXB3WUFBQUdaMGxFUVZSb0JlMmFVVzlWUlJESGQ2OHRFVkpMVzJLQ3hDWStpZ1FEb1lrS2ZnSjgK
OU1rbkV2RWR2b0Nta1MrQTcycENRc0tUai9JSkJDU0IxTlNvUEpxVTFDYWtnTmlBYWVOZGYvK1pP
VDIzNTk3U0Z1N2w2VXl5NSt6TwoyWjJablozZG5abDdjNXJQSmUwS1NzcHBocDc3VTBtUHFEL2RI
RlVSeUp1WVJKOEQ5SmtHODR6NlE5NjlYM3M2TnFwampYYWpLU0xkCkVHUWY5UldJTyttU3pzTDFC
SzFaeWlHS2hGamx1VVNIWHhoem5mWlRFeU9udytEWFE3Q085ZVF4RUo0amtGaVBRVkRFbG0xd0ta
L3kKUHBkS09jM2JoYkFQelFkRFRiaDhrL2VWbFBNUDFpT25JN1FmVU4rZ0ROWlk3bDh5MTBwS2t3
d1paeUN6TG1jUjRtdmFwNHh3U2I5Qwo3eWJ0aFZUeUg3ei9EdnpCbE10Um1KNWt6R253eHdOL0Y2
RytZc3gxMm9mNExvR2VVUHExMVJDb1hpS3R1MXFsZk1mamMyb3NYYjZHCkFKZkIzNkVObW1KOXJG
WFhoUk9VTkllQUY2SHhHUzJZNSsraGNUN0d6ZkNXYlcwVnFpRlFaYmdQYlZEcS9zeUFEeWczR1Bj
Rjczc20KUUxKbEZDSE5WTGJSNVMyQmhKT3RTYlBDdWMybDlDN05iMm1mb2R5RzFvZEJweEtxbW9L
TVpCTTAzMG1LcEFhNnYvTTRDcGR2S0JlRAp3Q3pNdFR3cjZnSFVoTlFTQlllcXBtVS9DT3BlS3Ay
UDZYQ1pjc0ZwZDk0REwxN2lxZVZ6V3BwU05NWkJqUnZSZ21heUNhTjFsekJ2CjAyZUtiK3lndEJi
OXR3b0RzZ2YwVFdVdHhrdzVEV2dsYkVtMHhjT1hYTnBVMlNLUXR2YWJJRmRaYzJ5R1pTcW1tVXZn
MzJIZ1g1VEgKTWFpYVBjMGR3VmxxckdpSVZzcVhuRFk4bkJjOGpYZTE3UE81K0FHRzNiQ2JVdm1S
RGpkTXhkS01DTGs5N01oOUZ4MDYwSDRMbXZkVAo3djdFRzV2S24yRG8ybjJ5cDBleVFzMUNoZ2l3
dFkyNUdiQVFXcDcvVkJrU2lKWm9Bc1lEclJoUElTUkRTUjIvRHRnTmR1aWQ4cTF0CnUwa0dYQzJU
Qmd3RHN0SE1uTzVGUERoR0VtZWI4MTVCZXpQU2tPNG13VGw3SnM0WmdlK21zSG4vTXFSbkoyaERM
bmpaNlcvVTk2ZU8KWDVSOHM1TjFFZlFkSk5WMW9hM29vbHJmb1QxRTgwbndFSy9GNEMxdTJKQnVi
VjJVUlVkNnZoVnNSNkdaNW95Y2gzZ2FiMlNRTElFOQpFYjI1bTZ5bUU5alBoU2FaNGJSRmV5TjRM
VGhKOHh6OElnRXg2MGk3S0ZWZDkvWkluK3MrWlhnNnVBeGpyaEYzSlhScmU5c1BxVkhLClU5OS9G
VTk1QVpzYUdpWHJ2ZEhHcUFYeTlHVGwrRE84L2RZMjFNZ2U0aUZlNHVtZ0syUlRRN28wQVhPdVZJ
bVRXOVdSd1Q0M0QzZzYKdUF5K3kvQ0JIVTZhbEg3N3VqWEZoeUcvUkZ2ZWhRRHZVaEF5WU5TS0Ru
UzV5VlhGVjdaZW96ZnE2c0xXZ2V3bW82RGdnQTdHYVZOZApNWWRjUHZBY2JUbGdjcHg4RGxTR0NL
STVHVHpFNnpnSHNvSUJjWnZXd2ZnczJGNXhwdmpBQXZmMFJxRXArVjVoeU1FcktUSXhycEpsCkhn
SHQ3dUxHNzhwNXg0NDZ4NUJZL3JPOHhNY21udlYvNllkOGRxZVo4Yk5MOXpjb0xzQnZqdmRoZUsx
SVE1SXRUbWFGS2tLWlEwNDEKVFZCZVUyVklJRnFpQ1JnUHNSZFBnV1NJQThmRGtTUG11V1ZDRmZQ
a2NNak5zN05yaFlHMFhodzBWdWVPL0tEN2tCTHRNL0JUV0tRTgpwUURTZzR1SU91U2pQR0NBYnZ6
ekREaUdTM0FCM0NwdCtkVnk4dVd3YS9uMklweTBMNXVaNGozQitEK2gvV1hRdm0yOGpLZEZzMDQz
CkJOSU1kUHR1TUJnZ2Jpb0tnOHk5bEpBZUJ2a01GUWJKVnhLNEtYcTk5MWxwOHcxNnlJQ1hmRElS
QnBWRXRBc1BnVWV4dFhjUkF1bVQKaUl2UkRBWDFLVzVTb0tnNHFyQTlYemhRRk0zK1FCRWtFTHg2
SmlZOTlZQ1dUbXVwam9pb1diRE9Gbkd5STNLNXluZnRDSjFUeTlTVgpPSkRHL29taW0xdTRaUXE3
MWtMcHEweE11MGtSQmpZVG12RW9RN3kyaXNDMmIrYUhmTjExZUcyZmJGaUUrQzIrUHkvWjhCSGYz
NGVoCmx1VXV4c3R1Mm51eXdjYkhRM2FnKzBZQnBHWU00VWpIMkJYenZIU005ZVlxNGdTMlF5L1NN
YjZiOXB5T01XcnhjRzE1cUNRUFFNc0EKSDRyODhJemJXZXhZY0FmUElsOFpNQmVsSjZ5OHJ5Y25k
cGV3R3JCa0lVdmZxOHFNdkk0UWlocDBEQXdHRjNpQ1BwTjArSmQrc2hWaApkNGF0RnJWei81SDM2
Tm4yZzNpOTdKS3RtVjVlV1k1eDBKSVpqa2ViWTlRQ1N4dHV3TDdjVmIweTN6YkgyTnpLdFUxVnRU
Ykg2TGF6Ci9kT3RUSDVVbTJQY1hrdTlYOW9jWTY4MnRxdTNPY2J0Tk5QRXU2UFI1aGliZXFuYmJZ
Nngxc1ZlYW0yT3NkWldtMk9zZFRHNDFqVjAKbTJQczEwNmJZK3pYU1kxcGM0eTFMcnhXaGVKdGpq
SE9GRXZQS1kvVSsyZVVOc2RJaW5mZ0g1cmFIR1AvbitMOGQ2OGxRdjVYbW1QVQpYek5HOTdmQi93
RlpiZzA1RUVOdU53QUFBQUJKUlU1RXJrSmdnZz09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397802</attachid>
            <date>2020-04-27 21:45:28 -0700</date>
            <delta_ts>2020-04-27 22:26:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200428074525.patch</filename>
            <type>text/plain</type>
            <size>139083</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyNSBAQAorMjAyMC0wNC0yMSAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIHRoZSBuZWNlc3NhcnkgaW50ZXJmYWNlLCBleHRlbnNpb25zIHRv
IHRoZSBwZXJmb3JtYW5jZSBpbnRlcmZhY2UgYW5kIG9ic2VydmVyLCBuZXcgcnVudGltZSBmbGFn
LgorICAgICAgICBEZXRlY3RpbmcgY29udGVudGZ1bG5lc3MgYWZ0ZXIgbGF5b3V0IGFuZCBiZWZv
cmUgYWN0dWFsIHBhaW50LCBieSBydW5uaW5nIGEgImR1bW15IiBwYWludCwgc2ltaWxhciB0byAK
KyAgICAgICAgaW52YWxpZGF0ZUNvbnRyb2xUaW50cygpIC8gaW52YWxpZGF0ZUltYWdlc1dpdGhB
c3luY0RlY29kZXMoKS4gU2F2ZSB0aGUgcmVzdWx0IHRvIHRoZSBHcmFwaGljc0NvbnRleHQgYW5k
IHRoZW4gdG8gdGhlIGRvY3VtZW50LgorICAgICAgICBUaGlzIHdvdWxkIHJ1biBmb3IgZXZlcnkg
cGFpbnQgdW50aWwgd2UgZGV0ZWN0IGEgY29udGVudGZ1bCBvbmUuCisKKyAgICAgICAgTm90ZSB0
aGF0IGl0IHBhaW50cyB0aGUgZW50aXJlIGZyYW1lIGNvbnRlbnRzLCBhcyBGQ1AgaXMgbm90IHZp
ZXdwb3J0LWRlcGVuZGVudC4KKyAgICAgICAgQWxzbywgcGFpbnQgdGltaW5nIGlzIGN1cnJlbnRs
eSBkaXNhYmxlZCBmb3IgTEZDIChsYXlvdXQgZm9ybWF0dGluZyBjb250ZXh0KSwgYW5kIHdpbGwg
YmUgZGVhbHQgd2l0aCBsYXRlci4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
Zy1pbWFnZS10d28tc3RlcHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0
bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlv
bi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5k
YW50Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
dXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5k
cy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAorICAgICAgICAgICAgICAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBz
ZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LXRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC12aWRlby1mcmFtZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0
bC5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1w
YWludC1mcmFtZXMuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNv
bnRlbnRmdWwtcGFpbnQtd2l0aC13b3JrZXIuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNl
LWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogcGFnZS9QZXJm
b3JtYW5jZVBhaW50VGltaW5nLmg6IEFkZGVkLgorICAgICAgICAoaXNUeXBlKToKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsOiBBZGRlZC4KKyAgICAgICAgICAgICAg
ICBBZGQgUGVyZm9ybWFuY2VQYWludFRpbWluZyBpbnRlcmZhY2UuIGh0dHBzOi8vdzNjLmdpdGh1
Yi5pby9wYWludC10aW1pbmcvI3NlYy1QZXJmb3JtYW5jZVBhaW50VGltaW5nCisKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnN1cHBvcnRz
UGFpbnRUaW1pbmcgY29uc3QpOgorICAgICAgICAgICAgICAgIFdlIG9ubHkgcmVwb3J0IHBhaW50
IHRpbWluZyBmb3IgZG9jdW1lbnQgdGhhdCBjYW4gYWNjZXNzIHRoZSB0b3AgbGV2ZWwgc2VjdXJp
dHkgb3JpZ2luLCB0byBhdm9pZCBsZWFrYWdlIG9mIGluZm9ybWF0aW9uIHRvIHNhbmRib3hlZCBp
ZnJhbWVzLgorCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVwb3J0UGFpbnRUaW1pbmdJ
Zk5lZWRlZCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICAgICAgICAgUmVw
b3J0IHBhaW50IHRpbWluZywgYWNjb3JkaW5nIHRvIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWlu
dC10aW1pbmcvI3NlYy1yZXBvcnRpbmctcGFpbnQtdGltaW5nCisKKyAgICAgICAgKiBwYWdlL1Bh
Z2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6
CisgICAgICAgICAgICAgICAgUmVwb3J0IGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgYWZ0ZXIgbGF5
b3V0LgorICAgICAgICAgICAgICAgIFNlZSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211
bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjdXBkYXRlLXRoZS1yZW5kZXJpbmcKKworICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6Omdl
dEVudHJpZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJp
ZXNCeVR5cGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJp
ZXNCeU5hbWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnJlcG9ydEZp
cnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAg
ICAgICAgICAgICAgU3VwcG9ydCBmaXJzdC1jb250ZW50ZnVsLXBhaW50IHJlcG9ydGluZy4KKwor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojpp
c1BhaW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBl
cyk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmg6CisgICAgICAgICogcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbDoKKyAgICAgICAgICAgICAgICBBZGQgcGFpbnQgcGVy
Zm9ybWFuY2UgZW50cnkgdHlwZS4KKworICAgICAgICAqIHBhZ2UvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0UGFp
bnRUaW1pbmdFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnBhaW50VGltaW5nRW5hYmxlZCBjb25zdCk6CisgICAgICAgICAgICAgICAgTmV3IHJ1bnRp
bWUgZmxhZyBmb3IgcGFpbnQgdGltaW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRl
dGVjdGluZ0NvbnRlbnRmdWxQYWludCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQ6OnNldENvbnRlbnRmdWxQYWludERldGVjdGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDo6Y29udGVuZnVsUGFpbnREZXRlY3RlZCBjb25zdCk6CisgICAgICAg
ICAgICAgICAgQWRkIGEgZmxhZyBpbiBHcmFwaGljc0NvbnRleHQgd2hlcmUgZGlmZmVyZW50IHJl
bmRlciBvcGVyYXRpb25zIGNhbiByZXBvcnQgaWYgdGhleSdyZSBjb250ZW50ZnVsLgorCisgICAg
ICAgICogcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnRlbnRmdWxQYWludENoZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRm
dWxQYWludCk6CisgICAgICAgICAgICAgICAgUnVuIGEgImR1bW15IiBwYWludCBvZiB0aGUgRnJh
bWVWaWV3LCB0byBkZXRlY3QgY29udGVudGZ1bCBlbGVtZW50cy4gCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oOiBBZGRlZC4KKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94
TW9kZWxPYmplY3Q6OnBhaW50RmlsbExheWVyRXh0ZW5kZWQpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJIVE1MQ2FudmFzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckhUTUxDYW52
YXM6OnBhaW50UmVwbGFjZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6cGFpbnRSZXBsYWNlZCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyOjpwYWludExheWVyQ29udGVudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWRl
by5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWRlbzo6cGFpbnRSZXBsYWNlZCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1RleHRQYWludGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRQYWludGVyOjpwYWludFRleHRPckVtcGhhc2lzTWFya3MpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSb290
OjpwYWludFJlcGxhY2VkKToKKyAgICAgICAgICAgICAgICBSZXBvcnQgY29udGVudGZ1bG5lc3Mg
d2hlbiB3ZSByZWFjaCBhbnl0aGluZyB0aGF0IHF1YWxpZmllcyBhcyBjb250ZW50ZnVsLAorICAg
ICAgICAgICAgICAgIGJhc2VkIG9uIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcv
I2NvbnRlbnRmdWwuCisKIDIwMjAtMDQtMjQgIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVy
ZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBBZGQgbWlzc2luZyBIVE1MTmFtZXM6OiBuYW1lc3Bh
Y2UgcHJlZml4IHRvIHVzYWdlIG9mIGxpVGFnIG9iamVjdApJbmRleDogU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC05MzYsNiArOTM2LDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExf
RklMRVMKICAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwKICAgICBwYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU5h
dmlnYXRpb24uaWRsCisgICAgcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAogICAgIHBh
Z2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlU2Vy
dmVyVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTkyNiw2ICs5MjYsNyBA
QCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxi
YWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxp
c3QuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwg
XAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAko
cmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTIxMjQsNiArMjEyNCw3IEBAIHJlbmRlcmluZy9CcmVha0xpbmVzLmNwcAogcmVu
ZGVyaW5nL0NTU0ZpbHRlci5jcHAKIHJlbmRlcmluZy9DbGlwUmVjdC5jcHAKIHJlbmRlcmluZy9D
b21wbGV4TGluZUxheW91dC5jcHAKK3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmNw
cAogcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmNwcAogcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNwcAog
cmVuZGVyaW5nL0V2ZW50UmVnaW9uLmNwcApAQCAtMzIwMiw2ICszMjAzLDcgQEAgSlNQZXJmb3Jt
YW5jZU5hdmlnYXRpb24uY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCiBKU1BlcmZvcm1h
bmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5j
cHAKK0pTUGVyZm9ybWFuY2VQYWludFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5jcHAKIEpTUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlVGlt
aW5nLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MDU1LDYgKzQw
NTUsNyBAQAogCQlDOUY4N0NGRTFCMjhGNDBFMDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOUY4N0NG
RDFCMjhFNUY2MDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0EzQkY2N0UxMEQ5OUJBRTAwRTZD
RTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3Iu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDQTZD
MTUzMDIyMEI5OENDMDA1NUNCRkMgLyogSlNWYWx1ZUluV3JhcHBlZE9iamVjdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMxQUUzQjgxRkI4MEVBRTAw
RjVFRkIyIC8qIEpTVmFsdWVJbldyYXBwZWRPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDQTdFOUI0OTI0MzYxREM1MDA0RTg5RjYgLyog
Q29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0E3RTlCNDcyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWlu
dENoZWNrZXIuaCAqLzsgfTsKIAkJQ0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVj
dFJhdGlvVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENBRTlGOTBFMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggKi87
IH07CiAJCUNCMzhGRDUyMUNDRjkzOTQwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENCMzhGRDRFMUND
RjkzN0UwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCAqLzsgfTsKIAkJQ0IzOEZENUIx
Q0QyMzI1QjAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0IzOEZENTkxQ0QyMzE0NTAw
NTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovOyB9OwpAQCAtMTM4MjQs
NiArMTM4MjUsOCBAQAogCQlDQTA5MUQ4NjIzQ0Y5MDc4MDBBRDQzNDYgLyogU3R5bGVJbWFnZVNl
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUltYWdlU2V0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0EwOTFEODkyM0NGOTA4ODAwQUQ0MzQ2IC8qIFN0eWxlSW1hZ2VT
ZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVJbWFnZVNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDQTE2MzVEQzIwNzJFNzY5MDBFN0QyQ0UgLyogUmVmZXJyZXJQb2xpY3kuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmZXJyZXJQb2xpY3kuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNENTI0MDdENjQwMDA3MTI0MUEg
LyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZVBh
aW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkzM0Q4MjQwN0VE
Q0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8q
IFNjcm9sbEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9s
bEFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNTJCQUU1MjNEMEFG
MTYwMERFMEI4NCAvKiBTdHlsZUN1cnNvckltYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0
eWxlQ3Vyc29ySW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM4MzMs
NiArMTM4MzYsOCBAQAogCQlDQTZDMTUyRjIyMEI0QTU1MDA1NUNCRkMgLyogSlNJREJSZXF1ZXN0
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCUmVx
dWVzdEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNkMxNTM3MjIw
RDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvckN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0lEQkN1cnNvckN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNBNkMxNTM4MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvcldp
dGhWYWx1ZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0lEQkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUNBN0U5QjQ3MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRmdWxQYWludENoZWNrZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0E3RTlCNDgyNDM2MURDNTAwNEU4OUY2
IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBRTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1Zh
bHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0FzcGVjdFJh
dGlvVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQUU5RjkwRTE0NjQ0
MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5jZUVudHJ5LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRW50cnku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjEwMjUsNiArMjEwMzAsOCBAQAog
CQkJCUE1QTk5MzNBMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlM
aXN0LmNwcCAqLywKIAkJCQlBNUE5OTMzQjFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdC5oICovLAogCQkJCUE1QTk5MzNDMUUzN0ZBRkQwMDVCNUU0RCAvKiBQ
ZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCAqLywKKwkJCQlDQTE5MzNENTI0MDdENjQw
MDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovLAorCQkJCUNBMTkzM0Q4MjQw
N0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLywKIAkJCQk4NjUx
MkVEQjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi8s
CiAJCQkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcuaCAqLywKIAkJCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5pZGwgKi8sCkBAIC0yODEyNyw2ICsyODEzNCw4IEBACiAJCQkJQkNERDQ1NEQx
MjM2Qzk1QzAwOUE3OTg1IC8qIENvbHVtbkluZm8uaCAqLywKIAkJCQlCQ0VBNDgxMzA5N0Q5MzAy
MDA5NEM5RTQgLyogQ29tcGxleExpbmVMYXlvdXQuY3BwICovLAogCQkJCUU0QTFBQzc4MjJGQUZE
NTAwMDE3Qjc1QiAvKiBDb21wbGV4TGluZUxheW91dC5oICovLAorCQkJCUNBN0U5QjQ4MjQzNjFE
QzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcCAqLywKKwkJCQlDQTdFOUI0
NzI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oICovLAogCQkJCTkz
OTJGMTRGMEFEMTg2MjMwMDY5MUJENCAvKiBDb3VudGVyTm9kZS5jcHAgKi8sCiAJCQkJOTM5MkYx
NEIwQUQxODYxQjAwNjkxQkQ0IC8qIENvdW50ZXJOb2RlLmggKi8sCiAJCQkJMEY1M0ZCODEyMTNC
MUJCODAwQzQwRDM0IC8qIENTU0ZpbHRlci5jcHAgKi8sCkBAIC0yOTgzMiw2ICsyOTg0MSw3IEBA
CiAJCQkJQTE0OTc4NkYxQUJBRjMzODAwQ0VGN0U0IC8qIENvbnRlbnRGaWx0ZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTVDRENEREM2MjNEODBBMUMwMEJBMzRBMSAvKiBDb250ZW50RmlsdGVyQ2xp
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQwOTBGRDFBQTUxRTQ4MDA5MTE5MUEgLyogQ29u
dGVudEZpbHRlclVuYmxvY2tIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDQTdFOUI0OTI0
MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNUM5QzJEQjUyMjQxQTY3QjAwOTk2QjBCIC8qIENvbnRlbnRSdWxlTGlzdFJlc3VsdHMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTk3QzQ3MURDMTJGOTI1QkQwMDg2MzU0QiAvKiBDb250ZW50
U2VjdXJpdHlQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFNUZBMjU1MjA5RTQ4QzUwMDUx
RDcwMCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovLApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNl
RW50cnlDdXN0b20uY3BwCShyZXZpc2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
NSw5ICszNSwxMSBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTUGVy
Zm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNs
dWRlICJKU1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5n
LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYg
KzQ4LDkgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFBl
cmZvcm1hbmNlRW50cnk+JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRU
aW1pbmc+KGVudHJ5KSkKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQ
YWludFRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAgICBpZiAoaXM8
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRl
V3JhcHBlcjxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUo
ZW50cnkpKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0
aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODIsNiAr
MTgyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3Vy
ZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNybyhQZXJmb3Jt
YW5jZU9ic2VydmVyRW50cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWlu
ZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQ
ZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXApJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBACiAj
aW5jbHVkZSAiQ29tcG9zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkNvbnN0YW50UHJvcGVydHlN
YXAuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIKKyNpbmNsdWRlICJDb250
ZW50ZnVsUGFpbnRDaGVja2VyLmgiCiAjaW5jbHVkZSAiQ29va2llSmFyLmgiCiAjaW5jbHVkZSAi
Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaCIKICNpbmNsdWRlICJDdXN0b21FbGVtZW50UmVn
aXN0cnkuaCIKQEAgLTE0OSw2ICsxNTAsNyBAQAogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2lu
Y2x1ZGUgIlBhZ2VUcmFuc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQYWludFdvcmtsZXRHbG9i
YWxTY29wZS5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1M
b2NhbGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybVNjcmVlbi5oIgpAQCAtMzE0NCw2ICszMTQ2LDM0IEBAIGJvb2wgRG9jdW1l
bnQ6OmlzTGF5b3V0VGltZXJBY3RpdmUoKSBjb24KICAgICByZXR1cm4gdmlldygpICYmIHZpZXco
KS0+bGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0UGVuZGluZygpOwogfQogCitib29sIERvY3VtZW50
OjpzdXBwb3J0c1BhaW50VGltaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQoKSAmJiBzZWN1
cml0eU9yaWdpbigpLmNhbkFjY2Vzcyh0b3BPcmlnaW4oKSk7Cit9CisKKy8vIGh0dHBzOi8vdzNj
LmdpdGh1Yi5pby9wYWludC10aW1pbmcvI3JlZi1mb3ItbWFyay1wYWludC10aW1pbmcKK3ZvaWQg
RG9jdW1lbnQ6OnJlcG9ydFBhaW50VGltaW5nSWZOZWVkZWQoKQoreworICAgIGlmIChtX2RpZFJl
cG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIXN1
cHBvcnRzUGFpbnRUaW1pbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFkb21XaW5k
b3coKSB8fCAhdmlldygpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBUbyBtYWtlIHN1cmUg
d2UgZG9uJ3QgcmVwb3J0IHBhaW50IHdoaWxlIHRoZSBsYXllciB0cmVlIGlzIHN0aWxsIGZyb3pl
bi4KKyAgICBpZiAoIXZpZXcoKS0+aXNWaXN1YWxseU5vbkVtcHR5KCkgfHwgdmlldygpLT5uZWVk
c0xheW91dCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIUNvbnRlbnRmdWxQYWludENo
ZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRmdWxQYWludCgqdmlldygpKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCkucmVwb3J0Rmlyc3RDb250ZW50
ZnVsUGFpbnQoKTsKKyAgICBtX2RpZFJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50ID0gdHJ1ZTsK
K30KKwogRXhjZXB0aW9uT3I8dm9pZD4gRG9jdW1lbnQ6OndyaXRlKERvY3VtZW50KiByZXNwb25z
aWJsZURvY3VtZW50LCBTZWdtZW50ZWRTdHJpbmcmJiB0ZXh0KQogewogICAgIGlmIChtX2FjdGl2
ZVBhcnNlcldhc0Fib3J0ZWQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMjYw
NjM5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTEwMzgsNiArMTAzOCw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2hvdWxkRGVmZXJBc3luY2hy
b25vdXNTY3JpcHRzVW50aWxQYXJzaW5nRmluaXNoZXMoKSBjb25zdDsKIAorICAgIGJvb2wgc3Vw
cG9ydHNQYWludFRpbWluZygpIGNvbnN0OworCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgdm9pZCBz
Y2hlZHVsZVRvQXBwbHlYU0xUcmFuc2Zvcm1zKCk7CiAgICAgdm9pZCBhcHBseVBlbmRpbmdYU0xU
cmFuc2Zvcm1zTm93SWZTY2hlZHVsZWQoKTsKQEAgLTE1NzcsNiArMTU3OSw3IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgc2V0SGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQoKSB7IG1faGFz
VmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQgPSB0cnVlOyB9CiAgICAgYm9vbCBoYXNWaXN1
YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzVmlzdWFsbHlO
b25FbXB0eUN1c3RvbUNvbnRlbnQ7IH0KKyAgICB2b2lkIHJlcG9ydFBhaW50VGltaW5nSWZOZWVk
ZWQoKTsKIAogcHJvdGVjdGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9uRmxhZ3MgeyBTeW50aGVz
aXplZCA9IDEsIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEgfTsKQEAgLTIwNDMsNiAr
MjA0Niw5IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fYXJlRGV2aWNlTW90aW9uQW5kT3JpZW50
YXRpb25VcGRhdGVzU3VzcGVuZGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fdXNlckRpZEludGVy
YWN0V2l0aFBhZ2UgeyBmYWxzZSB9OworCisgICAgYm9vbCBtX2RpZFJlcG9ydEZpcnN0Q29udGVu
dGZ1bFBhaW50IHsgZmFsc2UgfTsKKwogI2lmIEFTU0VSVF9FTkFCTEVECiAgICAgYm9vbCBtX2lu
SGl0VGVzdGluZyB7IGZhbHNlIH07CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDI1Nyw2ICs0MjU3LDkgQEAgdm9pZCBGcmFtZVZpZXc6
OnBhaW50Q29udGVudHMoR3JhcGhpY3NDbwogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpCiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkubGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRFbmFibGVkKCkpIHsKKyAgICAgICAgLy8gSW50ZWdy
YXRlIHBhaW50IHRpbWluZyB3aXRoIExGQyBsYXRlciBvbi4KKyAgICAgICAgaWYgKGNvbnRleHQu
ZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpCisgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IGlmIChhdXRvKiBsYXlvdXRTdGF0ZSA9IGxheW91dENvbnRleHQoKS5sYXlvdXRGb3JtYXR0aW5n
U3RhdGUoKSkKICAgICAgICAgICAgIExheW91dDo6TGF5b3V0Q29udGV4dDo6cGFpbnQoKmxheW91
dFN0YXRlLCBjb250ZXh0LCBkaXJ0eVJlY3QpOwogICAgICAgICByZXR1cm47CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzOTYsNiArMTM5NiwxMCBAQCB2b2lkIFBhZ2U6OmRv
QWZ0ZXJVcGRhdGVSZW5kZXJpbmcoKQogICAgIC8vIGxheW91dCB0byBiZSB1cC10by1kYXRlLiBJ
dCBzaG91bGQgbm90IHJ1biBzY3JpcHQsIHRyaWdnZXIgbGF5b3V0LCBvciBkaXJ0eSBsYXlvdXQu
CiAKICAgICBmb3JFYWNoRG9jdW1lbnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkgeworICAgICAg
ICBkb2N1bWVudC5yZXBvcnRQYWludFRpbWluZ0lmTmVlZGVkKCk7CisgICAgfSk7CisKKyAgICBm
b3JFYWNoRG9jdW1lbnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkgewogICAgICAgICBkb2N1bWVu
dC51cGRhdGVIaWdobGlnaHRQb3NpdGlvbnMoKTsKICAgICB9KTsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZS5jcHAJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBACiAj
aW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTmF2aWdh
dGlvbi5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJQZXJm
b3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFu
Y2VVc2VyVGltaW5nLmgiCkBAIC0xMjQsNiArMTI1LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3Jt
YW5jZUVudHJ5Pj4gUGVyZm9ybQogICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJU
aW1pbmctPmdldE1lYXN1cmVzKCkpOwogICAgIH0KIAorICAgIGlmIChtX2ZpcnN0Q29udGVudGZ1
bFBhaW50KQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsK
KwogICAgIHN0ZDo6c29ydChlbnRyaWVzLmJlZ2luKCksIGVudHJpZXMuZW5kKCksIFBlcmZvcm1h
bmNlRW50cnk6OnN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbik7CiAgICAgcmV0dXJuIGVudHJpZXM7
CiB9CkBAIC0xMzUsNiArMTM5LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4g
UGVyZm9ybQogICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUs
ICJyZXNvdXJjZSIpKQogICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3Jlc291cmNlVGlt
aW5nQnVmZmVyKTsKIAorICAgIGlmIChtX2ZpcnN0Q29udGVudGZ1bFBhaW50ICYmIGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInBhaW50IikpCisgICAgICAgIGVudHJp
ZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworCiAgICAgaWYgKG1fdXNlclRpbWlu
ZykgewogICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBl
LCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5n
LT5nZXRNYXJrcygpKTsKQEAgLTE1Nyw2ICsxNjQsOSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+PiBQZXJmb3JtCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAobV9maXJzdENv
bnRlbnRmdWxQYWludCAmJiAoZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInBhaW50IikpICYmIG5hbWUgPT0gImZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQiKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBh
aW50KTsKKwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVudHJ5VHlwZS5p
c051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJr
IikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1h
cmtzKG5hbWUpKTsKQEAgLTE4MCw2ICsxOTAsMTMgQEAgdm9pZCBQZXJmb3JtYW5jZTo6c2V0UmVz
b3VyY2VUaW1pbmdCdWZmZQogICAgIG1fcmVzb3VyY2VUaW1pbmdCdWZmZXJGdWxsRmxhZyA9IGZh
bHNlOwogfQogCit2b2lkIFBlcmZvcm1hbmNlOjpyZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgp
Cit7CisgICAgQVNTRVJUKCFtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKKyAgICBtX2ZpcnN0Q29u
dGVudGZ1bFBhaW50ID0gUGVyZm9ybWFuY2VQYWludFRpbWluZzo6Y3JlYXRlRmlyc3RDb250ZW50
ZnVsUGFpbnQobm93KCkpOworICAgIHF1ZXVlRW50cnkoKm1fZmlyc3RDb250ZW50ZnVsUGFpbnQp
OworfQorCiB2b2lkIFBlcmZvcm1hbmNlOjphZGRSZXNvdXJjZVRpbWluZyhSZXNvdXJjZVRpbWlu
ZyYmIHJlc291cmNlVGltaW5nKQogewogICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAkocmV2aXNpb24gMjYwNjM5KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00
NSw2ICs0NSw3IEBAIGNsYXNzIExvYWRUaW1pbmc7CiBjbGFzcyBQZXJmb3JtYW5jZUVudHJ5Owog
Y2xhc3MgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOwogY2xhc3MgUGVyZm9ybWFuY2VPYnNlcnZlcjsK
K2NsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc7CiBjbGFzcyBQZXJmb3JtYW5jZVRpbWluZzsK
IGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVRpbWluZzsKQEAgLTc3LDYg
Kzc4LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGRSZXNvdXJjZVRpbWluZyhSZXNvdXJjZVRp
bWluZyYmKTsKIAorICAgIHZvaWQgcmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKwogICAg
IHZvaWQgcmVtb3ZlQWxsT2JzZXJ2ZXJzKCk7CiAgICAgdm9pZCByZWdpc3RlclBlcmZvcm1hbmNl
T2JzZXJ2ZXIoUGVyZm9ybWFuY2VPYnNlcnZlciYpOwogICAgIHZvaWQgdW5yZWdpc3RlclBlcmZv
cm1hbmNlT2JzZXJ2ZXIoUGVyZm9ybWFuY2VPYnNlcnZlciYpOwpAQCAtMTIxLDYgKzEyNCw3IEBA
IHByaXZhdGU6CiAKICAgICBNb25vdG9uaWNUaW1lIG1fdGltZU9yaWdpbjsKIAorICAgIFJlZlB0
cjxQZXJmb3JtYW5jZVBhaW50VGltaW5nPiBtX2ZpcnN0Q29udGVudGZ1bFBhaW50OwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxVc2VyVGltaW5nPiBtX3VzZXJUaW1pbmc7CiAKICAgICBHZW5lcmljVGFz
a1F1ZXVlPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ+IG1fcGVyZm9ybWFuY2VUaW1lbGluZVRhc2tR
dWV1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAkocmV2
aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsMTEgQEAgT3B0aW9uYWw8UGVyZm9ybWFuY2VF
bnRyeTo6VHlwZT4gUGVyZm9ybQogICAgICAgICAgICAgcmV0dXJuIE9wdGlvbmFsPFR5cGU+KFR5
cGU6OlJlc291cmNlKTsKICAgICB9CiAKKyAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQoKSkgeworICAgICAgICBpZiAoZW50
cnlUeXBlID09ICJwYWludCIpCisgICAgICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlw
ZTo6UGFpbnQpOworICAgIH0KKwogICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiB9CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCShyZXZpc2lvbiAyNjA2MzkpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAkod29ya2luZyBjb3B5KQpA
QCAtNDgsMTAgKzQ4LDExIEBAIHB1YmxpYzoKICAgICBkb3VibGUgZHVyYXRpb24oKSBjb25zdCB7
IHJldHVybiBtX2R1cmF0aW9uOyB9CiAKICAgICBlbnVtIGNsYXNzIFR5cGUgewotICAgICAgICBO
YXZpZ2F0aW9uID0gMSA8PCAwLAotICAgICAgICBNYXJrID0gMSA8PCAxLAotICAgICAgICBNZWFz
dXJlID0gMSA8PCAyLAotICAgICAgICBSZXNvdXJjZSA9IDEgPDwgMywKKyAgICAgICAgTmF2aWdh
dGlvbiAgPSAxIDw8IDAsCisgICAgICAgIE1hcmsgICAgICAgID0gMSA8PCAxLAorICAgICAgICBN
ZWFzdXJlICAgICA9IDEgPDwgMiwKKyAgICAgICAgUmVzb3VyY2UgICAgPSAxIDw8IDMsCisgICAg
ICAgIFBhaW50ICAgICAgID0gMSA8PCA0CiAgICAgfTsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBl
KCkgY29uc3QgPSAwOwpAQCAtNjIsNiArNjMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Jlc291
cmNlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OlJlc291cmNlOyB9CiAgICAgYm9v
bCBpc01hcmsoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWFyazsgfQogICAgIGJv
b2wgaXNNZWFzdXJlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1lYXN1cmU7IH0K
KyAgICBib29sIGlzUGFpbnQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UGFpbnQ7
IH0KIAogICAgIHN0YXRpYyBib29sIHN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbihjb25zdCBSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4mIGEsIGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYg
YikKICAgICB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5jcHAJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMywxNSArMTEzLDIxIEBAIHZvaWQg
UGVyZm9ybWFuY2VPYnNlcnZlcjo6ZGVsaXZlcigpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRGaXJlT2JzZXJ2ZXJDYWxsYmFjaygqY29udGV4dCk7CiB9CiAKLVZlY3RvcjxTdHJp
bmc+IFBlcmZvcm1hbmNlT2JzZXJ2ZXI6OnN1cHBvcnRlZEVudHJ5VHlwZXMoKQorVmVjdG9yPFN0
cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyhTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0KQogewotICAgIHJldHVybiB7CisgICAgVmVjdG9yPFN0cmlu
Zz4gZW50cnlUeXBlcyA9IHsKICAgICAgICAgLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5vcmcv
Yi8xODQzNjM+IEFkZCBzdXBwb3J0IGZvciBOYXZpZ2F0aW9uIFRpbWluZyBMZXZlbCAyCiAgICAg
ICAgIC8vICJuYXZpZ2F0aW9uIl9zLAogICAgICAgICAibWFyayJfcywKLSAgICAgICAgIm1lYXN1
cmUiX3MsCi0gICAgICAgICJyZXNvdXJjZSJfcworICAgICAgICAibWVhc3VyZSJfcwogICAgIH07
CisKKyAgICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpICYmIGRvd25jYXN0PERvY3VtZW50Pihj
b250ZXh0KS5zdXBwb3J0c1BhaW50VGltaW5nKCkpCisgICAgICAgIGVudHJ5VHlwZXMuYXBwZW5k
KCJwYWludCJfcyk7CisKKyAgICBlbnRyeVR5cGVzLmFwcGVuZCgicmVzb3VyY2UiX3MpOworCisg
ICAgcmV0dXJuIGVudHJ5VHlwZXM7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCShyZXZpc2lvbiAyNjA2
MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoY29udGV4dCwgV1RGTW92ZShjYWxsYmFjaykpKTsK
ICAgICB9CiAKLSAgICBzdGF0aWMgVmVjdG9yPFN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlcygp
OworICAgIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmKTsKIAogICAgIHZvaWQgZGlzYXNzb2NpYXRlKCk7CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAkocmV2aXNpb24gMjYw
NjM5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogXSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VPYnNl
cnZlciB7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIG9ic2VydmUoUGVyZm9ybWFuY2VP
YnNlcnZlckluaXQgb3B0aW9ucyk7CiAgICAgdm9pZCBkaXNjb25uZWN0KCk7Ci0gICAgc3RhdGlj
IHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHN1cHBvcnRlZEVudHJ5
VHlwZXM7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyByZWFk
b25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RE9NU3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVz
OwogfTsKIAogZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdCB7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lN
ZWRpYSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVyZm9y
bWFuY2VFbnRyeS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgZmluYWwgOiBwdWJs
aWMgUGVyZm9ybWFuY2VFbnRyeSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5j
ZVBhaW50VGltaW5nPiBjcmVhdGVGaXJzdENvbnRlbnRmdWxQYWludChET01IaWdoUmVzVGltZVN0
YW1wIHRpbWVTdGFtcCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiX3MsIHRpbWVTdGFtcCkp
OworICAgIH0KKworcHJpdmF0ZToKKyAgICBQZXJmb3JtYW5jZVBhaW50VGltaW5nKGNvbnN0IFN0
cmluZyYgbmFtZSwgRE9NSGlnaFJlc1RpbWVTdGFtcCB0aW1lU3RhbXApCisgICAgICAgIDogUGVy
Zm9ybWFuY2VFbnRyeShuYW1lLCB0aW1lU3RhbXAsIHRpbWVTdGFtcCkKKyAgICB7CisgICAgfQor
CisgICAgQVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJwYWlu
dCJfczsgfQorICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFR5cGU6OlBhaW50
OyB9CisKKyAgICB+UGVyZm9ybWFuY2VQYWludFRpbWluZygpID0gZGVmYXVsdDsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJD
b3JlOjpQZXJmb3JtYW5jZVBhaW50VGltaW5nKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25z
dCBXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnkuaXNQYWlu
dCgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRp
YSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Bh
aW50LXRpbWluZy8KKwordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKworWwor
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGFpbnRUaW1pbmcsCisgICAgRXhwb3NlZD0oV2luZG93KSwK
K10gaW50ZXJmYWNlIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgOiBQZXJmb3JtYW5jZUVudHJ5IHsK
K307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDkgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0VXNlclRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1VzZXJUaW1p
bmdFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCB1c2VyVGltaW5nRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1faXNVc2VyVGltaW5nRW5hYmxlZDsgfQogCisgICAgdm9pZCBzZXRQYWlu
dFRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1BhaW50VGltaW5nRW5hYmxlZCA9
IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgcGFpbnRUaW1pbmdFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9pc1BhaW50VGltaW5nRW5hYmxlZDsgfQorCiAgICAgYm9vbCBwZXJmb3JtYW5jZVRpbWVs
aW5lRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIHJlc291cmNlVGltaW5nRW5hYmxlZCgpIHx8IHVz
ZXJUaW1pbmdFbmFibGVkKCk7IH0KIAogICAgIHZvaWQgc2V0U2hhZG93RE9NRW5hYmxlZChib29s
IGlzRW5hYmxlZCkgeyBtX2lzU2hhZG93RE9NRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQpAQCAtNDI0
LDYgKzQyNyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzTGlua1ByZWxvYWRFbmFibGVkIHsg
dHJ1ZSB9OwogICAgIGJvb2wgbV9pc0xpbmtQcmVmZXRjaEVuYWJsZWQgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9pc01lZGlhUHJlbG9hZGluZ0VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9p
c1BhaW50VGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzUmVzb3VyY2VUaW1p
bmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNVc2VyVGltaW5nRW5hYmxlZCB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX2lzSW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQgeyBm
YWxzZSB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0LmgJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzMs
NyArMjczLDggQEAgcHVibGljOgogICAgIGVudW0gY2xhc3MgUGFpbnRJbnZhbGlkYXRpb25SZWFz
b25zIDogdWludDhfdCB7CiAgICAgICAgIE5vbmUsCiAgICAgICAgIEludmFsaWRhdGluZ0NvbnRy
b2xUaW50cywKLSAgICAgICAgSW52YWxpZGF0aW5nSW1hZ2VzV2l0aEFzeW5jRGVjb2RlcworICAg
ICAgICBJbnZhbGlkYXRpbmdJbWFnZXNXaXRoQXN5bmNEZWNvZGVzLAorICAgICAgICBEZXRlY3Rp
bmdDb250ZW50ZnVsUGFpbnQKICAgICB9OwogICAgIEdyYXBoaWNzQ29udGV4dChQYWludEludmFs
aWRhdGlvblJlYXNvbnMpOwogCkBAIC0yOTIsNiArMjkzLDcgQEAgcHVibGljOgogICAgIGJvb2wg
cGVyZm9ybWluZ1BhaW50SW52YWxpZGF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9wYWludEludmFs
aWRhdGlvblJlYXNvbnMgIT0gUGFpbnRJbnZhbGlkYXRpb25SZWFzb25zOjpOb25lOyB9CiAgICAg
Ym9vbCBpbnZhbGlkYXRpbmdDb250cm9sVGludHMoKSBjb25zdCB7IHJldHVybiBtX3BhaW50SW52
YWxpZGF0aW9uUmVhc29ucyA9PSBQYWludEludmFsaWRhdGlvblJlYXNvbnM6OkludmFsaWRhdGlu
Z0NvbnRyb2xUaW50czsgfQogICAgIGJvb2wgaW52YWxpZGF0aW5nSW1hZ2VzV2l0aEFzeW5jRGVj
b2RlcygpIGNvbnN0IHsgcmV0dXJuIG1fcGFpbnRJbnZhbGlkYXRpb25SZWFzb25zID09IFBhaW50
SW52YWxpZGF0aW9uUmVhc29uczo6SW52YWxpZGF0aW5nSW1hZ2VzV2l0aEFzeW5jRGVjb2Rlczsg
fQorICAgIGJvb2wgZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkgY29uc3QgeyByZXR1cm4gbV9w
YWludEludmFsaWRhdGlvblJlYXNvbnMgPT0gUGFpbnRJbnZhbGlkYXRpb25SZWFzb25zOjpEZXRl
Y3RpbmdDb250ZW50ZnVsUGFpbnQ7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U3Ry
b2tlVGhpY2tuZXNzKGZsb2F0KTsKICAgICBmbG9hdCBzdHJva2VUaGlja25lc3MoKSBjb25zdCB7
IHJldHVybiBtX3N0YXRlLnN0cm9rZVRoaWNrbmVzczsgfQpAQCAtNTEzLDYgKzUxNSw5IEBAIHB1
YmxpYzoKICAgICBGbG9hdFNpemUgc2NhbGVGYWN0b3IoKSBjb25zdDsKICAgICBGbG9hdFNpemUg
c2NhbGVGYWN0b3JGb3JEcmF3aW5nKGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEZs
b2F0UmVjdCYgc3JjUmVjdCkgY29uc3Q7CiAKKyAgICB2b2lkIHNldENvbnRlbnRmdWxQYWludERl
dGVjdGVkKCkgeyBtX2NvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQgPSB0cnVlOyB9CisgICAgYm9vbCBj
b250ZW5mdWxQYWludERldGVjdGVkKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW5mdWxQYWludERl
dGVjdGVkOyB9CisKICNpZiBPUyhXSU5ET1dTKQogICAgIEhEQyBnZXRXaW5kb3dzQ29udGV4dChj
b25zdCBJbnRSZWN0JiwgYm9vbCBzdXBwb3J0QWxwaGFCbGVuZCk7IC8vIFRoZSBwYXNzZWQgaW4g
cmVjdCBpcyB1c2VkIHRvIGNyZWF0ZSBhIGJpdG1hcCBmb3IgY29tcG9zaXRpbmcgaW5zaWRlIHRy
YW5zcGFyZW5jeSBsYXllcnMuCiAgICAgdm9pZCByZWxlYXNlV2luZG93c0NvbnRleHQoSERDLCBj
b25zdCBJbnRSZWN0JiwgYm9vbCBzdXBwb3J0QWxwaGFCbGVuZCk7IC8vIFRoZSBwYXNzZWQgaW4g
SERDIHNob3VsZCBiZSB0aGUgb25lIGhhbmRlZCBiYWNrIGJ5IGdldFdpbmRvd3NDb250ZXh0LgpA
QCAtNjYxLDYgKzY2Niw3IEBAIHByaXZhdGU6CiAKICAgICBjb25zdCBQYWludEludmFsaWRhdGlv
blJlYXNvbnMgbV9wYWludEludmFsaWRhdGlvblJlYXNvbnMgeyBQYWludEludmFsaWRhdGlvblJl
YXNvbnM6Ok5vbmUgfTsKICAgICB1bnNpZ25lZCBtX3RyYW5zcGFyZW5jeUNvdW50IHsgMCB9Owor
ICAgIGJvb2wgbV9jb250ZW5mdWxQYWludERldGVjdGVkIHsgZmFsc2UgfTsKIH07CiAKIGNsYXNz
IEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgewpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAkobm9uZXhpc3RlbnQpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBX
aWtpTWVkaWEgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIgorCisjaW5jbHVkZSAiRnJhbWVW
aWV3LmgiCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworYm9vbCBDb250ZW50ZnVsUGFpbnRDaGVja2VyOjpxdWFsaWZpZXNGb3JDb250ZW50ZnVs
UGFpbnQoRnJhbWVWaWV3JiBmcmFtZVZpZXcpCit7CisgICAgQVNTRVJUKCFmcmFtZVZpZXcubmVl
ZHNMYXlvdXQoKSk7CisgICAgQVNTRVJUKGZyYW1lVmlldy5yZW5kZXJWaWV3KCkpOworCisgICAg
YXV0byBvbGRQYWludEJlaGF2aW9yID0gZnJhbWVWaWV3LnBhaW50QmVoYXZpb3IoKTsKKyAgICBh
dXRvIG9sZEVudGlyZUNvbnRlbnRzID0gZnJhbWVWaWV3LnBhaW50c0VudGlyZUNvbnRlbnRzKCk7
CisKKyAgICBmcmFtZVZpZXcuc2V0UGFpbnRCZWhhdmlvcihQYWludEJlaGF2aW9yOjpGbGF0dGVu
Q29tcG9zaXRpbmdMYXllcnMpOworICAgIGZyYW1lVmlldy5zZXRQYWludHNFbnRpcmVDb250ZW50
cyh0cnVlKTsKKworICAgIEdyYXBoaWNzQ29udGV4dCBjaGVja2VyQ29udGV4dChHcmFwaGljc0Nv
bnRleHQ6OlBhaW50SW52YWxpZGF0aW9uUmVhc29uczo6RGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50
KTsKKyAgICBmcmFtZVZpZXcucGFpbnQoY2hlY2tlckNvbnRleHQsIGZyYW1lVmlldy5yZW5kZXJW
aWV3KCktPmRvY3VtZW50UmVjdCgpKTsKKworICAgIGZyYW1lVmlldy5zZXRQYWludHNFbnRpcmVD
b250ZW50cyhvbGRFbnRpcmVDb250ZW50cyk7CisgICAgZnJhbWVWaWV3LnNldFBhaW50QmVoYXZp
b3Iob2xkUGFpbnRCZWhhdmlvcik7CisKKyAgICByZXR1cm4gY2hlY2tlckNvbnRleHQuY29udGVu
ZnVsUGFpbnREZXRlY3RlZCgpOworfQorCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmgJKG5vbmV4aXN0ZW50KQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRp
YSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIEZyYW1lVmlldzsKKworY2xhc3MgQ29udGVudGZ1bFBhaW50Q2hl
Y2tlciB7CitwdWJsaWM6CisgICAgc3RhdGljIGJvb2wgcXVhbGlmaWVzRm9yQ29udGVudGZ1bFBh
aW50KEZyYW1lVmlldyYpOworfTsKKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCShyZXZpc2lvbiAyNjA2MzkpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC03MTYsNyArNzE2LDggQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFp
bnRGaWxsTGF5ZQogICAgIEJhY2tncm91bmRCbGVlZEF2b2lkYW5jZSBibGVlZEF2b2lkYW5jZSwg
SW5saW5lRmxvd0JveCogYm94LCBjb25zdCBMYXlvdXRTaXplJiBib3hTaXplLCBDb21wb3NpdGVP
cGVyYXRvciBvcCwgUmVuZGVyRWxlbWVudCogYmFja2dyb3VuZE9iamVjdCwgQmFzZUJhY2tncm91
bmRDb2xvclVzYWdlIGJhc2VCZ0NvbG9yVXNhZ2UpCiB7CiAgICAgR3JhcGhpY3NDb250ZXh0JiBj
b250ZXh0ID0gcGFpbnRJbmZvLmNvbnRleHQoKTsKLSAgICBpZiAoY29udGV4dC5wYWludGluZ0Rp
c2FibGVkKCkgfHwgcmVjdC5pc0VtcHR5KCkpCisKKyAgICBpZiAoKGNvbnRleHQucGFpbnRpbmdE
aXNhYmxlZCgpICYmICFjb250ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpKSB8fCByZWN0
LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYm9vbCBpbmNsdWRlTGVmdEVkZ2Ug
PSBib3ggPyBib3gtPmluY2x1ZGVMb2dpY2FsTGVmdEVkZ2UoKSA6IHRydWU7CkBAIC03MzEsNiAr
NzMyLDE0IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50RmlsbExheWUKICAgICBT
dHlsZUltYWdlKiBiZ0ltYWdlID0gYmdMYXllci5pbWFnZSgpOwogICAgIGJvb2wgc2hvdWxkUGFp
bnRCYWNrZ3JvdW5kSW1hZ2UgPSBiZ0ltYWdlICYmIGJnSW1hZ2UtPmNhblJlbmRlcih0aGlzLCBz
dHlsZSgpLmVmZmVjdGl2ZVpvb20oKSk7CiAgICAgCisgICAgaWYgKGNvbnRleHQuZGV0ZWN0aW5n
Q29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAgaWYgKCFjb250ZXh0LmNvbnRlbmZ1bFBhaW50
RGV0ZWN0ZWQoKSAmJiBzaG91bGRQYWludEJhY2tncm91bmRJbWFnZSAmJiBiZ0ltYWdlLT5jYWNo
ZWRJbWFnZSgpKSB7CisgICAgICAgICAgICBpZiAoc3R5bGUoKS5iYWNrZ3JvdW5kU2l6ZVR5cGUo
KSAhPSBGaWxsU2l6ZVR5cGU6OlNpemUgfHwgIXN0eWxlKCkuYmFja2dyb3VuZFNpemVMZW5ndGgo
KS5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgY29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnRE
ZXRlY3RlZCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorCiAgICAg
aWYgKGNvbnRleHQuaW52YWxpZGF0aW5nSW1hZ2VzV2l0aEFzeW5jRGVjb2RlcygpKSB7CiAgICAg
ICAgIGlmIChzaG91bGRQYWludEJhY2tncm91bmRJbWFnZSAmJiBiZ0ltYWdlLT5jYWNoZWRJbWFn
ZSgpLT5pc0NsaWVudFdhaXRpbmdGb3JBc3luY0RlY29kaW5nKCp0aGlzKSkKICAgICAgICAgICAg
IGJnSW1hZ2UtPmNhY2hlZEltYWdlKCktPnJlbW92ZUFsbENsaWVudHNXYWl0aW5nRm9yQXN5bmNE
ZWNvZGluZygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52
YXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1M
Q2FudmFzLmNwcAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckhUTUxDYW52YXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw2ICs3MSwxMyBAQCB2
b2lkIFJlbmRlckhUTUxDYW52YXM6OnBhaW50UmVwbGFjZWQoUGFpCiAgICAgR3JhcGhpY3NDb250
ZXh0JiBjb250ZXh0ID0gcGFpbnRJbmZvLmNvbnRleHQoKTsKIAogICAgIExheW91dFJlY3QgY29u
dGVudEJveFJlY3QgPSB0aGlzLT5jb250ZW50Qm94UmVjdCgpOworCisgICAgaWYgKGNvbnRleHQu
ZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAgaWYgKCFjb250ZXh0LmNvbnRl
bmZ1bFBhaW50RGV0ZWN0ZWQoKSAmJiBjYW52YXNFbGVtZW50KCkucmVuZGVyaW5nQ29udGV4dCgp
KQorICAgICAgICAgICAgY29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCiAgICAgY29udGVudEJveFJlY3QubW92ZUJ5KHBhaW50T2Zm
c2V0KTsKICAgICBMYXlvdXRSZWN0IHJlcGxhY2VkQ29udGVudFJlY3QgPSB0aGlzLT5yZXBsYWNl
ZENvbnRlbnRSZWN0KCk7CiAgICAgcmVwbGFjZWRDb250ZW50UmVjdC5tb3ZlQnkocGFpbnRPZmZz
ZXQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCShyZXZp
c2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00OTIsNiArNDkyLDEzIEBAIHZvaWQgUmVuZGVySW1hZ2U6OnBh
aW50UmVwbGFjZWQoUGFpbnRJbmYKICAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciA9IGRvY3Vt
ZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKTsKICAgICBMYXlvdXRVbml0IG1pc3NpbmdJbWFnZUJv
cmRlcldpZHRoKDEgLyBkZXZpY2VTY2FsZUZhY3Rvcik7CiAKKyAgICBpZiAoY29udGV4dC5kZXRl
Y3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgeworICAgICAgICBpZiAoIWNvbnRleHQuY29udGVuZnVs
UGFpbnREZXRlY3RlZCgpICYmICFpc0RlZmVycmVkSW1hZ2UoZWxlbWVudCgpKSAmJiBjYWNoZWRJ
bWFnZSgpICYmIGNhY2hlZEltYWdlKCktPmNhblJlbmRlcih0aGlzLCBkZXZpY2VTY2FsZUZhY3Rv
cikgJiYgIWNvbnRlbnRTaXplLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIGNvbnRleHQuc2V0Q29u
dGVudGZ1bFBhaW50RGV0ZWN0ZWQoKTsKKworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAg
aWYgKCFpbWFnZVJlc291cmNlKCkuY2FjaGVkSW1hZ2UoKSB8fCBpc0RlZmVycmVkSW1hZ2UoZWxl
bWVudCgpKSB8fCBzaG91bGREaXNwbGF5QnJva2VuSW1hZ2VJY29uKCkpIHsKICAgICAgICAgaWYg
KHBhaW50SW5mby5waGFzZSA9PSBQYWludFBoYXNlOjpTZWxlY3Rpb24pCiAgICAgICAgICAgICBy
ZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAJKHJl
dmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1NDAsNiArNDU0MCw5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OnBhaW50TGF5ZXJDb250ZW50cyhHcmEKIHsKICAgICBBU1NFUlQoaXNTZWxmUGFpbnRpbmdMYXll
cigpIHx8IGhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCgpKTsKIAorICAgIGlmIChjb250
ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpICYmIGNvbnRleHQuY29udGVuZnVsUGFpbnRE
ZXRlY3RlZCgpKQorICAgICAgICByZXR1cm47CisKICAgICBhdXRvIGxvY2FsUGFpbnRGbGFncyA9
IHBhaW50RmxhZ3MgLSBQYWludExheWVyQXBwbGllZFRyYW5zZm9ybTsKICAgICBib29sIGhhdmVU
cmFuc3BhcmVuY3kgPSBsb2NhbFBhaW50RmxhZ3MuY29udGFpbnMoUGFpbnRMYXllckhhdmVUcmFu
c3BhcmVuY3kpOwogICAgIGJvb2wgaXNTZWxmUGFpbnRpbmdMYXllciA9IHRoaXMtPmlzU2VsZlBh
aW50aW5nTGF5ZXIoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRl
by5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVv
LmNwcAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZGVvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA0LDYgKzIwNCwxMiBAQCB2b2lkIFJlbmRl
clZpZGVvOjpwYWludFJlcGxhY2VkKFBhaW50SW5mCiAgICAgTGF5b3V0UmVjdCBjb250ZW50UmVj
dCA9IGNvbnRlbnRCb3hSZWN0KCk7CiAgICAgY29udGVudFJlY3QubW92ZUJ5KHBhaW50T2Zmc2V0
KTsKICAgICBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQgPSBwYWludEluZm8uY29udGV4dCgpOwor
CisgICAgaWYgKGNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAg
Y29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCiAgICAgYm9vbCBjbGlwID0gIWNvbnRlbnRSZWN0LmNvbnRhaW5zKHJlY3QpOwogICAg
IEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihjb250ZXh0LCBjbGlwKTsKICAg
ICBpZiAoY2xpcCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWludGVyLmNw
cAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWlu
dGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkRpc3Bs
YXlSdW4uaCIKICNpbmNsdWRlICJGaWx0ZXJPcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAiR3JhcGhp
Y3NDb250ZXh0LmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIklu
bGluZVRleHRCb3guaCIKICNpbmNsdWRlICJSZW5kZXJDb21iaW5lVGV4dC5oIgogI2luY2x1ZGUg
IlJlbmRlckxheWVyLmgiCkBAIC0xMDUsNiArMTA2LDEzIEBAIHZvaWQgVGV4dFBhaW50ZXI6OnBh
aW50VGV4dE9yRW1waGFzaXNNYXIKICAgICBmbG9hdCBlbXBoYXNpc01hcmtPZmZzZXQsIGNvbnN0
IEZsb2F0UG9pbnQmIHRleHRPcmlnaW4sIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBl
bmRPZmZzZXQpCiB7CiAgICAgQVNTRVJUKHN0YXJ0T2Zmc2V0IDwgZW5kT2Zmc2V0KTsKKworICAg
IGlmIChtX2NvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAgaWYg
KCF0ZXh0UnVuLnRleHQoKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkuaXNBbGxTcGVjaWFsQ2hh
cmFjdGVyczxpc0hUTUxTcGFjZT4oKSkKKyAgICAgICAgICAgIG1fY29udGV4dC5zZXRDb250ZW50
ZnVsUGFpbnREZXRlY3RlZCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKCFl
bXBoYXNpc01hcmsuaXNFbXB0eSgpKQogICAgICAgICBtX2NvbnRleHQuZHJhd0VtcGhhc2lzTWFy
a3MoZm9udCwgdGV4dFJ1biwgZW1waGFzaXNNYXJrLCB0ZXh0T3JpZ2luICsgRmxvYXRTaXplKDAs
IGVtcGhhc2lzTWFya09mZnNldCksIHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpOwogICAgIGVsc2Ug
aWYgKHN0YXJ0T2Zmc2V0IHx8IGVuZE9mZnNldCA8IHRleHRSdW4ubGVuZ3RoKCkgfHwgIW1fZ2x5
cGhEaXNwbGF5TGlzdCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHUm9vdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSb290LmNwcAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjks
NyBAQAogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJMYXlvdXRSZXBhaW50
ZXIuaCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUmVuZGVyQ2hpbGRJdGVyYXRvci5o
IgogI2luY2x1ZGUgIlJlbmRlckl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIK
ICNpbmNsdWRlICJSZW5kZXJMYXlvdXRTdGF0ZS5oIgpAQCAtMjExLDcgKzIxMiw3IEBAIHZvaWQg
UmVuZGVyU1ZHUm9vdDo6cGFpbnRSZXBsYWNlZChQYWludEkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgLy8gRG9uJ3QgcGFpbnQsIGlmIHRoZSBjb250ZXh0IGV4cGxpY2l0bHkgZGlzYWJsZWQgaXQu
Ci0gICAgaWYgKHBhaW50SW5mby5jb250ZXh0KCkucGFpbnRpbmdEaXNhYmxlZCgpKQorICAgIGlm
IChwYWludEluZm8uY29udGV4dCgpLnBhaW50aW5nRGlzYWJsZWQoKSAmJiAhcGFpbnRJbmZvLmNv
bnRleHQoKS5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgLy8gU1ZHIG91dGxpbmVzIGFyZSBwYWludGVkIGR1cmluZyBQYWludFBoYXNlOjpGb3JlZ3Jv
dW5kLgpAQCAtMjIzLDYgKzIyNCwxNyBAQCB2b2lkIFJlbmRlclNWR1Jvb3Q6OnBhaW50UmVwbGFj
ZWQoUGFpbnRJCiAgICAgaWYgKHN2Z1NWR0VsZW1lbnQoKS5oYXNFbXB0eVZpZXdCb3goKSkKICAg
ICAgICAgcmV0dXJuOwogCisgICAgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0ID0gcGFpbnRJbmZv
LmNvbnRleHQoKTsKKyAgICBpZiAoY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkg
eworICAgICAgICBmb3IgKGF1dG8mIGN1cnJlbnQgOiBjaGlsZHJlbk9mVHlwZTxSZW5kZXJPYmpl
Y3Q+KCp0aGlzKSkgeworICAgICAgICAgICAgaWYgKCFjdXJyZW50LmlzU1ZHSGlkZGVuQ29udGFp
bmVyKCkpIHsKKyAgICAgICAgICAgICAgICBjb250ZXh0LnNldENvbnRlbnRmdWxQYWludERldGVj
dGVkKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICAvLyBEb24ndCBwYWludCBpZiB3ZSBkb24n
dCBoYXZlIGtpZHMsIGV4Y2VwdCBpZiB3ZSBoYXZlIGZpbHRlcnMgd2Ugc2hvdWxkIHBhaW50IHRo
b3NlLgogICAgIGlmICghZmlyc3RDaGlsZCgpKSB7CiAgICAgICAgIGF1dG8qIHJlc291cmNlcyA9
IFNWR1Jlc291cmNlc0NhY2hlOjpjYWNoZWRSZXNvdXJjZXNGb3JSZW5kZXJlcigqdGhpcyk7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRo
YWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29u
dGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBhIHJ1bnRpbWUgZmxhZyBmb3IgcGFpbnQtdGltaW5nIChwYWludFRpbWluZ0Vu
YWJsZWQpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJl
bmNlc1NldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0UGFp
bnRUaW1pbmdFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
c1JlZlByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0
TWFuYWdlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbjo6dXBkYXRlUHJlZmVyZW5jZXNTdG9yZSk6CisKIDIwMjAtMDQtMjMgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQm91bmNlIGRp
c3BsYXlXYXNSZWZyZXNoZWQoKSB2aWEgRXZlbnREaXNwYXRjaGVyCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTgy
NSw2ICs4MjUsMTMgQEAgTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ6CiAgIGh1bWFuUmVhZGFi
bGVEZXNjcmlwdGlvbjogIlVzZSBtb2Rlcm4gbWVkaWEgY29udHJvbHMgbG9vayIKICAgd2ViY29y
ZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAorUGFpbnRUaW1pbmdFbmFibGVkOgor
ICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6
ICJQYWludCBUaW1pbmciCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQYWlu
dFRpbWluZyBBUEkiCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisK
IFJlc291cmNlVGltaW5nRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRy
dWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuY3BwCShyZXZpc2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgyMCw2ICsxODIwLDE2IEBA
IGJvb2wgV0tQcmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFcKICAgICByZXR1cm4gdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+dXNlclRpbWluZ0VuYWJsZWQoKTsKIH0KIAordm9pZCBXS1By
ZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYsIGJvb2wgZmxhZykKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRQYWlu
dFRpbWluZ0VuYWJsZWQoZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFBhaW50VGlt
aW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVy
biB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5wYWludFRpbWluZ0VuYWJsZWQoKTsKK30KKwogdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoZmxhZyk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgJKHJl
dmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXNSZWZQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwMCw2ICs1MDAsMTAgQEAgV0tf
RVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbgogV0tfRVhQT1JUIGJvb2wgV0tQ
cmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCiAvLyBE
ZWZhdWx0cyB0byBmYWxzZQorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFBhaW50VGlt
aW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOworV0tfRVhQT1JUIGJvb2wg
V0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKKwor
Ly8gRGVmYXVsdHMgdG8gZmFsc2UKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRSZXNv
dXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9S
VCBib29sIFdLUHJlZmVyZW5jZXNHZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZik7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAJKHJldmlz
aW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIyLDYgKzEyMiw3
IEBAIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGEKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENhY2hlQVBJRW5hYmxlZChzdG9y
ZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNhY2hlQVBJRW5hYmxlZEtl
eSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRG
ZXRjaEFQSUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
OjpmZXRjaEFQSUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp1c2VyVGltaW5nRW5hYmxlZEtleSgpKSk7CisgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJs
ZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYWludFRpbWlu
Z0VuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6cmVzb3VyY2VUaW1pbmdFbmFibGVkS2V5KCkpKTsKICAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJS2VlcEFsaXZl
RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZldGNo
QVBJS2VlcEFsaXZlRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVzdHJpY3RlZEhUVFBSZXNwb25z
ZUFjY2Vzc0tleSgpKSk7CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjA2MzkpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxu
b2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1
bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBwcmVmZXJlbmNlIGtleSBmb3IgcGFpbnQtdGltaW5nLgorCisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9s
bGVyOjpyZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKwogMjAyMC0wNC0yMyAg
WXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIHN0cmVzcy9lbnN1
cmUtY3Jhc2guanMgc2hvdWxkbid0IHNwZXcgc3R1ZmYgb250byBteSBzY3JlZW4KSW5kZXg6IFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyNjA2Mzkp
CisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTM2LDYgKzkzNiw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVy
ZW5jZXNUb0MKICAgICBXS1ByZWZlcmVuY2VzU2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKHBy
ZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFi
bGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWluZ0Vu
YWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOworICAgIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWlu
Z0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVBy
ZWxvYWRpbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0
TWVkaWFQbGF5YmFja0FsbG93c0lubGluZShwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVm
ZXJlbmNlc1NldElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRl
KHByZWZlcmVuY2VzLCBmYWxzZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjA2MzkpCisrKyBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0NyBAQAorMjAyMC0w
NC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVt
ZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3RzIGZvciBzb21lIGZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQgKEZDUCkgdXNlLWNhc2VzLgorICAgICAgICBFbnN1cmUgdGhhdCBGQ1Agd29y
a3Mgd2VsbCB3aXRoIFZORSAoZmlyc3QgcGFpbnQgZGVsYXkgdW50aWwgY29udGVudHMgYXJlIHZp
c3VhbGx5IG5vbi1lbXB0eSkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICAgICAgICAgRGlzYWJsZSBwYWludCB0aW1pbmcgZm9yIFdlYktpdDEuCisKKyAgICAgICAg
KiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbDogQWRkZWQu
CisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpz
OiBBZGRlZC4KKyAgICAgICAgICAgICAgICBUZXN0IGV4aXN0ZW5jZSBvZiBwYWludCB0aW1pbmcg
QVBJIG9uIHRoZSB3aW5kb3cgb2JqZWN0LgorCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL2Zp
cnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LXdp
dGgtd29ya2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBp
L2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtd2l0aC13b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbDogQWRkZWQuCisg
ICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbDogQWRkZWQuCisg
ICAgICAgICAgICAgICAgVGVzdCB0aGF0IEZDUCBpcyBub3QgYXZhaWxhYmxlIGZvciBjcm9zcy1v
cmlnaW4gZnJhbWVzIGFuZCB3b3JrZXJzLgorCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Bl
cmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmly
c3QtY29udGVudGZ1bC1wYWludC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1h
cGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qczogQWRkZWQuCisgICAgICAgIChhc3luYyB3
YWl0Rm9yRkNQKToKKyAgICAgICAgICAgICAgICBUZXN0IHRoYXQgcGVyZm9ybWFuY2Ugb2JzZXJ2
ZXJzIGFyZSBjYWxsZWQgZm9yIEZDUC4KKworICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFu
Y2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHkt
Zm9yLXN0eWxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2Uv
cGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9y
LXN0eWxlLWV4cGVjdGVkLnR4dDogQWRkZWQKKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1h
bmNlL3Jlc291cmNlcy9zbG93c3R5bGUucGhwOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zdHlsZS5jc3M6ICBBZGRlZC4KKyAgICAgICAgICAgICAg
ICBJZiBhIHBlbmRpbmcgc3R5bGVzaGVldCBibG9ja3MgcGFpbnRpbmcsIG1ha2Ugc3VyZSBGQ1Ag
aXMgcmVwb3J0ZWQgb25seSBhZnRlciBzdHlsZXNoZWV0IGhhcyBsb2FkZWQuCisKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFu
Y2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHkt
Zm9yLW51bS1jaGFycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
cGVyZm9ybWFuY2UvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5j
ZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2Vz
L3Nsb3dzY3JpcHQucGhwOiBBZGRlZC4KKyAgICAgICAgICAgICAgICBJZiBWTkUgZHVlIHRvIG51
bWJlciBvZiBjaGFyYWN0ZXJzIGJsb2NrcyBwYWludGluZywgbWFrZSBzdXJlIEZDUCBpcyByZXBv
cnRlZCBvbmx5IGFmdGVyIHBhaW50aW5nIGlzIHVuYmxvY2tlZC4KKwogMjAyMC0wNC0yNCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgZ2V0RGlzcGxheU1lZGlh
IGlzIG5vdCByZXNwZWN0aW5nIGFzcGVjdCByYXRpbyB3aXRoIG1heCBjb25zdHJhaW50cwpJbmRl
eDogTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyNjA2MzkpCisrKyBMYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC0yMDgsNiArMjA4LDkgQEAgZmFzdC92aXN1
YWwtdmlld3BvcnQvcnViYmVyYmFuZGluZy12aWV3cAogIyBEYXRhRGV0ZWN0b3JzIHRlc3RzIG9u
bHkgbWFrZSBzZW5zZSBvbiBNYWMKIGZhc3QvZXZlbnRzL2RvLW5vdC1kcmFnLWFuZC1kcm9wLWRh
dGEtZGV0ZWN0b3JzLWxpbmsuaHRtbCBbIFNraXAgXQogCisjIEEgcm91bmRpbmcgZXJyb3IgbWF5
IGNhdXNlIDkwZGVnIDNkLXJvdGF0ZWQgZWxlbWVudHMgdG8gY291bnQgYXMgcGFpbnRlZAoraW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWlu
dmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCisKIHdlYmtpdC5vcmcvYi8yMDI2MTcg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9waWN0dXJlLWluLXBpY3R1cmUgWyBTa2lw
IF0KIAogIyBQaVAgQVBJIHRlc3RzIGFyZSBvbmx5IHJlbGV2YW50IG9uIG1hYyBhbmQgaVBhZApJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWlu
dC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNl
L3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZv
ci1udW0tY2hhcnMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12
aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzIEBACitQQVNTIHBhaW50RW50cnkuc3RhcnRUaW1lID4gdGltZXN0YW1w
c1tleHBlY3RlZEl0ZXJhdGlvbnNdIGlzIHRydWUKK1BBU1MgcGFpbnRFbnRyeS5zdGFydFRpbWUg
PCB0aW1lc3RhbXBzW2V4cGVjdGVkSXRlcmF0aW9ucyArIDJdIGlzIHRydWUKKwpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmct
ZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWlu
dC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJm
b3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVt
LWNoYXJzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3MyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCkKKyAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICB2YXIgc3R5
bGVFbnRyeSA9IG51bGwKKyAgICB2YXIgcGFpbnRFbnRyeSA9IG51bGwKKyAgICB2YXIgdGltZXN0
YW1wcyA9IFtdCisgICAgdmFyIGNoYXJzUGVySXRlcmF0aW9uID0gODAKKyAgICB2YXIgY2hhclRo
cmVzaG9sZCA9IDIwMAorICAgIHZhciBleHBlY3RlZEl0ZXJhdGlvbnMgPSBNYXRoLmNlaWwoY2hh
clRocmVzaG9sZCAvIGNoYXJzUGVySXRlcmF0aW9uKQorCisgICAgZnVuY3Rpb24gc2xvd1N0cmlu
ZyhzdHIsIGRlbGF5KSB7CisgICAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3NjcmlwdCcpCisgICAgICAgIGNvbnN0IHNvdXJjZSA9IGBkb2N1bWVudC53cml0ZSgn
JHtzdHJ9Jyk7IHRpbWVzdGFtcHMucHVzaCgke3BlcmZvcm1hbmNlLm5vdygpfSk7IGNoZWNrKCk7
YAorICAgICAgICBzY3JpcHQuc3JjID0gYC4vcmVzb3VyY2VzL3Nsb3dzY3JpcHQucGhwP2NhY2hl
QnVzdGVyPSR7cGVyZm9ybWFuY2Uubm93KCl9JmRlbGF5PSR7ZGVsYXl9JnNjcmlwdD0ke3NvdXJj
ZX1gCisgICAgICAgIGRvY3VtZW50LndyaXRlKHNjcmlwdC5vdXRlckhUTUwpCisgICAgfQorCisg
ICAgZnVuY3Rpb24gY2hlY2soKSB7CisgICAgICAgIGlmICh0aW1lc3RhbXBzLmxlbmd0aCA8IGV4
cGVjdGVkSXRlcmF0aW9ucyArIDMgfHwgIXBhaW50RW50cnkpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAnJworCisgICAgICAgIHNob3Vs
ZEJlVHJ1ZSgicGFpbnRFbnRyeS5zdGFydFRpbWUgPiB0aW1lc3RhbXBzW2V4cGVjdGVkSXRlcmF0
aW9uc10iKQorICAgICAgICBzaG91bGRCZVRydWUoInBhaW50RW50cnkuc3RhcnRUaW1lIDwgdGlt
ZXN0YW1wc1tleHBlY3RlZEl0ZXJhdGlvbnMgKyAyXSIpCisgICAgICAgIAorICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKQor
ICAgIH0KKworICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlz
dCA9PiB7CisgICAgICAgIHBhaW50RW50cnkgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBl
KCdwYWludCcpWzBdCisgICAgICAgIGlmIChwYWludEVudHJ5KQorICAgICAgICAgICAgY2hlY2so
KQorICAgIH0pOworICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsicGFpbnQiXX0p
CisKKyAgICBmdW5jdGlvbiBuZXh0KCkgeworICAgICAgICBzbG93U3RyaW5nKCdcdCAnICsgQXJy
YXkoY2hhcnNQZXJJdGVyYXRpb24gLyAyKS5maWxsKCcgMCBcdCBBJykuam9pbignJykgKyAiICAg
XG5cdCIsIDAuMywgY2hhcnNQZXJJdGVyYXRpb24pCisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgp
PC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQo
KTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0
KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4
dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5l
eHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5u
ZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+
bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0
Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlw
dD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3Jt
YW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9y
bWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1w
dHktZm9yLXN0eWxlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXIt
dmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyIEBACitQQVNTIHBhaW50RW50cnkuc3RhcnRUaW1lID49IHN0eWxlRW50cnku
c3RhcnRUaW1lICsgc3R5bGVFbnRyeS5kdXJhdGlvbiBpcyB0cnVlCitURVhUCkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1m
Y3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGlt
aW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1w
YWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKQorICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKKyAgICB9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHZhciBzdHlsZUVudHJ5ID0gbnVs
bDsKKyAgICB2YXIgcGFpbnRFbnRyeSA9IG51bGw7CisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+IHsKKyAgICAgICAgY29uc3QgcGFpbnRFbnRyaWVz
ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncGFpbnQnKTsKKyAgICAgICAgaWYgKHBh
aW50RW50cmllcy5sZW5ndGgpCisgICAgICAgICAgICBwYWludEVudHJ5ID0gcGFpbnRFbnRyaWVz
WzBdOworCisgICAgICAgIGNvbnN0IHJlc291cmNlRW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeVR5cGUoJ3Jlc291cmNlJykuZmlsdGVyKHIgPT4gci5uYW1lLmluY2x1ZGVzKCdzbG93
c3R5bGUucGhwJykpOworICAgICAgICBpZiAocmVzb3VyY2VFbnRyaWVzLmxlbmd0aCkKKyAgICAg
ICAgICAgIHN0eWxlRW50cnkgPSByZXNvdXJjZUVudHJpZXNbMF07CisKKyAgICAgICAgaWYgKCFz
dHlsZUVudHJ5IHx8ICFwYWludEVudHJ5KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAg
IHNob3VsZEJlVHJ1ZSgicGFpbnRFbnRyeS5zdGFydFRpbWUgPj0gc3R5bGVFbnRyeS5zdGFydFRp
bWUgKyBzdHlsZUVudHJ5LmR1cmF0aW9uIik7CisgICAgICAgICAgICAgICAgCisgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OworICAgIH0pOworICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsicGFpbnQiLCAi
cmVzb3VyY2UiXX0pOworPC9zY3JpcHQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4v
cmVzb3VyY2VzL3Nsb3dzdHlsZS5waHA/ZGVsYXk9MC41IiAvPgorPC9oZWFkPgorPGJvZHk+CitU
RVhUCis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZv
cm1hbmNlL3Jlc291cmNlcy9zbG93c2NyaXB0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c2NyaXB0LnBocAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9z
bG93c2NyaXB0LnBocAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkgQEAKKzw/cGhwCitpZiAo
aXNzZXQoJF9HRVRbImRlbGF5Il0pKQorICAgIHNsZWVwKCRfR0VUWyJkZWxheSJdKTsKK2hlYWRl
cignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZScpOworaGVhZGVyKCdD
b250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdCcpOworCitlY2hvKCRfR0VUWyJzY3JpcHQiXSkK
Kz8+CisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2Vz
L3Nsb3dzdHlsZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJm
b3JtYW5jZS9yZXNvdXJjZXMvc2xvd3N0eWxlLnBocAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c3R5bGUucGhwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNiBAQAorPD9waHAKK2lmIChpc3NldCgkX0dFVFsiZGVsYXki
XSkpCisgICAgc2xlZXAoJF9HRVRbImRlbGF5Il0pOworaGVhZGVyKCdDYWNoZS1Db250cm9sOiBu
by1jYWNoZSwgbXVzdC1yZXZhbGlkYXRlJyk7CitoZWFkZXIoJ0xvY2F0aW9uOiBzdHlsZS5jc3Mn
KTsKKz8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNl
cy9zdHlsZS5jc3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3Jt
YW5jZS9yZXNvdXJjZXMvc3R5bGUuY3NzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3N0eWxlLmNzcwkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMgQEAKK2JvZHkgeworICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuCit9Owpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwkocmV2aXNpb24gMjYwNjM5KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDg1IEBACisyMDIwLTA0LTIxICBOb2FtIFJv
c2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJz
dCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW1wb3J0ZWQgdzNjIHRlc3RzIGZvciBmaXJzdCBjb250ZW50ZnVsIHBhaW50
IGFuZCB1cGRhdGVkIHRlc3QgaGFybmVzcy4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQt
ZXhwZWN0YXRpb25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dy
b3VuZC1zaXplLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJn
LWltYWdlLXNldC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVz
Y2VuZGFudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFu
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLTNkLXJvdGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWlu
dmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNp
dHktZGVzY2VuZGFudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9m
LWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5z
bGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LWRpc3BsYXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtaW1hZ2UuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtdGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LXZpc2liaWxpdHkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3Zn
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFw
aGljLXBzZXVkby5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZp
ZGVvLWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZp
ZGVvLXBvc3Rlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hp
dGVzcGFjZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRs
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBu
ZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNv
dXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy91dGlscy5qczogQWRkZWQuCisgICAgICAgICh3YWl0Rm9yQW5pbWF0aW9uRnJhbWVz
KToKKyAgICAgICAgKGFzeW5jIGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAg
ICAoYXN5bmMgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQucmV0dXJuLm5ldy5Qcm9taXNlKToK
KyAgICAgICAgKGFzeW5jIGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKGFz
eW5jIHRlc3RfZmNwKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzOgorICAgICAgICAocHJvbWlzZV9yZWplY3RzX2pzKToKKyAgICAgICAgKHBy
b21pc2VfcmVqZWN0c19kb20pOgorICAgICAgICAocHJvbWlzZV9yZWplY3RzX2V4YWN0bHkpOgor
ICAgICAgICAoZm9ybWF0X3ZhbHVlKToKKwogMjAyMC0wNC0yNCAgUm9iIEJ1aXMgIDxyYnVpc0Bp
Z2FsaWEuY29tPgogCiAgICAgICAgIEltcG9ydCBmZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L2ZldGNoLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1w
b3J0LWV4cGVjdGF0aW9ucy5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCShyZXZpc2lvbiAyNjA2Mzkp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlv
bnMuanNvbgkod29ya2luZyBjb3B5KQpAQCAtMTMsNiArMTMsMTEgQEAKICAgICAiY3NzL2dlb21l
dHJ5IjogImltcG9ydCIsIAogICAgICJjc3Mvc3VwcG9ydCI6ICJpbXBvcnQiLCAKICAgICAiY3Vz
dG9tLWVsZW1lbnRzIjogImltcG9ydCIsIAorICAgICJwYWludC10aW1pbmcvIjogImltcG9ydCIs
IAorICAgICJwYWludC10aW1pbmcvZmNwLW9ubHkiOiAiaW1wb3J0IiwgCisgICAgInBhaW50LXRp
bWluZy9yZXNvdXJjZXMiOiAiaW1wb3J0IiwgCisgICAgInBhaW50LXRpbWluZy9yZXNvdXJjZXMv
IjogImltcG9ydCIsIAorICAgICJyZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiOiAiaW1wb3J0Iiwg
CiAgICAgInNoYWRvdy1kb20iOiAiaW1wb3J0IiwgCiAgICAgInRvb2xzIjogImltcG9ydCIsIAog
ICAgICJ3ZWItYW5pbWF0aW9ucyI6ICJpbXBvcnQiLCAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNr
Z3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNr
Z3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
YWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQg
c2l6ZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gYmFja2dyb3VuZCBzaXplPC90aXRsZT4KKzxz
dHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAg
d2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgYmFja2dyb3Vu
ZC1zaXplOiAwIDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVk
IGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAg
YmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJt
YWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgc2l6ZS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyBkdWUgdG8gYmFja2dyb3VuZCBpbWFnZSBpbiBpbWFnZS1zZXQuIAorCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJn
LWltYWdlLXNldC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1z
ZXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRv
IGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFp
biB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9
CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0
LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAt
d2Via2l0LWltYWdlLXNldCh1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKSAxeCk7CisgICAg
ICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXNldCh1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMu
cG5nKSAxeCk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3Jp
cHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJh
Y2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxl
LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBmaXJlIGZvciBiYWNrZ3JvdW5kIGlt
YWdlIG9ubHkgd2hlbiB2aXNpYmxlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAv
KiBjb250ZW50ZnVsIGFuZCBwcmVGQ1AgY2xhc3NlcyBhcmUgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBz
Y3JpcHQuICovCisgICAgI21haW4ucHJlRkNQIHsKKyAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVu
OworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwsICAjbWFpbi5wcmVGQ1AgeworICAgICAg
ICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9
CisKKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsK
KyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0
aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0
ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dyb3VuZCBpbWFn
ZSBvbmx5IHdoZW4gdmlzaWJsZS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBDYW52YXMgc2hvdWxkIGNvdW50IGFzIGNvbnRl
bnRmdWwgd2hlbiBjb250ZXh0IGlzIGNyZWF0ZWQgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52
YXMtY29udGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4
dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+
Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCB3aGVuIGNhbnZhcyBj
b250ZXh0IGlzIGNyZWF0ZWQ8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjUw
IiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGlt
aW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJv
bWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0
IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCk7CisgICAgY29uc3QgY2FudmFzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhbnZhcycpOworICAgIGNvbnN0IGNvbnRleHQgPSBjYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICBjb250ZXh0LmZpbGxSZWN0KDAsIDAsIDEwMCwgMTAw
KTsKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgJ0NhbnZh
cyBzaG91bGQgY291bnQgYXMgY29udGVudGZ1bCB3aGVuIGNvbnRleHQgaXMgY3JlYXRlZCcpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVu
dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEdyYWRpZW50cyBzaG91
bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVu
dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgbm90IGZpcmUgd2l0aCBncmFkaWVudC1vbmx5
IGJhY2tncm91bmRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRo
OiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFn
ZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgb3JhbmdlLCBibHVlKTsKKyAgICB9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQ
YWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2Fp
dCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOwor
ICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgICdHcmFk
aWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsJyk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVz
Y2VuZGFudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90YXRpbmcgaW50byB2
aWV3LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFu
dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRl
c2NlbmRhbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNk
LXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGR1ZSB0byAzZCByZXZlYWxpbmcgb2YgZGVzY2VuZGFudHM8L3RpdGxlPgorPHN0
eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICAgICAgdG9wOiAwOworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVkZWcpOworICAg
ICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOworICAgIH0KKworICAgIC8qCisgICAg
ICAgVGhpcyB0ZXN0cyB0aGF0IGdpdmVuIG11bHRpcGxpY2F0aW9uIGVmZmVjdCBvZiAzZCB0cmFu
c2Zvcm1zIG9uIGJvdW5kaW5nIHJlY3QsCisgICAgICAgQW4gZWxlbWVudCBjb3VudHMgYXMgY29u
dGVudGZ1bC9wYWludGFibGUgb25seSB3aGVuIGl0cyBib3VuZGluZyByZWN0IGlzIHRydWx5IG5v
bi1lbXB0eSAqLworICAgICNjaGlsZCB7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCg0NWRl
Zyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3Rf
ZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3Jt
OiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0i
Y2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90YXRp
bmcgaW50byB2aWV3LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXcuIAorCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRp
bWluZyBUZXN0OiBGQ1AgZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldzwvdGl0bGU+Cis8c3R5
bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDkw
ZGVnKTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAg
fQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlw
dC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOwor
ICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRp
bHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+VGV4dDwvZGl2PgorPHNjcmlwdD4KKyAg
ICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gM2Qgcm90YXRp
b24gaW50byB2aWV3LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRv
IHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgRmlyc3QgY29udGVu
dGZ1bCBwYWludCBmaXJlcyB3aGVuIHJldmVhbGVkIGR1cmluZyB0cmFuc2l0aW9uLiAKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGluIHRyYW5zaXRpb248
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9y
bTogc2NhbGUoMCk7CisgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxczsKKyAgICAgICAg
cG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAgLyogY29u
dGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFp
bi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKKyAgICB9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRFWFQ8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3Ao
IkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcgdHJhbnNp
dGlvbi4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS1zY2FsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtc2NhbGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNj
YWxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0
byBzY2FsZSBjaGFuZ2U8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lk
dGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7Cisg
ICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3Vy
Y2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRl
ZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAg
ICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48
L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorSU5WSVNJQkxFCisKK1BBU1MgRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlz
aWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFp
bnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgc3RpbGwgZmlyZSBmb3IgaW52aXNpYmxlIHRleHQ8
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZl
OworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
IHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7Cisg
ICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNj
cmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlz
aWJsZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIElOVklTSUJMRQor
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiIpCis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRh
bnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRl
c2NlbmRhbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4
dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3Rv
ciBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0
eS1kZXNjZW5kYW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVz
Y2VuZGFudC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2Nl
bmRhbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVl
IHRvIGFuY2VzdG9yIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAg
ICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAw
cHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0K
KworICAgICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29u
dGVudGZ1bCBhbmQgaW50ZXJtZWRpYXRlIGNsYXNzZXMgYXJlIGRlZmluZWQgaW4gdGVzdF9mY3Ag
c2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0
eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgI2NoaWxkIHsKKyAgICAgICAg
b3BhY2l0eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgeworICAgICAgICBv
cGFjaXR5OiAwOworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFj
aXR5OiAwLjU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlk
PSJjaGlsZCI+VGV4dDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3Np
dGl2ZSBvcGFjaXR5LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LW9wYWNpdHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFj
aXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVsZW1l
bnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9w
YWNpdHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVl
IHRvIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6
IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAg
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3Jv
dW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgb3BhY2l0
eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFjaXR5
OiAwLjE7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+
CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIG9wYWNp
dHktcmV2ZWFsZWQgZWxlbWVudC4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0
LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQu
IAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHRyYW5zZm9y
bS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudDwvdGl0bGU+Cis8c3R5bGU+CisgICAg
I21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMDBweCk7
CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBi
YWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisK
KyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAq
LworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBp
bnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW91dC1vZi1ib3VuZHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBU
ZXN0OiBGQ1AgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50PC90aXRsZT4KKzxzdHls
ZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgbGVmdDogLTEwMDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZl
OworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNv
dXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMg
ZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7Cisg
ICAgICAgIGxlZnQ6IDBweDsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2
PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBk
dWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIikKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtZGlzcGxheS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQg
dGV4dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+
Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRv
LWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3Np
dGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhU
IjsKKyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNs
YXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRm
dWw6YWZ0ZXIgeworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxk
aXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1p
bWFnZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LWltYWdlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNl
dWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1l
bGVtZW50IGltYWdlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVh
ZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1
ZG8tZWxlbWVudCBpbWFnZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4g
dGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAg
ICBjb250ZW50OiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4iKQor
PC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4gCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0dGlu
ZyBwb3NpdGl2ZSBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAg
IHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDog
IlRFWFQiOworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwg
Y2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVu
dGZ1bDphZnRlciB7CisgICAgICAgIG9wYWNpdHk6IDAuNTsKKyAgICB9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxk
aXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZl
IG9wYWNpdHkuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LXRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZD
UCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlz
IGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0
ZXIgeworICAgICAgICBjb250ZW50OiAiVEVYVCIKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9
Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4KKzwv
Ym9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2li
aWxpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFu
Y2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcg
dmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjog
cmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAg
ICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xh
c3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1
bDphZnRlciB7CisgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+
Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlz
aWJsZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
c3ZnLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIHdoZW4gU1ZHIGJlY29tZXMgY29udGVudGZ1bC4gCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1zdmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQg
VGltaW5nIFRlc3Q6IEZDUCB3aXRoIFNWRzwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4gewor
ICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxl
ZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgIH0KKworICAgICNjaXJj
bGUgeworICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNs
YXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRm
dWwgI2NpcmNsZSB7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0Pgor
PGRpdiBpZD0ibWFpbiI+CisgIDxzdmcgdmlld0JveD0iMCAwIDEwIDEwIiB4bWxucz0iaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmciCisgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hsaW5rIj4KKyAgICA8ZGVmcz4KKyAgICAgIDxjaXJjbGUgaWQ9Im15Q2lyY2xlIiBj
eD0iNSIgY3k9IjUiIHI9IjQiIHN0cm9rZT0iYmx1ZSIvPgorICAgIDwvZGVmcz4KKyAgICA8dXNl
IGlkPSJjaXJjbGUiIGhyZWY9IiNteUNpcmNsZSIgZmlsbD0iZ3JlZW4iIC8+CisgIDwvc3ZnPgor
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIHdoZW4gU1ZHIGJlY29tZXMgY29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisK
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVGV4dCBpbnB1dCBzaG91bGQgYmVjb21lIGNv
bnRlbnRmdWwgd2hlbiBpdHMgdmFsdWUgaXMgbm9uLWVtcHR5IAorCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdGV4dC1pbnB1dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRp
dGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIGZvciBub24tZW1wdHkg
dGV4dCBpbnB1dDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPGlucHV0IGlkPSJpbnB1dCIgdHlwZT0idGV4dCIgLz4KKzxz
Y3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25k
aXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qg
c3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50
ZnVsUGFpbnQodCk7CisgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdpbnB1dCcpOworICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsICcgICcpOworICAg
ICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgICAgIGlucHV0LnNl
dEF0dHJpYnV0ZSgndmFsdWUnLCAndmFsdWUnKTsKKyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29u
dGVudGZ1bFBhaW50KHQpOworICB9LCAnVGV4dCBpbnB1dCBzaG91bGQgYmVjb21lIGNvbnRlbnRm
dWwgd2hlbiBpdHMgdmFsdWUgaXMgbm9uLWVtcHR5Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorQQorCitQQVNTIEZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgb25seSB3aGVuIHNvbWUgb2YgdGhlIHRleHQgaXMgdmlz
aWJsZSwgY29uc2lkZXJpbmcgOjpmaXJzdC1sZXR0ZXIuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
dHlwb2dyYXBoaWMtcHNldWRvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9n
cmFwaGljLXBzZXVkby5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3Jh
cGhpYy1wc2V1ZG8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBG
Q1Agc2hvdWxkIG5vdCBmaXJlIHdoZW4gYWxsIHRleHQgaXMgaGlkZGVuIGR1ZSB0byB0eXBvZ3Jh
cGhpYyBwc2V1ZG8tZWxlbWVudHM8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAg
ICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW4gKjo6Zmlyc3QtbGV0dGVyIHsKKyAgICAg
ICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmlu
ZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgKjo6Zmlyc3Qt
bGV0dGVyIHsKKyAgICAgICAgb3BhY2l0eTogMTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9
Im1haW4iPgorICAgIDxkaXY+QTwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNw
KCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIG9ubHkgd2hlbiBzb21lIG9mIHRoZSB0ZXh0
IGlzIHZpc2libGUsIGNvbnNpZGVyaW5nIDo6Zmlyc3QtbGV0dGVyLiIpCis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29t
ZSBjb250ZW50ZnVsIHdoZW4gZmlyc3QgZnJhbWUgaXMgbG9hZGVkIAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdmlkZW8tZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8t
ZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRl
ZCB2aWRlbyBmcmFtZTwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHZpZGVvIGlkPSJ2aWRlbyIgYXV0b3BsYXk+PC92aWRl
bz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9w
cmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcg
aXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RD
b250ZW50ZnVsUGFpbnQodCk7CisgICAgICAvLyBTZXQgYWN0dWFsIHZpZGVvIGNvbnRlbnQgdG8g
dHJpZ2dlciBGQ1AuCisgICAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd2aWRlbycpOworICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdzcmMnLCAnL21lZGlhL3Rlc3Qu
bXA0Jyk7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgdmlk
ZW8ub25jYW5wbGF5ID0gcmVzb2x2ZTsKKyAgICAgIH0pOworICAgICAgYXdhaXQgYXNzZXJ0Rmly
c3RDb250ZW50ZnVsUGFpbnQodCk7CisgIH0sICdWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRm
dWwgd2hlbiBmaXJzdCBmcmFtZSBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRl
bnRmdWwgd2hlbiBwb3N0ZXIgaXMgbG9hZGVkIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8t
cG9zdGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRlZCB2aWRlbyBw
b3N0ZXI8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+
PC92aWRlbz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3Nl
cnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGlt
aW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RD
b250ZW50ZnVsUGFpbnQodCk7CisgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndmlkZW8nKTsKKyAgICBjb25zdCBzcmMgPSAnLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5n
JzsKKyAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpOworICAgIGltYWdlLnNyYyA9IHNyYzsK
KyAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3Bvc3RlcicsIHNyYyk7CisgICAgYXdhaXQgbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIGltYWdlLm9ubG9hZCA9IGFzeW5jICgpID0+IHJl
c29sdmUoKTsKKyAgICB9KQorICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQp
OworICB9LCAnVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9zdGVyIGlzIGxv
YWRlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
d2hpdGVzcGFjZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRl
c3BhY2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNw
YWNlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RFWFQKKwor
UEFTUyBXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bC4gCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXdoaXRlc3BhY2UuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFj
ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IFdoaXRlc3BhY2Ug
c2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFp
biB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4v
cmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDA7Cisg
ICAgfQorCisgICAgI3RleHQgeworICAgICAgICBkaXNwbGF5OiBub25lOworICAgIH0KKworICAg
IC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisg
ICAgI21haW4uY29udGVudGZ1bCAjdGV4dHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJ3aGl0ZXNwYWNlIj4g
ICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+
CisgICAgdGVzdF9mY3AoIldoaXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVs
LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRo
LXJ0bC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNTIEZDUCBz
aG91bGQgZmlyZSB3aGVuIGNvb3JkaW5hdGVzIGFyZSBuZWdhdGl2ZSwgaWYgd2l0aGluIGRvY3Vt
ZW50IHNjcm9sbGFibGUgYXJlYSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBU
aW1pbmcgVGVzdDogRkNQIGR1ZSB0byBkaXJlY3Rpb24gY2hhbmdlPC90aXRsZT4KKzxzdHlsZT4K
KyAgI3RleHQgeworICAgIHJpZ2h0OiAtMTAwcHg7CisgICAgcG9zaXRpb246IGFic29sdXRlOwor
ICB9CisKKyAgYm9keSB7CisgICAgZGlyZWN0aW9uOiBydGw7CisgIH0KKworICAjZHVtbXkgewor
ICAgIGJhY2tncm91bmQ6IHllbGxvdzsKKyAgICB3aWR0aDogMTBweDsKKyAgICBoZWlnaHQ6IDEw
cHg7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIGxlZnQ6IDA7CisgICAgdG9wOiAwOwor
ICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImR1bW15Ij48L2Rpdj4KKzxkaXYgaWQ9InRleHQiPlRF
WFQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFz
c2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBU
aW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5v
Rmlyc3RDb250ZW50ZnVsUGFpbnQodCk7CisgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmRpcmVj
dGlvbiA9ICdsdHInCisgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVtbXknKS5zdHls
ZS5iYWNrZ3JvdW5kID0gJ2dyZWVuJworICAgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVs
UGFpbnQodCk7CisgIH0sICdGQ1Agc2hvdWxkIGZpcmUgd2hlbiBjb29yZGluYXRlcyBhcmUgbmVn
YXRpdmUsIGlmIHdpdGhpbiBkb2N1bWVudCBzY3JvbGxhYmxlIGFyZWEnKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNs
ZS5zdmcJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACis8c3ZnIHhtbG5zPSJodHRwOi8v
d3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIj4KKyAgIDxjaXJjbGUgY3g9IjEwMCIg
Y3k9IjUwIiByPSI0MCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25l
IiAvPgorPC9zdmc+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPGRpdiBpZD0iaW1hZ2UiPjwv
ZGl2PgorPHNjcmlwdD4KKyAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnSU1H
Jyk7CisgIGltZy5zcmMgPSAnY2lyY2xlcy5wbmcnOworICBpbWcub25sb2FkID0gZnVuY3Rpb24o
KSB7CisgICAgZnVuY3Rpb24gc2VuZFBhaW50RW50cmllcygpIHsKKyAgICAgIGNvbnN0IHBhaW50
RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3BhaW50Jyk7CisgICAgICBp
ZiAocGFpbnRFbnRyaWVzLmxlbmd0aCA8IDIpIHsKKyAgICAgICAgc2V0VGltZW91dChzZW5kUGFp
bnRFbnRyaWVzLCAyMCk7CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAgIGxldCBlbnRy
eUNvbnRlbnRzID0gcGFpbnRFbnRyaWVzLmxlbmd0aCArICcnOworICAgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgY29uc3QgZW50cnkg
PSBwYWludEVudHJpZXNbaV07CisgICAgICAgIGVudHJ5Q29udGVudHMgKz0gJyAnICsgZW50cnku
ZW50cnlUeXBlICsgJyAnICArIGVudHJ5Lm5hbWU7CisgICAgICB9CisgICAgICBwYXJlbnQucG9z
dE1lc3NhZ2UoZW50cnlDb250ZW50cywgJyonKTsKKyAgICB9OworICAgIHNlbmRQYWludEVudHJp
ZXMoKTsKKyAgfTsKKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltYWdlJykuYXBwZW5kQ2hp
bGQoaW1nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1
YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJh
bWUtc2VuZGluZy1wYWludC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFt
ZS1zZW5kaW5nLXBhaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8c2NyaXB0PgorICBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2Un
LCBmdW5jdGlvbihlKSB7CisgICAgLy8gU2VuZCBwYWludC10aW1pbmcgZW50cmllcyB1cG9uIHJl
Y2VpdmluZyBhIG1lc3NhZ2UuCisgICAgY29uc3QgcGFpbnRFbnRyaWVzID0gcGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5VHlwZSgncGFpbnQnKTsKKyAgICBsZXQgZW50cnlDb250ZW50cyA9IHBhaW50
RW50cmllcy5sZW5ndGggKyAnJzsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhaW50RW50cmll
cy5sZW5ndGg7IGkrKykgeworICAgICAgY29uc3QgZW50cnkgPSBwYWludEVudHJpZXNbaV07Cisg
ICAgICBlbnRyeUNvbnRlbnRzICs9ICcgJyArIGVudHJ5LmVudHJ5VHlwZSArICcgJyAgKyBlbnRy
eS5uYW1lOworICAgIH0KKyAgICBwYXJlbnQucG9zdE1lc3NhZ2UoZW50cnlDb250ZW50cywgJyon
KTsKKyAgfSk7Cis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9yZXNvdXJjZXMvdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIHdhaXRGb3JBbmlt
YXRpb25GcmFtZXMoY291bnQpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewor
ICAgIGlmIChjb3VudC0tIDw9IDApIHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgd2FpdEZvckFuaW1h
dGlvbkZyYW1lcyhjb3VudCkudGhlbihyZXNvbHZlKTsKKyAgICAgIH0pOworICAgIH0KKyAgfSk7
Cit9CisKKy8vIEFzc2VydHMgdGhhdCB0aGVyZSBpcyBjdXJyZW50bHkgbm8gRkNQIHJlcG9ydGVk
LiBQYXNzIHQgdG8gYWRkIHNvbWUgd2FpdCwgaW4gY2FzZSBDU1MgaXMgbG9hZGVkCisvLyBhbmQg
RkNQIGlzIGluY29ycmVjdGx5IGZpcmVkIGFmdGVyd2FyZHMuCithc3luYyBmdW5jdGlvbiBhc3Nl
cnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpIHsKKyAgYXdhaXQgd2FpdEZvckFuaW1hdGlvbkZy
YW1lcygzKTsKKyAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdm
aXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoLCAwLCAnRmlyc3QgY29udGVudGZ1bCBwYWlu
dCBtYXJrZWQgdG9vIGVhcmx5LiAnKTsKK30KKworLy8gRnVuY3Rpb24gdGhhdCBpcyByZXNvbHZl
ZCBvbmNlIEZDUCBpcyByZXBvcnRlZCwgdXNpbmcgUGVyZm9ybWFuY2VPYnNlcnZlci4gSXQgcmVq
ZWN0cyBhZnRlciBhIGxvbmcKKy8vIHdhaXQgdGltZSBzbyB0aGF0IGZhaWxpbmcgdGVzdHMgZG9u
J3QgdGltZW91dC4KK2FzeW5jIGZ1bmN0aW9uIGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQp
IHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgID0+IHsKKyAgICBmdW5jdGlvbiBjaGVj
a0ZDUCgpIHsKKyAgICAgIGlmIChwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1j
b250ZW50ZnVsLXBhaW50JykubGVuZ3RoID09PSAxKSB7CisgICAgICAgIHJlc29sdmUoKTsKKyAg
ICAgIH0gZWxzZSB7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShjaGVja0ZDUCkKKyAg
ICAgIH0KKyAgICB9CisgICAgdC5zdGVwKGNoZWNrRkNQKTsKKyAgfSk7Cit9CisKK2FzeW5jIGZ1
bmN0aW9uIHRlc3RfZmNwKGxhYmVsKSB7CisgIGNvbnN0IHN0eWxlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnc3R5bGUnKTsKKyAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7Cisg
IGF3YWl0IHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9u
KHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBv
cnRlZC4iKTsKKyAgICBjb25zdCBtYWluID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW4n
KTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCds
b2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCk7Cisg
ICAgbWFpbi5jbGFzc05hbWUgPSAncHJlRkNQJzsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29u
dGVudGZ1bFBhaW50KHQpOworICAgIG1haW4uY2xhc3NOYW1lID0gJ2NvbnRlbnRmdWwnOworICAg
IGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICB9LCBsYWJlbCk7Cit9Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10
aW1pbmctYXBpcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDEzIEBACitCYXNpYyBJbnRlcmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5n
IEFQSXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQZXJmb3JtYW5jZVBhaW50
VGltaW5nCitQQVNTIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaXMgZGVmaW5lZC4KK1BBU1MgUGVy
Zm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUudG9KU09OIGlzIGRlZmluZWQuCitQQVNTIG5l
dyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogZnVu
Y3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBQZXJmb3JtYW5jZVBh
aW50VGltaW5nKCknKS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5n
LWFwaXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFp
bnQtdGltaW5nLWFwaXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDEwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmct
ZnJhbWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKK1BhaW50IEFQSSBzaG91bGQgYmUg
YXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4v
c2FuZGJveGVkIGZyYW1lcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
cmVjZWl2ZWRFdmVudC5zb3VyY2UgaXMgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNhbmRi
b3hlZCcpLmNvbnRlbnRXaW5kb3cKK1BBU1MgcmVjZWl2ZWRFbnRyeS5uYW1lIGlzICdmaXJzdC1j
b250ZW50ZnVsLXBhaW50JworUEFTUyBkaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJh
bWUgaXMgZmFsc2UKK1BBU1MgQXJyYXkuaXNBcnJheShub25TYW5kYm94U3VwcG9ydGVkVHlwZXMp
IGlzIHRydWUKK1BBU1MgQXJyYXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVkVHlwZXMpIGlzIHRy
dWUKK1BBU1MgZGlkUmVjZWl2ZU1lc3NhZ2UgaXMgdHJ1ZQorUEFTUyBub25TYW5kYm94U3VwcG9y
dGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgdHJ1ZQorUEFTUyBzYW5kYm94U3VwcG9ydGVk
VHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgZmFsc2UKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZl
ciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBmaXJlZCBmb3Igc2FtZS1vcmln
aW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKworCitURVhUCkluZGV4OiBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWlu
Zy1mcmFtZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY3IEBACis8IURPQ1RZUEUg
SFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRp
bHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwv
ZGl2PgorICAgIDxpZnJhbWUgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGlkPSJub25TYW5kYm94
ZWQiIHNyYz0iLi9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwiPjwvaWZyYW1lPgorPGRpdiBj
bGFzcz0ic3BhY2VyIj48L2Rpdj4KKzxpZnJhbWUgaWQ9InNhbmRib3hlZCIgc3JjPSIuL3Jlc291
cmNlcy9mY3Atc3ViZnJhbWUuaHRtbCIgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyI+PC9pZnJhbWU+
Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorCisgICAgVEVYVAorCis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oIlBhaW50IEFQSSBzaG91bGQgYmUgYXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBm
cmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4vc2FuZGJveGVkIGZyYW1lcy4iKTsKK3dpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5kaWRSZWNlaXZlTWVzc2FnZSA9IGZhbHNl
OworCit3aW5kb3cub25sb2FkID0gYXN5bmMgKCkgPT4geworICAgIGNvbnN0IHNhbmRib3hlZCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYW5kYm94ZWQnKTsKKyAgICBjb25zdCBub25TYW5k
Ym94ZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJyk7CisgICAgY29u
c3QgZmNwTWVzc2FnZVByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAg
d2luZG93Lm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5yZWNlaXZl
ZEV2ZW50ID0gZXZlbnQ7CisgICAgICAgICAgICBjb25zdCBpc0Zyb21TYW5kYm94ZWQgPSBldmVu
dC5zb3VyY2UgPT09IHNhbmRib3hlZC5jb250ZW50V2luZG93OworICAgICAgICAgICAgY29uc3Qg
bWVzc2FnZSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAgICAgICAgICBzd2l0Y2ggKG1l
c3NhZ2UudHlwZSkgeworICAgICAgICAgICAgICAgIGNhc2UgJ3N1cHBvcnRlZCc6CisgICAgICAg
ICAgICAgICAgICAgIGlmIChpc0Zyb21TYW5kYm94ZWQpCisgICAgICAgICAgICAgICAgICAgICAg
ICB3aW5kb3cuc2FuZGJveFN1cHBvcnRlZFR5cGVzID0gbWVzc2FnZS5zdXBwb3J0ZWQ7CisgICAg
ICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5ub25T
YW5kYm94U3VwcG9ydGVkVHlwZXMgPSBtZXNzYWdlLnN1cHBvcnRlZDsKKyAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSAncmVjZWl2ZWQnOgorICAgICAgICAg
ICAgICAgICAgICB3aW5kb3cuZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1lID0g
aXNGcm9tU2FuZGJveGVkOworICAgICAgICAgICAgICAgICAgICB3aW5kb3cucmVjZWl2ZWRFbnRy
eSA9IG1lc3NhZ2UuZW50cnk7CisgICAgICAgICAgICAgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdl
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ3JlY2VpdmVkRXZlbnQuc291
cmNlJywgImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKS5jb250ZW50V2lu
ZG93Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCdyZWNlaXZlZEVudHJ5Lm5hbWUn
LCAiJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnIik7CisgICAgICAgICAgICAgICAgICAgIHJlc29s
dmUoKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAg
IH07CisgICAgfSk7CisKKyAgICBzYW5kYm94ZWQuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgi
cGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBub25TYW5kYm94ZWQu
Y29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgicGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRG
b3JGQ1AoKTsKKyAgICBhd2FpdCBmY3BNZXNzYWdlUHJvbWlzZTsKKyAgICBzaG91bGRCZUZhbHNl
KCdkaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUnKTsKKyAgICBzaG91bGRCZVRy
dWUoJ0FycmF5LmlzQXJyYXkobm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzKScpOworICAgIHNob3Vs
ZEJlVHJ1ZSgnQXJyYXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVkVHlwZXMpJyk7CisgICAgc2hv
dWxkQmVUcnVlKCdkaWRSZWNlaXZlTWVzc2FnZScpOworICAgIHNob3VsZEJlVHJ1ZSgnbm9uU2Fu
ZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVGYWxz
ZSgnc2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgdGVzdFBh
c3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNr
IHdhcyBmaXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2lu
IGZyYW1lIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13
aXRoLXdvcmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdv
cmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorUGFpbnQg
QVBJIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlIGluIHdvcmtlciBjb250ZXh0cy4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0
ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIHRydWUKK1BBU1Mgd29ya2VyU3VwcG9y
dGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyBmYWxzZQorUEFTUyB3b3JrZXJTdXBw
b3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJtYXJrIikgaXMgdHJ1ZQorUEFTUyBQZXJmb3JtYW5j
ZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNsdWRlICdwYWludCcgZm9y
IHdvcmtlcnMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgt
d29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Bh
aW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50IEFQSSBzaG91bGQgbm90IGJl
IGF2YWlsYWJsZSBpbiB3b3JrZXIgY29udGV4dHMuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7Citjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKCIuL3Jlc291cmNlcy93b3JrZXIuaHRt
bCIpOword29ya2VyLm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICB3aW5kb3cud29ya2VyU3Vw
cG9ydGVkRW50cnlUeXBlcyA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAgc2hvdWxkQmVU
cnVlKCdQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBh
aW50IiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCd3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmlu
Y2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVUcnVlKCd3b3JrZXJTdXBwb3J0ZWRFbnRy
eVR5cGVzLmluY2x1ZGVzKCJtYXJrIiknKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9i
c2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNsdWRlICdwYWludCcgZm9yIHdv
cmtlcnMiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK3dvcmtlci5wb3N0TWVzc2FnZSgi
c3RhcnQiKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWlu
dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5j
ZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDEwIEBACitQQVNTIGRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWlu
dCBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKS5sZW5ndGggaXMgMQorUEFT
UyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50Iiku
bGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29u
dGVudGZ1bC1wYWludCIsICJwYWludCIpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgUGVyZm9ybWFuY2VPYnNl
cnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorVEVYVDIK
SW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1m
aXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9y
bWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiRW5zdXJlIFBlcmZvcm1hbmNlT2JzZXJ2ZXJz
IGFyZSBub3RpZmllZCBvbmNlIGZvciBmaXJzdC1jb250ZW50ZnVsLXBhaW50LiIpOword2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworIAorKGFzeW5jICgpID0+IHsKKyAgICB3aW5kb3cuZGlk
UmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gZmFsc2U7CisgICAgd2luZG93LnN0YXJ0VGlt
ZSA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBhd2Fp
dCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcihlbnRyeUxpc3QgPT4geworICAgICAgICAgICAgd2luZG93LmVu
dHJ5TGlzdCA9IGVudHJ5TGlzdDsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0
RW50cmllcygpLmxlbmd0aCcsICIxIik7CisgICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0
LmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAxKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQi
KS5sZW5ndGgnLCAiMSIpOworICAgICAgICAgICAgd2luZG93LmZjcEVudHJ5ID0gZW50cnlMaXN0
LmdldEVudHJpZXMoKVswXTsKKyAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVG
aXJzdENvbnRlbnRmdWxQYWludCcpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5Lm5h
bWUnLCAnImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiJyk7CisgICAgICAgICAgICBzaG91bGRCZSgn
ZmNwRW50cnkuZW50cnlUeXBlJywgJyJwYWludCInKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1
ZSgnZmNwRW50cnkuc3RhcnRUaW1lID4gd2luZG93LnN0YXJ0VGltZScpOworICAgICAgICAgICAg
c2hvdWxkQmVUcnVlKCdmY3BFbnRyeS5zdGFydFRpbWUgPCBwZXJmb3JtYW5jZS5ub3coKScpOwor
ICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5LmR1cmF0aW9uJywgIjAiKTsKKyAgICAgICAg
ICAgIGRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCA9IHRydWU7CisgICAgICAgICAgICBy
ZXNvbHZlKCk7CisgICAgICAgIH0pOworCisgICAgICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5
VHlwZXM6IFsncGFpbnQnXX0pOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICdU
RVhUJzsKKyAgICB9KQorICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQyJzsKKyAg
ICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgc2hvdWxkQmVUcnVlKCdkaWRSZWNlaXZlRmlyc3RD
b250ZW50ZnVsUGFpbnQnKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllcygp
Lmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5h
bWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHNob3VsZEJl
KCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50Iiwg
InBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50
cmllc0J5VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHRlc3RQYXNzZWQoIlBlcmZv
cm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXNuJ3QgZmly
ZWQgYWdhaW4gIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KSgpOworCisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNl
cy9mY3Atc3ViZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdD4KKyAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVy
KGxpc3QgPT4geworICAgICAgICBsaXN0LmdldEVudHJpZXMoKS5mb3JFYWNoKGVudHJ5ID0+IHsK
KyAgICAgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3R5
cGU6ICdyZWNlaXZlZCcsIGVudHJ5fSksICcqJyk7CisgICAgICAgIH0pOworICAgIH0pOworCisg
ICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJwYWludCJdfSk7CisgICAgd2luZG93
Lm9ubWVzc2FnZSA9IGUgPT4geworICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKEpT
T04uc3RyaW5naWZ5KHtzdXBwb3J0ZWQ6IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50
cnlUeXBlcywgdHlwZTogJ3N1cHBvcnRlZCd9KSwgJyonKTsKKyAgICAgICAgZG9jdW1lbnQuYm9k
eS5pbm5lclRleHQgPSAiVEVYVCI7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNv
dXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNSBAQAorYXN5bmMgZnVuY3Rpb24gd2FpdEZvckZD
UCgpCit7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUoKCkgPT4gcmVzb2x2ZSgpKSk7CisgICAgcmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoID09IDE7Cit9
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50
LXRpbWluZy1hcGkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAoraWYgKHNlbGYu
aW1wb3J0U2NyaXB0cykKKyAgICBpbXBvcnRTY3JpcHRzKCIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiKTsKKworaWYgKHNlbGYud2luZG93KQorICAgIGRlc2NyaXB0aW9uKCJCYXNpYyBJ
bnRlcmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuIik7CisKK2RlYnVnKCJQZXJmb3Jt
YW5jZVBhaW50VGltaW5nIik7CitzaG91bGRCZURlZmluZWQoIlBlcmZvcm1hbmNlUGFpbnRUaW1p
bmciKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUu
dG9KU09OYCk7CitzaG91bGRUaHJvdyhgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKWApOwor
CitpZiAoc2VsZi5pbXBvcnRTY3JpcHRzKQorICAgIGZpbmlzaEpTVGVzdCgpOwpJbmRleDogTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29y
a2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACitzZWxmLm9ubWVzc2FnZSA9
ICgpID0+IHsKKyAgICBzZWxmLnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KFBlcmZvcm1hbmNl
T2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcykpOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9u
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnMJKHJldmlzaW9uIDI2MDYzOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEv
VGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtNTU3LDYgKzU1NywxMiBAQCBodHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2hhci9oYXItcGFnCiBbIFJlbGVhc2UgXSBodHRwL3Rl
c3RzL2luc3BlY3Rvci9uZXR3b3JrL2hhci9oYXItcGFnZS1hZ2dyZXNzaXZlLWdjLmh0bWwgWyBG
YWlsdXJlIF0KIFsgRGVidWcgXSBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2hhci9oYXIt
cGFnZS1hZ2dyZXNzaXZlLWdjLmh0bWwgWyBTbG93IEZhaWx1cmUgXQogCisjIFBhaW50IFRpbWlu
ZyBpcyBub3QgYXZhaWxhYmxlIGluIFdlYktpdDEKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nICBbIFNraXAgXQorcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWlu
Zy1hcGlzLmh0bWwgWyBTa2lwIF0KK3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVz
Lmh0bWwgWyBTa2lwIF0KK3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIu
aHRtbCBbIFNraXAgXQorCiAjIExvY2FsIE92ZXJyaWRlcyBub3QgYXZhaWxhYmxlIGluIFdlYktp
dDEKIGh0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbG9jYWwtcmVzb3VyY2Utb3ZlcnJpZGUt
YmFzaWMuaHRtbCBbIEZhaWx1cmUgXQogaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9sb2Nh
bC1yZXNvdXJjZS1vdmVycmlkZS1tYWluLXJlc291cmNlLmh0bWwgWyBGYWlsdXJlIF0KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyNjA2
MzkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwkod29ya2lu
ZyBjb3B5KQpAQCAtMzcwMyw2ICszNzAzLDE1IEBAIGh0dHAvd3B0L3dlYnJ0YyBbIFNraXAgXQog
aHR0cC93cHQvcmVzb3VyY2UtdGltaW5nL3J0LW5leHRIb3BQcm90b2NvbC5odG1sIFsgU2tpcCBd
CiBodHRwL3dwdC9yZXNvdXJjZS10aW1pbmcvcnQtbmV4dEhvcFByb3RvY29sLndvcmtlci5odG1s
IFsgU2tpcCBdCiAKKyMgVE9ETyBQYWludCBUaW1pbmcgaXMgbm90IGVuYWJsZWQgZm9yIFdLMS4K
K2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nIFsgU2tpcCBdCitw
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbCBbIFNraXAgXQorcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbCBbIFNraXAgXQorcGVyZm9ybWFuY2UtYXBp
L3BhaW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL3BlcmZv
cm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVt
cHR5LWZvci1udW0tY2hhcnMuaHRtbAoraHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5j
ZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUuaHRt
bAorcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQuaHRtbAorCiAjIFdlYkNyeXB0byB0ZXN0cyBhcmUgZmFpbGluZy4KIHdlYmtpdC5vcmcv
Yi8xNjUwOTAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkgWyBT
a2lwIF0KIHdlYmtpdC5vcmcvYi8xNjUwOTAgaHR0cC93cHQvY3J5cHRvIFsgU2tpcCBdCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXMvY2lyY2xlcy5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBt
YXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIworaW1hZ2UvcG5nClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDUUFBQUJJQ0FZQUFBQ2VObGU1
QUFBQzdtbERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0
a0NKSldhdG9SZFEyL1JGaWF3emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytB
SG5yd1pDOUtoVnBGS042cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FC
T1FOeDFLaUVXbHNmRUpxCi9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdk
N0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVl
TUcxRHlzOXhGa2lmRUExTGM1L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpF
TDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBP
YkVoajBjR0RYMCtHQVZ0eHFwCitEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZ
QnpXa2hQMTB4dStMcUhCWDBtMXhPdjRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURV
aFFFRVVFWVppd1VFQ0dQQm94TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6
KwpLQ0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhq
amMwMWVmSlhVZHBOWFI1YXNlWHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1Y
alZmUHFTNFIxV2pFMzM1OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZs
UFh2WHgvR2ZOeEdQaUtURW1kb3JuSVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZn
WUpxOAo5UzlkUDF0NHZVWi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVm
S0FJdmJPREltYnB0VTNIdkVLRmxwVzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhn
dkFFY2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xw
ZHRpWjB4MXVIS0U1UXZmRXAwcGxrL3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFl
SXVKQUFBQQpDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFHWjBsRVFWUm9CZTJhVVc5VlJSREhk
Njh0RVZKTFcyS0N4Q1kraWdRRG9Za0tmZ0o4CjlNa25FdkVkdm9DbWtTK0E3MnBDUXNLVGovSUpC
Q1NCMU5Tb1BKcVUxQ2FrZ05pQWFlTmRmLytaT1QyMzU5N1NGdTdsNlV5eTUrek8KMloyWm5aM2Ru
Wmw3YzVyUEplMEtTc3BwaHA3N1UwbVBxRC9kSEZVUnlKdVlSSjhEOUprRzg0ejZROTY5WDNzNk5x
cGpqWGFqS1NMZApFR1FmOVJXSU8rbVN6c0wxQksxWnlpR0toRmpsdVVTSFh4aHpuZlpURXlPbncr
RFhRN0NPOWVReEVKNGprRmlQUVZERWxtMXdLWi95ClBwZEtPYzNiaGJBUHpRZERUYmg4ay9lVmxQ
TVAxaU9uSTdRZlVOK2dETlpZN2w4eTEwcEtrd3daWnlDekxtY1I0bXZhcDR4d1NiOUMKN3lidGhW
VHlIN3ovRHZ6QmxNdFJtSjVrekdud3h3Ti9GNkcrWXN4MTJvZjRMb0dlVVBxMTFSQ29YaUt0dTFx
bGZNZmpjMm9zWGI2RwpBSmZCMzZFTm1tSjlyRlhYaFJPVU5JZUFGNkh4R1MyWTUrK2hjVDdHemZD
V2JXMFZxaUZRWmJnUGJWRHEvc3lBRHlnM0dQY0Y3M3NtClFMSmxGQ0hOVkxiUjVTMkJoSk90U2JQ
Q3VjMmw5QzdOYjJtZm9keUcxb2RCcHhLcW1vS01aQk0wMzBtS3BBYTZ2L000Q3BkdktCZUQKd0N6
TXRUd3I2Z0hVaE5RU0JZZXFwbVUvQ09wZUtwMlA2WENaY3NGcGQ5NERMMTdpcWVWeldwcFNOTVpC
alJ2UmdtYXlDYU4xbHpCdgowMmVLYit5Z3RCYjl0d29Ec2dmMFRXVXR4a3c1RFdnbGJFbTB4Y09Y
WE5wVTJTS1F0dmFiSUZkWmMyeUdaU3FtbVV2ZzMySGdYNVRICk1haWFQYzBkd1ZscXJHaUlWc3FY
bkRZOG5CYzhqWGUxN1BPNStBR0czYkNiVXZtUkRqZE14ZEtNQ0xrOTdNaDlGeDA2MEg0TG12ZFQK
N3Y3RUc1dktuMkRvMm4yeXAwZXlRczFDaGdpd3RZMjVHYkFRV3A3L1ZCa1NpSlpvQXNZRHJSaFBJ
U1JEU1IyL0R0Z05kdWlkOHExdAp1MGtHWEMyVEJnd0RzdEhNbk81RlBEaEdFbWViODE1QmV6UFNr
TzRtd1RsN0pzNFpnZSttc0huL01xUm5KMmhETG5qWjZXL1U5NmVPClg1UjhzNU4xRWZRZEpOVjFv
YTNvb2xyZm9UMUU4MG53RUsvRjRDMXUySkJ1YlYyVVJVZDZ2aFZzUjZHWjVveWNoM2dhYjJTUUxJ
RTkKRWIyNW02eW1FOWpQaFNhWjRiUkZleU40TFRoSjh4ejhJZ0V4NjBpN0tGVmQ5L1pJbitzK1pY
ZzZ1QXhqcmhGM0pYUnJlOXNQcVZISwpVOTkvRlU5NUFac2FHaVhydmRIR3FBWHk5R1RsK0RPOC9k
WTIxTWdlNGlGZTR1bWdLMlJUUTdvMEFYT3VWSW1UVzlXUndUNDNEM2c2CnVBeSt5L0NCSFU2YWxI
Nzd1alhGaHlHL1JGdmVoUUR2VWhBeVlOU0tEblM1eVZYRlY3WmVvemZxNnNMV2dld21vNkRnZ0E3
R2FWTmQKTVlkY1B2QWNiVGxnY3B4OERsU0dDS0k1R1R6RTZ6Z0hzb0lCY1p2V3dmZ3MyRjV4cHZq
QUF2ZjBScUVwK1Y1aHlNRXJLVEl4cnBKbApIZ0h0N3VMRzc4cDV4NDQ2eDVCWS9yTzh4TWNtbnZW
LzZZZDhkcWVaOGJOTDl6Y29Mc0J2anZkaGVLMUlRNUl0VG1hRktrS1pRMDQxClRWQmVVMlZJSUZx
aUNSZ1BzUmRQZ1dTSUE4ZkRrU1BtdVdWQ0ZmUGtjTWpOczdOcmhZRzBYaHcwVnVlTy9LRDdrQkx0
TS9CVFdLUU4KcFFEU2c0dUlPdVNqUEdDQWJ2enpERGlHUzNBQjNDcHQrZFZ5OHVXd2EvbjJJcHkw
TDV1WjRqM0IrRCtoL1dYUXZtMjhqS2RGczA0MwpCTklNZFB0dU1CZ2diaW9LZzh5OWxKQWVCdmtN
RlFiSlZ4SzRLWHE5OTFscDh3MTZ5SUNYZkRJUkJwVkV0QXNQZ1VleHRYY1JBdW1UCmlJdlJEQVgx
S1c1U29LZzRxckE5WHpoUUZNMytRQkVrRUx4NkppWTk5WUNXVG11cGpvaW9XYkRPRm5HeUkzSzV5
bmZ0Q0oxVHk5U1YKT0pERy9vbWltMXU0WlFxNzFrTHBxMHhNdTBrUkJqWVRtdkVvUTd5MmlzQzJi
K2FIZk4xMWVHMmZiRmlFK0MyK1B5L1o4QkhmMzRlaApsdVV1eHN0dTJudXl3Y2JIUTNhZyswWUJw
R1lNNFVqSDJCWHp2SFNNOWVZcTRnUzJReS9TTWI2YjlweU9NV3J4Y0cxNXFDUVBRTXNBCkg0cjg4
SXpiV2V4WWNBZlBJbDhaTUJlbEo2eThyeWNuZHBld0dyQmtJVXZmcThxTXZJNFFpaHAwREF3R0Yz
aUNQcE4wK0pkK3NoVmgKZDRhdEZyVnovNUgzNk5uMmczaTk3Skt0bVY1ZVdZNXgwSklaamtlYlk5
UUNTeHR1d0w3Y1ZiMHkzemJIMk56S3RVMVZ0VGJINkxhegovZE90VEg1VW0yUGNYa3U5WDlvY1k2
ODJ0cXUzT2NidE5OUEV1NlBSNWhpYmVxbmJiWTZ4MXNWZWFtMk9zZFpXbTJPc2RURzQxalYwCm0y
UHMxMDZiWSt6WFNZMXBjNHkxTHJ4V2hlSnRqakhPRkV2UEtZL1UrMmVVTnNkSWluZmdINXJhSEdQ
L24rTDhkNjhsUXY1WG1tUFUKWHpORzk3ZkIvd0ZaYmcwNUVFTnVOd0FBQUFCSlJVNUVya0pnZ2c9
PQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397808</attachid>
            <date>2020-04-27 22:27:02 -0700</date>
            <delta_ts>2020-04-28 13:36:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208499-20200428082659.patch</filename>
            <type>text/plain</type>
            <size>139393</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyNSBAQAorMjAyMC0wNC0yMSAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIHRoZSBuZWNlc3NhcnkgaW50ZXJmYWNlLCBleHRlbnNpb25zIHRv
IHRoZSBwZXJmb3JtYW5jZSBpbnRlcmZhY2UgYW5kIG9ic2VydmVyLCBuZXcgcnVudGltZSBmbGFn
LgorICAgICAgICBEZXRlY3RpbmcgY29udGVudGZ1bG5lc3MgYWZ0ZXIgbGF5b3V0IGFuZCBiZWZv
cmUgYWN0dWFsIHBhaW50LCBieSBydW5uaW5nIGEgImR1bW15IiBwYWludCwgc2ltaWxhciB0byAK
KyAgICAgICAgaW52YWxpZGF0ZUNvbnRyb2xUaW50cygpIC8gaW52YWxpZGF0ZUltYWdlc1dpdGhB
c3luY0RlY29kZXMoKS4gU2F2ZSB0aGUgcmVzdWx0IHRvIHRoZSBHcmFwaGljc0NvbnRleHQgYW5k
IHRoZW4gdG8gdGhlIGRvY3VtZW50LgorICAgICAgICBUaGlzIHdvdWxkIHJ1biBmb3IgZXZlcnkg
cGFpbnQgdW50aWwgd2UgZGV0ZWN0IGEgY29udGVudGZ1bCBvbmUuCisKKyAgICAgICAgTm90ZSB0
aGF0IGl0IHBhaW50cyB0aGUgZW50aXJlIGZyYW1lIGNvbnRlbnRzLCBhcyBGQ1AgaXMgbm90IHZp
ZXdwb3J0LWRlcGVuZGVudC4KKyAgICAgICAgQWxzbywgcGFpbnQgdGltaW5nIGlzIGN1cnJlbnRs
eSBkaXNhYmxlZCBmb3IgTEZDIChsYXlvdXQgZm9ybWF0dGluZyBjb250ZXh0KSwgYW5kIHdpbGwg
YmUgZGVhbHQgd2l0aCBsYXRlci4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
Zy1pbWFnZS10d28tc3RlcHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0Lmh0
bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlv
bi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5k
YW50Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1v
dXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5k
cy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbAorICAgICAgICAgICAgICAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBz
ZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LXRleHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC12aWRlby1mcmFtZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0
bC5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvZmlyc3QtY29udGVudGZ1bC1w
YWludC1mcmFtZXMuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNv
bnRlbnRmdWwtcGFpbnQtd2l0aC13b3JrZXIuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNl
LWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogcGFnZS9QZXJm
b3JtYW5jZVBhaW50VGltaW5nLmg6IEFkZGVkLgorICAgICAgICAoaXNUeXBlKToKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsOiBBZGRlZC4KKyAgICAgICAgICAgICAg
ICBBZGQgUGVyZm9ybWFuY2VQYWludFRpbWluZyBpbnRlcmZhY2UuIGh0dHBzOi8vdzNjLmdpdGh1
Yi5pby9wYWludC10aW1pbmcvI3NlYy1QZXJmb3JtYW5jZVBhaW50VGltaW5nCisKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnN1cHBvcnRz
UGFpbnRUaW1pbmcgY29uc3QpOgorICAgICAgICAgICAgICAgIFdlIG9ubHkgcmVwb3J0IHBhaW50
IHRpbWluZyBmb3IgZG9jdW1lbnQgdGhhdCBjYW4gYWNjZXNzIHRoZSB0b3AgbGV2ZWwgc2VjdXJp
dHkgb3JpZ2luLCB0byBhdm9pZCBsZWFrYWdlIG9mIGluZm9ybWF0aW9uIHRvIHNhbmRib3hlZCBp
ZnJhbWVzLgorCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVwb3J0UGFpbnRUaW1pbmdJ
Zk5lZWRlZCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICAgICAgICAgUmVw
b3J0IHBhaW50IHRpbWluZywgYWNjb3JkaW5nIHRvIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWlu
dC10aW1pbmcvI3NlYy1yZXBvcnRpbmctcGFpbnQtdGltaW5nCisKKyAgICAgICAgKiBwYWdlL1Bh
Z2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6
CisgICAgICAgICAgICAgICAgUmVwb3J0IGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgYWZ0ZXIgbGF5
b3V0LgorICAgICAgICAgICAgICAgIFNlZSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211
bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjdXBkYXRlLXRoZS1yZW5kZXJpbmcKKworICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6Omdl
dEVudHJpZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJp
ZXNCeVR5cGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJp
ZXNCeU5hbWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnJlcG9ydEZp
cnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAg
ICAgICAgICAgICAgU3VwcG9ydCBmaXJzdC1jb250ZW50ZnVsLXBhaW50IHJlcG9ydGluZy4KKwor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojpp
c1BhaW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBl
cyk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmg6CisgICAgICAgICogcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbDoKKyAgICAgICAgICAgICAgICBBZGQgcGFpbnQgcGVy
Zm9ybWFuY2UgZW50cnkgdHlwZS4KKworICAgICAgICAqIHBhZ2UvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0UGFp
bnRUaW1pbmdFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnBhaW50VGltaW5nRW5hYmxlZCBjb25zdCk6CisgICAgICAgICAgICAgICAgTmV3IHJ1bnRp
bWUgZmxhZyBmb3IgcGFpbnQgdGltaW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRl
dGVjdGluZ0NvbnRlbnRmdWxQYWludCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQ6OnNldENvbnRlbnRmdWxQYWludERldGVjdGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDo6Y29udGVuZnVsUGFpbnREZXRlY3RlZCBjb25zdCk6CisgICAgICAg
ICAgICAgICAgQWRkIGEgZmxhZyBpbiBHcmFwaGljc0NvbnRleHQgd2hlcmUgZGlmZmVyZW50IHJl
bmRlciBvcGVyYXRpb25zIGNhbiByZXBvcnQgaWYgdGhleSdyZSBjb250ZW50ZnVsLgorCisgICAg
ICAgICogcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnRlbnRmdWxQYWludENoZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRm
dWxQYWludCk6CisgICAgICAgICAgICAgICAgUnVuIGEgImR1bW15IiBwYWludCBvZiB0aGUgRnJh
bWVWaWV3LCB0byBkZXRlY3QgY29udGVudGZ1bCBlbGVtZW50cy4gCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oOiBBZGRlZC4KKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94
TW9kZWxPYmplY3Q6OnBhaW50RmlsbExheWVyRXh0ZW5kZWQpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJIVE1MQ2FudmFzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckhUTUxDYW52
YXM6OnBhaW50UmVwbGFjZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6cGFpbnRSZXBsYWNlZCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyOjpwYWludExheWVyQ29udGVudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWRl
by5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWRlbzo6cGFpbnRSZXBsYWNlZCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1RleHRQYWludGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRQYWludGVyOjpwYWludFRleHRPckVtcGhhc2lzTWFya3MpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSb290
OjpwYWludFJlcGxhY2VkKToKKyAgICAgICAgICAgICAgICBSZXBvcnQgY29udGVudGZ1bG5lc3Mg
d2hlbiB3ZSByZWFjaCBhbnl0aGluZyB0aGF0IHF1YWxpZmllcyBhcyBjb250ZW50ZnVsLAorICAg
ICAgICAgICAgICAgIGJhc2VkIG9uIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcv
I2NvbnRlbnRmdWwuCisKIDIwMjAtMDQtMjQgIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVy
ZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBBZGQgbWlzc2luZyBIVE1MTmFtZXM6OiBuYW1lc3Bh
Y2UgcHJlZml4IHRvIHVzYWdlIG9mIGxpVGFnIG9iamVjdApJbmRleDogU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC05MzYsNiArOTM2LDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExf
RklMRVMKICAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwKICAgICBwYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU5h
dmlnYXRpb24uaWRsCisgICAgcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAogICAgIHBh
Z2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlU2Vy
dmVyVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTkyNiw2ICs5MjYsNyBA
QCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxi
YWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxp
c3QuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwg
XAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAko
cmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTIxMjQsNiArMjEyNCw3IEBAIHJlbmRlcmluZy9CcmVha0xpbmVzLmNwcAogcmVu
ZGVyaW5nL0NTU0ZpbHRlci5jcHAKIHJlbmRlcmluZy9DbGlwUmVjdC5jcHAKIHJlbmRlcmluZy9D
b21wbGV4TGluZUxheW91dC5jcHAKK3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmNw
cAogcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmNwcAogcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNwcAog
cmVuZGVyaW5nL0V2ZW50UmVnaW9uLmNwcApAQCAtMzIwMiw2ICszMjAzLDcgQEAgSlNQZXJmb3Jt
YW5jZU5hdmlnYXRpb24uY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCiBKU1BlcmZvcm1h
bmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHAKIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5j
cHAKK0pTUGVyZm9ybWFuY2VQYWludFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5jcHAKIEpTUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlVGlt
aW5nLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MDU1LDYgKzQw
NTUsNyBAQAogCQlDOUY4N0NGRTFCMjhGNDBFMDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOUY4N0NG
RDFCMjhFNUY2MDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0EzQkY2N0UxMEQ5OUJBRTAwRTZD
RTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3Iu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDQTZD
MTUzMDIyMEI5OENDMDA1NUNCRkMgLyogSlNWYWx1ZUluV3JhcHBlZE9iamVjdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMxQUUzQjgxRkI4MEVBRTAw
RjVFRkIyIC8qIEpTVmFsdWVJbldyYXBwZWRPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDQTdFOUI0OTI0MzYxREM1MDA0RTg5RjYgLyog
Q29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0E3RTlCNDcyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWlu
dENoZWNrZXIuaCAqLzsgfTsKIAkJQ0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVj
dFJhdGlvVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENBRTlGOTBFMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggKi87
IH07CiAJCUNCMzhGRDUyMUNDRjkzOTQwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENCMzhGRDRFMUND
RjkzN0UwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnkuaCAqLzsgfTsKIAkJQ0IzOEZENUIx
Q0QyMzI1QjAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0IzOEZENTkxQ0QyMzE0NTAw
NTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovOyB9OwpAQCAtMTM4MjQs
NiArMTM4MjUsOCBAQAogCQlDQTA5MUQ4NjIzQ0Y5MDc4MDBBRDQzNDYgLyogU3R5bGVJbWFnZVNl
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUltYWdlU2V0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0EwOTFEODkyM0NGOTA4ODAwQUQ0MzQ2IC8qIFN0eWxlSW1hZ2VT
ZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVJbWFnZVNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDQTE2MzVEQzIwNzJFNzY5MDBFN0QyQ0UgLyogUmVmZXJyZXJQb2xpY3kuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmZXJyZXJQb2xpY3kuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNENTI0MDdENjQwMDA3MTI0MUEg
LyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZVBh
aW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBMTkzM0Q4MjQwN0VE
Q0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8q
IFNjcm9sbEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9s
bEFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNTJCQUU1MjNEMEFG
MTYwMERFMEI4NCAvKiBTdHlsZUN1cnNvckltYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0
eWxlQ3Vyc29ySW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM4MzMs
NiArMTM4MzYsOCBAQAogCQlDQTZDMTUyRjIyMEI0QTU1MDA1NUNCRkMgLyogSlNJREJSZXF1ZXN0
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCUmVx
dWVzdEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBNkMxNTM3MjIw
RDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvckN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0lEQkN1cnNvckN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNBNkMxNTM4MjIwRDFFQjMwMDU1Q0JGQyAvKiBKU0lEQkN1cnNvcldp
dGhWYWx1ZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0lEQkN1cnNvcldpdGhWYWx1ZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUNBN0U5QjQ3MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRmdWxQYWludENoZWNrZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0E3RTlCNDgyNDM2MURDNTAwNEU4OUY2
IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBRTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1Zh
bHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0FzcGVjdFJh
dGlvVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQUU5RjkwRTE0NjQ0
MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5jZUVudHJ5LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRW50cnku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjEwMjUsNiArMjEwMzAsOCBAQAog
CQkJCUE1QTk5MzNBMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlM
aXN0LmNwcCAqLywKIAkJCQlBNUE5OTMzQjFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdC5oICovLAogCQkJCUE1QTk5MzNDMUUzN0ZBRkQwMDVCNUU0RCAvKiBQ
ZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCAqLywKKwkJCQlDQTE5MzNENTI0MDdENjQw
MDA3MTI0MUEgLyogUGVyZm9ybWFuY2VQYWludFRpbWluZy5oICovLAorCQkJCUNBMTkzM0Q4MjQw
N0VEQ0YwMDcxMjQxQSAvKiBQZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbCAqLywKIAkJCQk4NjUx
MkVEQjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi8s
CiAJCQkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcuaCAqLywKIAkJCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5pZGwgKi8sCkBAIC0yODEyNyw2ICsyODEzNCw4IEBACiAJCQkJQkNERDQ1NEQx
MjM2Qzk1QzAwOUE3OTg1IC8qIENvbHVtbkluZm8uaCAqLywKIAkJCQlCQ0VBNDgxMzA5N0Q5MzAy
MDA5NEM5RTQgLyogQ29tcGxleExpbmVMYXlvdXQuY3BwICovLAogCQkJCUU0QTFBQzc4MjJGQUZE
NTAwMDE3Qjc1QiAvKiBDb21wbGV4TGluZUxheW91dC5oICovLAorCQkJCUNBN0U5QjQ4MjQzNjFE
QzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcCAqLywKKwkJCQlDQTdFOUI0
NzI0MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oICovLAogCQkJCTkz
OTJGMTRGMEFEMTg2MjMwMDY5MUJENCAvKiBDb3VudGVyTm9kZS5jcHAgKi8sCiAJCQkJOTM5MkYx
NEIwQUQxODYxQjAwNjkxQkQ0IC8qIENvdW50ZXJOb2RlLmggKi8sCiAJCQkJMEY1M0ZCODEyMTNC
MUJCODAwQzQwRDM0IC8qIENTU0ZpbHRlci5jcHAgKi8sCkBAIC0yOTgzMiw2ICsyOTg0MSw3IEBA
CiAJCQkJQTE0OTc4NkYxQUJBRjMzODAwQ0VGN0U0IC8qIENvbnRlbnRGaWx0ZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTVDRENEREM2MjNEODBBMUMwMEJBMzRBMSAvKiBDb250ZW50RmlsdGVyQ2xp
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQwOTBGRDFBQTUxRTQ4MDA5MTE5MUEgLyogQ29u
dGVudEZpbHRlclVuYmxvY2tIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDQTdFOUI0OTI0
MzYxREM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNUM5QzJEQjUyMjQxQTY3QjAwOTk2QjBCIC8qIENvbnRlbnRSdWxlTGlzdFJlc3VsdHMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTk3QzQ3MURDMTJGOTI1QkQwMDg2MzU0QiAvKiBDb250ZW50
U2VjdXJpdHlQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFNUZBMjU1MjA5RTQ4QzUwMDUx
RDcwMCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovLApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNl
RW50cnlDdXN0b20uY3BwCShyZXZpc2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
NSw5ICszNSwxMSBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTUGVy
Zm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNs
dWRlICJKU1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZU1lYXN1cmUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5n
LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgogCiAKQEAgLTQ2LDYg
KzQ4LDkgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFBl
cmZvcm1hbmNlRW50cnk+JiYgZW50cnkpCiB7CisgICAgaWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRU
aW1pbmc+KGVudHJ5KSkKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQ
YWludFRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CisKICAgICBpZiAoaXM8
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRl
V3JhcHBlcjxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUo
ZW50cnkpKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0
aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODIsNiAr
MTgyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3Vy
ZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKICAgICBtYWNybyhQZXJmb3Jt
YW5jZU9ic2VydmVyRW50cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWlu
ZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQ
ZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXApJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBACiAj
aW5jbHVkZSAiQ29tcG9zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkNvbnN0YW50UHJvcGVydHlN
YXAuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIKKyNpbmNsdWRlICJDb250
ZW50ZnVsUGFpbnRDaGVja2VyLmgiCiAjaW5jbHVkZSAiQ29va2llSmFyLmgiCiAjaW5jbHVkZSAi
Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaCIKICNpbmNsdWRlICJDdXN0b21FbGVtZW50UmVn
aXN0cnkuaCIKQEAgLTE0OSw2ICsxNTAsNyBAQAogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2lu
Y2x1ZGUgIlBhZ2VUcmFuc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQYWludFdvcmtsZXRHbG9i
YWxTY29wZS5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1M
b2NhbGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybVNjcmVlbi5oIgpAQCAtMzE0NCw2ICszMTQ2LDM0IEBAIGJvb2wgRG9jdW1l
bnQ6OmlzTGF5b3V0VGltZXJBY3RpdmUoKSBjb24KICAgICByZXR1cm4gdmlldygpICYmIHZpZXco
KS0+bGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0UGVuZGluZygpOwogfQogCitib29sIERvY3VtZW50
OjpzdXBwb3J0c1BhaW50VGltaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQoKSAmJiBzZWN1
cml0eU9yaWdpbigpLmNhbkFjY2Vzcyh0b3BPcmlnaW4oKSk7Cit9CisKKy8vIGh0dHBzOi8vdzNj
LmdpdGh1Yi5pby9wYWludC10aW1pbmcvI3JlZi1mb3ItbWFyay1wYWludC10aW1pbmcKK3ZvaWQg
RG9jdW1lbnQ6OnJlcG9ydFBhaW50VGltaW5nSWZOZWVkZWQoKQoreworICAgIGlmIChtX2RpZFJl
cG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIXN1
cHBvcnRzUGFpbnRUaW1pbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFkb21XaW5k
b3coKSB8fCAhdmlldygpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBUbyBtYWtlIHN1cmUg
d2UgZG9uJ3QgcmVwb3J0IHBhaW50IHdoaWxlIHRoZSBsYXllciB0cmVlIGlzIHN0aWxsIGZyb3pl
bi4KKyAgICBpZiAoIXZpZXcoKS0+aXNWaXN1YWxseU5vbkVtcHR5KCkgfHwgdmlldygpLT5uZWVk
c0xheW91dCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIUNvbnRlbnRmdWxQYWludENo
ZWNrZXI6OnF1YWxpZmllc0ZvckNvbnRlbnRmdWxQYWludCgqdmlldygpKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCkucmVwb3J0Rmlyc3RDb250ZW50
ZnVsUGFpbnQoKTsKKyAgICBtX2RpZFJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50ID0gdHJ1ZTsK
K30KKwogRXhjZXB0aW9uT3I8dm9pZD4gRG9jdW1lbnQ6OndyaXRlKERvY3VtZW50KiByZXNwb25z
aWJsZURvY3VtZW50LCBTZWdtZW50ZWRTdHJpbmcmJiB0ZXh0KQogewogICAgIGlmIChtX2FjdGl2
ZVBhcnNlcldhc0Fib3J0ZWQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMjYw
NjM5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTEwMzgsNiArMTAzOCw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2hvdWxkRGVmZXJBc3luY2hy
b25vdXNTY3JpcHRzVW50aWxQYXJzaW5nRmluaXNoZXMoKSBjb25zdDsKIAorICAgIGJvb2wgc3Vw
cG9ydHNQYWludFRpbWluZygpIGNvbnN0OworCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgdm9pZCBz
Y2hlZHVsZVRvQXBwbHlYU0xUcmFuc2Zvcm1zKCk7CiAgICAgdm9pZCBhcHBseVBlbmRpbmdYU0xU
cmFuc2Zvcm1zTm93SWZTY2hlZHVsZWQoKTsKQEAgLTE1NzcsNiArMTU3OSw3IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgc2V0SGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQoKSB7IG1faGFz
VmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQgPSB0cnVlOyB9CiAgICAgYm9vbCBoYXNWaXN1
YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzVmlzdWFsbHlO
b25FbXB0eUN1c3RvbUNvbnRlbnQ7IH0KKyAgICB2b2lkIHJlcG9ydFBhaW50VGltaW5nSWZOZWVk
ZWQoKTsKIAogcHJvdGVjdGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9uRmxhZ3MgeyBTeW50aGVz
aXplZCA9IDEsIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEgfTsKQEAgLTIwNDMsNiAr
MjA0Niw5IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fYXJlRGV2aWNlTW90aW9uQW5kT3JpZW50
YXRpb25VcGRhdGVzU3VzcGVuZGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fdXNlckRpZEludGVy
YWN0V2l0aFBhZ2UgeyBmYWxzZSB9OworCisgICAgYm9vbCBtX2RpZFJlcG9ydEZpcnN0Q29udGVu
dGZ1bFBhaW50IHsgZmFsc2UgfTsKKwogI2lmIEFTU0VSVF9FTkFCTEVECiAgICAgYm9vbCBtX2lu
SGl0VGVzdGluZyB7IGZhbHNlIH07CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDI1Nyw2ICs0MjU3LDkgQEAgdm9pZCBGcmFtZVZpZXc6
OnBhaW50Q29udGVudHMoR3JhcGhpY3NDbwogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpCiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkubGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRFbmFibGVkKCkpIHsKKyAgICAgICAgLy8gSW50ZWdy
YXRlIHBhaW50IHRpbWluZyB3aXRoIExGQyBsYXRlciBvbi4KKyAgICAgICAgaWYgKGNvbnRleHQu
ZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpCisgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IGlmIChhdXRvKiBsYXlvdXRTdGF0ZSA9IGxheW91dENvbnRleHQoKS5sYXlvdXRGb3JtYXR0aW5n
U3RhdGUoKSkKICAgICAgICAgICAgIExheW91dDo6TGF5b3V0Q29udGV4dDo6cGFpbnQoKmxheW91
dFN0YXRlLCBjb250ZXh0LCBkaXJ0eVJlY3QpOwogICAgICAgICByZXR1cm47CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzOTYsNiArMTM5NiwxMCBAQCB2b2lkIFBhZ2U6OmRv
QWZ0ZXJVcGRhdGVSZW5kZXJpbmcoKQogICAgIC8vIGxheW91dCB0byBiZSB1cC10by1kYXRlLiBJ
dCBzaG91bGQgbm90IHJ1biBzY3JpcHQsIHRyaWdnZXIgbGF5b3V0LCBvciBkaXJ0eSBsYXlvdXQu
CiAKICAgICBmb3JFYWNoRG9jdW1lbnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkgeworICAgICAg
ICBkb2N1bWVudC5yZXBvcnRQYWludFRpbWluZ0lmTmVlZGVkKCk7CisgICAgfSk7CisKKyAgICBm
b3JFYWNoRG9jdW1lbnQoW10gKERvY3VtZW50JiBkb2N1bWVudCkgewogICAgICAgICBkb2N1bWVu
dC51cGRhdGVIaWdobGlnaHRQb3NpdGlvbnMoKTsKICAgICB9KTsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZS5jcHAJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBACiAj
aW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTmF2aWdh
dGlvbi5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJQZXJm
b3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFu
Y2VVc2VyVGltaW5nLmgiCkBAIC0xMjQsNiArMTI1LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3Jt
YW5jZUVudHJ5Pj4gUGVyZm9ybQogICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJU
aW1pbmctPmdldE1lYXN1cmVzKCkpOwogICAgIH0KIAorICAgIGlmIChtX2ZpcnN0Q29udGVudGZ1
bFBhaW50KQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsK
KwogICAgIHN0ZDo6c29ydChlbnRyaWVzLmJlZ2luKCksIGVudHJpZXMuZW5kKCksIFBlcmZvcm1h
bmNlRW50cnk6OnN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbik7CiAgICAgcmV0dXJuIGVudHJpZXM7
CiB9CkBAIC0xMzUsNiArMTM5LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4g
UGVyZm9ybQogICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUs
ICJyZXNvdXJjZSIpKQogICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3Jlc291cmNlVGlt
aW5nQnVmZmVyKTsKIAorICAgIGlmIChtX2ZpcnN0Q29udGVudGZ1bFBhaW50ICYmIGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInBhaW50IikpCisgICAgICAgIGVudHJp
ZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworCiAgICAgaWYgKG1fdXNlclRpbWlu
ZykgewogICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBl
LCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5n
LT5nZXRNYXJrcygpKTsKQEAgLTE1Nyw2ICsxNjQsOSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+PiBQZXJmb3JtCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAobV9maXJzdENv
bnRlbnRmdWxQYWludCAmJiAoZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInBhaW50IikpICYmIG5hbWUgPT0gImZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQiKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBh
aW50KTsKKwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVudHJ5VHlwZS5p
c051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJr
IikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1h
cmtzKG5hbWUpKTsKQEAgLTE4MCw2ICsxOTAsMTMgQEAgdm9pZCBQZXJmb3JtYW5jZTo6c2V0UmVz
b3VyY2VUaW1pbmdCdWZmZQogICAgIG1fcmVzb3VyY2VUaW1pbmdCdWZmZXJGdWxsRmxhZyA9IGZh
bHNlOwogfQogCit2b2lkIFBlcmZvcm1hbmNlOjpyZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgp
Cit7CisgICAgQVNTRVJUKCFtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKKyAgICBtX2ZpcnN0Q29u
dGVudGZ1bFBhaW50ID0gUGVyZm9ybWFuY2VQYWludFRpbWluZzo6Y3JlYXRlRmlyc3RDb250ZW50
ZnVsUGFpbnQobm93KCkpOworICAgIHF1ZXVlRW50cnkoKm1fZmlyc3RDb250ZW50ZnVsUGFpbnQp
OworfQorCiB2b2lkIFBlcmZvcm1hbmNlOjphZGRSZXNvdXJjZVRpbWluZyhSZXNvdXJjZVRpbWlu
ZyYmIHJlc291cmNlVGltaW5nKQogewogICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAkocmV2aXNpb24gMjYwNjM5KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00
NSw2ICs0NSw3IEBAIGNsYXNzIExvYWRUaW1pbmc7CiBjbGFzcyBQZXJmb3JtYW5jZUVudHJ5Owog
Y2xhc3MgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOwogY2xhc3MgUGVyZm9ybWFuY2VPYnNlcnZlcjsK
K2NsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc7CiBjbGFzcyBQZXJmb3JtYW5jZVRpbWluZzsK
IGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVRpbWluZzsKQEAgLTc3LDYg
Kzc4LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGRSZXNvdXJjZVRpbWluZyhSZXNvdXJjZVRp
bWluZyYmKTsKIAorICAgIHZvaWQgcmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKTsKKwogICAg
IHZvaWQgcmVtb3ZlQWxsT2JzZXJ2ZXJzKCk7CiAgICAgdm9pZCByZWdpc3RlclBlcmZvcm1hbmNl
T2JzZXJ2ZXIoUGVyZm9ybWFuY2VPYnNlcnZlciYpOwogICAgIHZvaWQgdW5yZWdpc3RlclBlcmZv
cm1hbmNlT2JzZXJ2ZXIoUGVyZm9ybWFuY2VPYnNlcnZlciYpOwpAQCAtMTIxLDYgKzEyNCw3IEBA
IHByaXZhdGU6CiAKICAgICBNb25vdG9uaWNUaW1lIG1fdGltZU9yaWdpbjsKIAorICAgIFJlZlB0
cjxQZXJmb3JtYW5jZVBhaW50VGltaW5nPiBtX2ZpcnN0Q29udGVudGZ1bFBhaW50OwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxVc2VyVGltaW5nPiBtX3VzZXJUaW1pbmc7CiAKICAgICBHZW5lcmljVGFz
a1F1ZXVlPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ+IG1fcGVyZm9ybWFuY2VUaW1lbGluZVRhc2tR
dWV1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAkocmV2
aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsMTEgQEAgT3B0aW9uYWw8UGVyZm9ybWFuY2VF
bnRyeTo6VHlwZT4gUGVyZm9ybQogICAgICAgICAgICAgcmV0dXJuIE9wdGlvbmFsPFR5cGU+KFR5
cGU6OlJlc291cmNlKTsKICAgICB9CiAKKyAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5wYWludFRpbWluZ0VuYWJsZWQoKSkgeworICAgICAgICBpZiAoZW50
cnlUeXBlID09ICJwYWludCIpCisgICAgICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlw
ZTo6UGFpbnQpOworICAgIH0KKwogICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiB9CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCShyZXZpc2lvbiAyNjA2MzkpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAkod29ya2luZyBjb3B5KQpA
QCAtNDgsMTAgKzQ4LDExIEBAIHB1YmxpYzoKICAgICBkb3VibGUgZHVyYXRpb24oKSBjb25zdCB7
IHJldHVybiBtX2R1cmF0aW9uOyB9CiAKICAgICBlbnVtIGNsYXNzIFR5cGUgewotICAgICAgICBO
YXZpZ2F0aW9uID0gMSA8PCAwLAotICAgICAgICBNYXJrID0gMSA8PCAxLAotICAgICAgICBNZWFz
dXJlID0gMSA8PCAyLAotICAgICAgICBSZXNvdXJjZSA9IDEgPDwgMywKKyAgICAgICAgTmF2aWdh
dGlvbiAgPSAxIDw8IDAsCisgICAgICAgIE1hcmsgICAgICAgID0gMSA8PCAxLAorICAgICAgICBN
ZWFzdXJlICAgICA9IDEgPDwgMiwKKyAgICAgICAgUmVzb3VyY2UgICAgPSAxIDw8IDMsCisgICAg
ICAgIFBhaW50ICAgICAgID0gMSA8PCA0CiAgICAgfTsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBl
KCkgY29uc3QgPSAwOwpAQCAtNjIsNiArNjMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Jlc291
cmNlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OlJlc291cmNlOyB9CiAgICAgYm9v
bCBpc01hcmsoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWFyazsgfQogICAgIGJv
b2wgaXNNZWFzdXJlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1lYXN1cmU7IH0K
KyAgICBib29sIGlzUGFpbnQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UGFpbnQ7
IH0KIAogICAgIHN0YXRpYyBib29sIHN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbihjb25zdCBSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4mIGEsIGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYg
YikKICAgICB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5jcHAJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMywxNSArMTEzLDIxIEBAIHZvaWQg
UGVyZm9ybWFuY2VPYnNlcnZlcjo6ZGVsaXZlcigpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRGaXJlT2JzZXJ2ZXJDYWxsYmFjaygqY29udGV4dCk7CiB9CiAKLVZlY3RvcjxTdHJp
bmc+IFBlcmZvcm1hbmNlT2JzZXJ2ZXI6OnN1cHBvcnRlZEVudHJ5VHlwZXMoKQorVmVjdG9yPFN0
cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyhTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0KQogewotICAgIHJldHVybiB7CisgICAgVmVjdG9yPFN0cmlu
Zz4gZW50cnlUeXBlcyA9IHsKICAgICAgICAgLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5vcmcv
Yi8xODQzNjM+IEFkZCBzdXBwb3J0IGZvciBOYXZpZ2F0aW9uIFRpbWluZyBMZXZlbCAyCiAgICAg
ICAgIC8vICJuYXZpZ2F0aW9uIl9zLAogICAgICAgICAibWFyayJfcywKLSAgICAgICAgIm1lYXN1
cmUiX3MsCi0gICAgICAgICJyZXNvdXJjZSJfcworICAgICAgICAibWVhc3VyZSJfcwogICAgIH07
CisKKyAgICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpICYmIGRvd25jYXN0PERvY3VtZW50Pihj
b250ZXh0KS5zdXBwb3J0c1BhaW50VGltaW5nKCkpCisgICAgICAgIGVudHJ5VHlwZXMuYXBwZW5k
KCJwYWludCJfcyk7CisKKyAgICBlbnRyeVR5cGVzLmFwcGVuZCgicmVzb3VyY2UiX3MpOworCisg
ICAgcmV0dXJuIGVudHJ5VHlwZXM7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCShyZXZpc2lvbiAyNjA2
MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoY29udGV4dCwgV1RGTW92ZShjYWxsYmFjaykpKTsK
ICAgICB9CiAKLSAgICBzdGF0aWMgVmVjdG9yPFN0cmluZz4gc3VwcG9ydGVkRW50cnlUeXBlcygp
OworICAgIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmKTsKIAogICAgIHZvaWQgZGlzYXNzb2NpYXRlKCk7CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAkocmV2aXNpb24gMjYw
NjM5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogXSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VPYnNl
cnZlciB7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIG9ic2VydmUoUGVyZm9ybWFuY2VP
YnNlcnZlckluaXQgb3B0aW9ucyk7CiAgICAgdm9pZCBkaXNjb25uZWN0KCk7Ci0gICAgc3RhdGlj
IHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHN1cHBvcnRlZEVudHJ5
VHlwZXM7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyByZWFk
b25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RE9NU3RyaW5nPiBzdXBwb3J0ZWRFbnRyeVR5cGVz
OwogfTsKIAogZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdCB7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lN
ZWRpYSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVyZm9y
bWFuY2VFbnRyeS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgZmluYWwgOiBwdWJs
aWMgUGVyZm9ybWFuY2VFbnRyeSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5j
ZVBhaW50VGltaW5nPiBjcmVhdGVGaXJzdENvbnRlbnRmdWxQYWludChET01IaWdoUmVzVGltZVN0
YW1wIHRpbWVTdGFtcCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiX3MsIHRpbWVTdGFtcCkp
OworICAgIH0KKworcHJpdmF0ZToKKyAgICBQZXJmb3JtYW5jZVBhaW50VGltaW5nKGNvbnN0IFN0
cmluZyYgbmFtZSwgRE9NSGlnaFJlc1RpbWVTdGFtcCB0aW1lU3RhbXApCisgICAgICAgIDogUGVy
Zm9ybWFuY2VFbnRyeShuYW1lLCB0aW1lU3RhbXAsIHRpbWVTdGFtcCkKKyAgICB7CisgICAgfQor
CisgICAgQVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJwYWlu
dCJfczsgfQorICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFR5cGU6OlBhaW50
OyB9CisKKyAgICB+UGVyZm9ybWFuY2VQYWludFRpbWluZygpID0gZGVmYXVsdDsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJD
b3JlOjpQZXJmb3JtYW5jZVBhaW50VGltaW5nKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25z
dCBXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnkuaXNQYWlu
dCgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRp
YSBGb3VuZGF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmUuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Bh
aW50LXRpbWluZy8KKwordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKworWwor
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGFpbnRUaW1pbmcsCisgICAgRXhwb3NlZD0oV2luZG93KSwK
K10gaW50ZXJmYWNlIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgOiBQZXJmb3JtYW5jZUVudHJ5IHsK
K307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDkgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0VXNlclRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1VzZXJUaW1p
bmdFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCB1c2VyVGltaW5nRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1faXNVc2VyVGltaW5nRW5hYmxlZDsgfQogCisgICAgdm9pZCBzZXRQYWlu
dFRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1BhaW50VGltaW5nRW5hYmxlZCA9
IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgcGFpbnRUaW1pbmdFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9pc1BhaW50VGltaW5nRW5hYmxlZDsgfQorCiAgICAgYm9vbCBwZXJmb3JtYW5jZVRpbWVs
aW5lRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIHJlc291cmNlVGltaW5nRW5hYmxlZCgpIHx8IHVz
ZXJUaW1pbmdFbmFibGVkKCk7IH0KIAogICAgIHZvaWQgc2V0U2hhZG93RE9NRW5hYmxlZChib29s
IGlzRW5hYmxlZCkgeyBtX2lzU2hhZG93RE9NRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQpAQCAtNDI0
LDYgKzQyNyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzTGlua1ByZWxvYWRFbmFibGVkIHsg
dHJ1ZSB9OwogICAgIGJvb2wgbV9pc0xpbmtQcmVmZXRjaEVuYWJsZWQgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9pc01lZGlhUHJlbG9hZGluZ0VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9p
c1BhaW50VGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzUmVzb3VyY2VUaW1p
bmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNVc2VyVGltaW5nRW5hYmxlZCB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX2lzSW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQgeyBm
YWxzZSB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0LmgJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzMs
NyArMjczLDggQEAgcHVibGljOgogICAgIGVudW0gY2xhc3MgUGFpbnRJbnZhbGlkYXRpb25SZWFz
b25zIDogdWludDhfdCB7CiAgICAgICAgIE5vbmUsCiAgICAgICAgIEludmFsaWRhdGluZ0NvbnRy
b2xUaW50cywKLSAgICAgICAgSW52YWxpZGF0aW5nSW1hZ2VzV2l0aEFzeW5jRGVjb2RlcworICAg
ICAgICBJbnZhbGlkYXRpbmdJbWFnZXNXaXRoQXN5bmNEZWNvZGVzLAorICAgICAgICBEZXRlY3Rp
bmdDb250ZW50ZnVsUGFpbnQKICAgICB9OwogICAgIEdyYXBoaWNzQ29udGV4dChQYWludEludmFs
aWRhdGlvblJlYXNvbnMpOwogCkBAIC0yOTIsNiArMjkzLDcgQEAgcHVibGljOgogICAgIGJvb2wg
cGVyZm9ybWluZ1BhaW50SW52YWxpZGF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9wYWludEludmFs
aWRhdGlvblJlYXNvbnMgIT0gUGFpbnRJbnZhbGlkYXRpb25SZWFzb25zOjpOb25lOyB9CiAgICAg
Ym9vbCBpbnZhbGlkYXRpbmdDb250cm9sVGludHMoKSBjb25zdCB7IHJldHVybiBtX3BhaW50SW52
YWxpZGF0aW9uUmVhc29ucyA9PSBQYWludEludmFsaWRhdGlvblJlYXNvbnM6OkludmFsaWRhdGlu
Z0NvbnRyb2xUaW50czsgfQogICAgIGJvb2wgaW52YWxpZGF0aW5nSW1hZ2VzV2l0aEFzeW5jRGVj
b2RlcygpIGNvbnN0IHsgcmV0dXJuIG1fcGFpbnRJbnZhbGlkYXRpb25SZWFzb25zID09IFBhaW50
SW52YWxpZGF0aW9uUmVhc29uczo6SW52YWxpZGF0aW5nSW1hZ2VzV2l0aEFzeW5jRGVjb2Rlczsg
fQorICAgIGJvb2wgZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkgY29uc3QgeyByZXR1cm4gbV9w
YWludEludmFsaWRhdGlvblJlYXNvbnMgPT0gUGFpbnRJbnZhbGlkYXRpb25SZWFzb25zOjpEZXRl
Y3RpbmdDb250ZW50ZnVsUGFpbnQ7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U3Ry
b2tlVGhpY2tuZXNzKGZsb2F0KTsKICAgICBmbG9hdCBzdHJva2VUaGlja25lc3MoKSBjb25zdCB7
IHJldHVybiBtX3N0YXRlLnN0cm9rZVRoaWNrbmVzczsgfQpAQCAtNTEzLDYgKzUxNSw5IEBAIHB1
YmxpYzoKICAgICBGbG9hdFNpemUgc2NhbGVGYWN0b3IoKSBjb25zdDsKICAgICBGbG9hdFNpemUg
c2NhbGVGYWN0b3JGb3JEcmF3aW5nKGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEZs
b2F0UmVjdCYgc3JjUmVjdCkgY29uc3Q7CiAKKyAgICB2b2lkIHNldENvbnRlbnRmdWxQYWludERl
dGVjdGVkKCkgeyBtX2NvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQgPSB0cnVlOyB9CisgICAgYm9vbCBj
b250ZW5mdWxQYWludERldGVjdGVkKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW5mdWxQYWludERl
dGVjdGVkOyB9CisKICNpZiBPUyhXSU5ET1dTKQogICAgIEhEQyBnZXRXaW5kb3dzQ29udGV4dChj
b25zdCBJbnRSZWN0JiwgYm9vbCBzdXBwb3J0QWxwaGFCbGVuZCk7IC8vIFRoZSBwYXNzZWQgaW4g
cmVjdCBpcyB1c2VkIHRvIGNyZWF0ZSBhIGJpdG1hcCBmb3IgY29tcG9zaXRpbmcgaW5zaWRlIHRy
YW5zcGFyZW5jeSBsYXllcnMuCiAgICAgdm9pZCByZWxlYXNlV2luZG93c0NvbnRleHQoSERDLCBj
b25zdCBJbnRSZWN0JiwgYm9vbCBzdXBwb3J0QWxwaGFCbGVuZCk7IC8vIFRoZSBwYXNzZWQgaW4g
SERDIHNob3VsZCBiZSB0aGUgb25lIGhhbmRlZCBiYWNrIGJ5IGdldFdpbmRvd3NDb250ZXh0LgpA
QCAtNjYxLDYgKzY2Niw3IEBAIHByaXZhdGU6CiAKICAgICBjb25zdCBQYWludEludmFsaWRhdGlv
blJlYXNvbnMgbV9wYWludEludmFsaWRhdGlvblJlYXNvbnMgeyBQYWludEludmFsaWRhdGlvblJl
YXNvbnM6Ok5vbmUgfTsKICAgICB1bnNpZ25lZCBtX3RyYW5zcGFyZW5jeUNvdW50IHsgMCB9Owor
ICAgIGJvb2wgbV9jb250ZW5mdWxQYWludERldGVjdGVkIHsgZmFsc2UgfTsKIH07CiAKIGNsYXNz
IEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgewpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmNwcAkobm9uZXhpc3RlbnQpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBX
aWtpTWVkaWEgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oIgorCisjaW5jbHVkZSAiRnJhbWVW
aWV3LmgiCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworYm9vbCBDb250ZW50ZnVsUGFpbnRDaGVja2VyOjpxdWFsaWZpZXNGb3JDb250ZW50ZnVs
UGFpbnQoRnJhbWVWaWV3JiBmcmFtZVZpZXcpCit7CisgICAgQVNTRVJUKCFmcmFtZVZpZXcubmVl
ZHNMYXlvdXQoKSk7CisgICAgQVNTRVJUKGZyYW1lVmlldy5yZW5kZXJWaWV3KCkpOworCisgICAg
YXV0byBvbGRQYWludEJlaGF2aW9yID0gZnJhbWVWaWV3LnBhaW50QmVoYXZpb3IoKTsKKyAgICBh
dXRvIG9sZEVudGlyZUNvbnRlbnRzID0gZnJhbWVWaWV3LnBhaW50c0VudGlyZUNvbnRlbnRzKCk7
CisKKyAgICBmcmFtZVZpZXcuc2V0UGFpbnRCZWhhdmlvcihQYWludEJlaGF2aW9yOjpGbGF0dGVu
Q29tcG9zaXRpbmdMYXllcnMpOworICAgIGZyYW1lVmlldy5zZXRQYWludHNFbnRpcmVDb250ZW50
cyh0cnVlKTsKKworICAgIEdyYXBoaWNzQ29udGV4dCBjaGVja2VyQ29udGV4dChHcmFwaGljc0Nv
bnRleHQ6OlBhaW50SW52YWxpZGF0aW9uUmVhc29uczo6RGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50
KTsKKyAgICBmcmFtZVZpZXcucGFpbnQoY2hlY2tlckNvbnRleHQsIGZyYW1lVmlldy5yZW5kZXJW
aWV3KCktPmRvY3VtZW50UmVjdCgpKTsKKworICAgIGZyYW1lVmlldy5zZXRQYWludHNFbnRpcmVD
b250ZW50cyhvbGRFbnRpcmVDb250ZW50cyk7CisgICAgZnJhbWVWaWV3LnNldFBhaW50QmVoYXZp
b3Iob2xkUGFpbnRCZWhhdmlvcik7CisKKyAgICByZXR1cm4gY2hlY2tlckNvbnRleHQuY29udGVu
ZnVsUGFpbnREZXRlY3RlZCgpOworfQorCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmgJKG5vbmV4aXN0ZW50KQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIFdpa2lNZWRp
YSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIEZyYW1lVmlldzsKKworY2xhc3MgQ29udGVudGZ1bFBhaW50Q2hl
Y2tlciB7CitwdWJsaWM6CisgICAgc3RhdGljIGJvb2wgcXVhbGlmaWVzRm9yQ29udGVudGZ1bFBh
aW50KEZyYW1lVmlldyYpOworfTsKKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCShyZXZpc2lvbiAyNjA2MzkpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC03MTYsNyArNzE2LDggQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFp
bnRGaWxsTGF5ZQogICAgIEJhY2tncm91bmRCbGVlZEF2b2lkYW5jZSBibGVlZEF2b2lkYW5jZSwg
SW5saW5lRmxvd0JveCogYm94LCBjb25zdCBMYXlvdXRTaXplJiBib3hTaXplLCBDb21wb3NpdGVP
cGVyYXRvciBvcCwgUmVuZGVyRWxlbWVudCogYmFja2dyb3VuZE9iamVjdCwgQmFzZUJhY2tncm91
bmRDb2xvclVzYWdlIGJhc2VCZ0NvbG9yVXNhZ2UpCiB7CiAgICAgR3JhcGhpY3NDb250ZXh0JiBj
b250ZXh0ID0gcGFpbnRJbmZvLmNvbnRleHQoKTsKLSAgICBpZiAoY29udGV4dC5wYWludGluZ0Rp
c2FibGVkKCkgfHwgcmVjdC5pc0VtcHR5KCkpCisKKyAgICBpZiAoKGNvbnRleHQucGFpbnRpbmdE
aXNhYmxlZCgpICYmICFjb250ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpKSB8fCByZWN0
LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYm9vbCBpbmNsdWRlTGVmdEVkZ2Ug
PSBib3ggPyBib3gtPmluY2x1ZGVMb2dpY2FsTGVmdEVkZ2UoKSA6IHRydWU7CkBAIC03MzEsNiAr
NzMyLDE0IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50RmlsbExheWUKICAgICBT
dHlsZUltYWdlKiBiZ0ltYWdlID0gYmdMYXllci5pbWFnZSgpOwogICAgIGJvb2wgc2hvdWxkUGFp
bnRCYWNrZ3JvdW5kSW1hZ2UgPSBiZ0ltYWdlICYmIGJnSW1hZ2UtPmNhblJlbmRlcih0aGlzLCBz
dHlsZSgpLmVmZmVjdGl2ZVpvb20oKSk7CiAgICAgCisgICAgaWYgKGNvbnRleHQuZGV0ZWN0aW5n
Q29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAgaWYgKCFjb250ZXh0LmNvbnRlbmZ1bFBhaW50
RGV0ZWN0ZWQoKSAmJiBzaG91bGRQYWludEJhY2tncm91bmRJbWFnZSAmJiBiZ0ltYWdlLT5jYWNo
ZWRJbWFnZSgpKSB7CisgICAgICAgICAgICBpZiAoc3R5bGUoKS5iYWNrZ3JvdW5kU2l6ZVR5cGUo
KSAhPSBGaWxsU2l6ZVR5cGU6OlNpemUgfHwgIXN0eWxlKCkuYmFja2dyb3VuZFNpemVMZW5ndGgo
KS5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgY29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnRE
ZXRlY3RlZCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorCiAgICAg
aWYgKGNvbnRleHQuaW52YWxpZGF0aW5nSW1hZ2VzV2l0aEFzeW5jRGVjb2RlcygpKSB7CiAgICAg
ICAgIGlmIChzaG91bGRQYWludEJhY2tncm91bmRJbWFnZSAmJiBiZ0ltYWdlLT5jYWNoZWRJbWFn
ZSgpLT5pc0NsaWVudFdhaXRpbmdGb3JBc3luY0RlY29kaW5nKCp0aGlzKSkKICAgICAgICAgICAg
IGJnSW1hZ2UtPmNhY2hlZEltYWdlKCktPnJlbW92ZUFsbENsaWVudHNXYWl0aW5nRm9yQXN5bmNE
ZWNvZGluZygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52
YXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1M
Q2FudmFzLmNwcAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckhUTUxDYW52YXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw2ICs3MSwxMyBAQCB2
b2lkIFJlbmRlckhUTUxDYW52YXM6OnBhaW50UmVwbGFjZWQoUGFpCiAgICAgR3JhcGhpY3NDb250
ZXh0JiBjb250ZXh0ID0gcGFpbnRJbmZvLmNvbnRleHQoKTsKIAogICAgIExheW91dFJlY3QgY29u
dGVudEJveFJlY3QgPSB0aGlzLT5jb250ZW50Qm94UmVjdCgpOworCisgICAgaWYgKGNvbnRleHQu
ZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAgaWYgKCFjb250ZXh0LmNvbnRl
bmZ1bFBhaW50RGV0ZWN0ZWQoKSAmJiBjYW52YXNFbGVtZW50KCkucmVuZGVyaW5nQ29udGV4dCgp
KQorICAgICAgICAgICAgY29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCiAgICAgY29udGVudEJveFJlY3QubW92ZUJ5KHBhaW50T2Zm
c2V0KTsKICAgICBMYXlvdXRSZWN0IHJlcGxhY2VkQ29udGVudFJlY3QgPSB0aGlzLT5yZXBsYWNl
ZENvbnRlbnRSZWN0KCk7CiAgICAgcmVwbGFjZWRDb250ZW50UmVjdC5tb3ZlQnkocGFpbnRPZmZz
ZXQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCShyZXZp
c2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00OTIsNiArNDkyLDEzIEBAIHZvaWQgUmVuZGVySW1hZ2U6OnBh
aW50UmVwbGFjZWQoUGFpbnRJbmYKICAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciA9IGRvY3Vt
ZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKTsKICAgICBMYXlvdXRVbml0IG1pc3NpbmdJbWFnZUJv
cmRlcldpZHRoKDEgLyBkZXZpY2VTY2FsZUZhY3Rvcik7CiAKKyAgICBpZiAoY29udGV4dC5kZXRl
Y3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgeworICAgICAgICBpZiAoIWNvbnRleHQuY29udGVuZnVs
UGFpbnREZXRlY3RlZCgpICYmICFpc0RlZmVycmVkSW1hZ2UoZWxlbWVudCgpKSAmJiBjYWNoZWRJ
bWFnZSgpICYmIGNhY2hlZEltYWdlKCktPmNhblJlbmRlcih0aGlzLCBkZXZpY2VTY2FsZUZhY3Rv
cikgJiYgIWNvbnRlbnRTaXplLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIGNvbnRleHQuc2V0Q29u
dGVudGZ1bFBhaW50RGV0ZWN0ZWQoKTsKKworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAg
aWYgKCFpbWFnZVJlc291cmNlKCkuY2FjaGVkSW1hZ2UoKSB8fCBpc0RlZmVycmVkSW1hZ2UoZWxl
bWVudCgpKSB8fCBzaG91bGREaXNwbGF5QnJva2VuSW1hZ2VJY29uKCkpIHsKICAgICAgICAgaWYg
KHBhaW50SW5mby5waGFzZSA9PSBQYWludFBoYXNlOjpTZWxlY3Rpb24pCiAgICAgICAgICAgICBy
ZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAJKHJl
dmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1NDAsNiArNDU0MCw5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OnBhaW50TGF5ZXJDb250ZW50cyhHcmEKIHsKICAgICBBU1NFUlQoaXNTZWxmUGFpbnRpbmdMYXll
cigpIHx8IGhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCgpKTsKIAorICAgIGlmIChjb250
ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpICYmIGNvbnRleHQuY29udGVuZnVsUGFpbnRE
ZXRlY3RlZCgpKQorICAgICAgICByZXR1cm47CisKICAgICBhdXRvIGxvY2FsUGFpbnRGbGFncyA9
IHBhaW50RmxhZ3MgLSBQYWludExheWVyQXBwbGllZFRyYW5zZm9ybTsKICAgICBib29sIGhhdmVU
cmFuc3BhcmVuY3kgPSBsb2NhbFBhaW50RmxhZ3MuY29udGFpbnMoUGFpbnRMYXllckhhdmVUcmFu
c3BhcmVuY3kpOwogICAgIGJvb2wgaXNTZWxmUGFpbnRpbmdMYXllciA9IHRoaXMtPmlzU2VsZlBh
aW50aW5nTGF5ZXIoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRl
by5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVv
LmNwcAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZGVvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA0LDYgKzIwNCwxMiBAQCB2b2lkIFJlbmRl
clZpZGVvOjpwYWludFJlcGxhY2VkKFBhaW50SW5mCiAgICAgTGF5b3V0UmVjdCBjb250ZW50UmVj
dCA9IGNvbnRlbnRCb3hSZWN0KCk7CiAgICAgY29udGVudFJlY3QubW92ZUJ5KHBhaW50T2Zmc2V0
KTsKICAgICBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQgPSBwYWludEluZm8uY29udGV4dCgpOwor
CisgICAgaWYgKGNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAg
Y29udGV4dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCiAgICAgYm9vbCBjbGlwID0gIWNvbnRlbnRSZWN0LmNvbnRhaW5zKHJlY3QpOwogICAg
IEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihjb250ZXh0LCBjbGlwKTsKICAg
ICBpZiAoY2xpcCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWludGVyLmNw
cAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWlu
dGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkRpc3Bs
YXlSdW4uaCIKICNpbmNsdWRlICJGaWx0ZXJPcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAiR3JhcGhp
Y3NDb250ZXh0LmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIklu
bGluZVRleHRCb3guaCIKICNpbmNsdWRlICJSZW5kZXJDb21iaW5lVGV4dC5oIgogI2luY2x1ZGUg
IlJlbmRlckxheWVyLmgiCkBAIC0xMDUsNiArMTA2LDEzIEBAIHZvaWQgVGV4dFBhaW50ZXI6OnBh
aW50VGV4dE9yRW1waGFzaXNNYXIKICAgICBmbG9hdCBlbXBoYXNpc01hcmtPZmZzZXQsIGNvbnN0
IEZsb2F0UG9pbnQmIHRleHRPcmlnaW4sIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBl
bmRPZmZzZXQpCiB7CiAgICAgQVNTRVJUKHN0YXJ0T2Zmc2V0IDwgZW5kT2Zmc2V0KTsKKworICAg
IGlmIChtX2NvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkpIHsKKyAgICAgICAgaWYg
KCF0ZXh0UnVuLnRleHQoKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkuaXNBbGxTcGVjaWFsQ2hh
cmFjdGVyczxpc0hUTUxTcGFjZT4oKSkKKyAgICAgICAgICAgIG1fY29udGV4dC5zZXRDb250ZW50
ZnVsUGFpbnREZXRlY3RlZCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKCFl
bXBoYXNpc01hcmsuaXNFbXB0eSgpKQogICAgICAgICBtX2NvbnRleHQuZHJhd0VtcGhhc2lzTWFy
a3MoZm9udCwgdGV4dFJ1biwgZW1waGFzaXNNYXJrLCB0ZXh0T3JpZ2luICsgRmxvYXRTaXplKDAs
IGVtcGhhc2lzTWFya09mZnNldCksIHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpOwogICAgIGVsc2Ug
aWYgKHN0YXJ0T2Zmc2V0IHx8IGVuZE9mZnNldCA8IHRleHRSdW4ubGVuZ3RoKCkgfHwgIW1fZ2x5
cGhEaXNwbGF5TGlzdCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHUm9vdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSb290LmNwcAkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjks
NyBAQAogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJMYXlvdXRSZXBhaW50
ZXIuaCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUmVuZGVyQ2hpbGRJdGVyYXRvci5o
IgogI2luY2x1ZGUgIlJlbmRlckl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIK
ICNpbmNsdWRlICJSZW5kZXJMYXlvdXRTdGF0ZS5oIgpAQCAtMjExLDcgKzIxMiw3IEBAIHZvaWQg
UmVuZGVyU1ZHUm9vdDo6cGFpbnRSZXBsYWNlZChQYWludEkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgLy8gRG9uJ3QgcGFpbnQsIGlmIHRoZSBjb250ZXh0IGV4cGxpY2l0bHkgZGlzYWJsZWQgaXQu
Ci0gICAgaWYgKHBhaW50SW5mby5jb250ZXh0KCkucGFpbnRpbmdEaXNhYmxlZCgpKQorICAgIGlm
IChwYWludEluZm8uY29udGV4dCgpLnBhaW50aW5nRGlzYWJsZWQoKSAmJiAhcGFpbnRJbmZvLmNv
bnRleHQoKS5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgLy8gU1ZHIG91dGxpbmVzIGFyZSBwYWludGVkIGR1cmluZyBQYWludFBoYXNlOjpGb3JlZ3Jv
dW5kLgpAQCAtMjIzLDYgKzIyNCwxNyBAQCB2b2lkIFJlbmRlclNWR1Jvb3Q6OnBhaW50UmVwbGFj
ZWQoUGFpbnRJCiAgICAgaWYgKHN2Z1NWR0VsZW1lbnQoKS5oYXNFbXB0eVZpZXdCb3goKSkKICAg
ICAgICAgcmV0dXJuOwogCisgICAgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0ID0gcGFpbnRJbmZv
LmNvbnRleHQoKTsKKyAgICBpZiAoY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkg
eworICAgICAgICBmb3IgKGF1dG8mIGN1cnJlbnQgOiBjaGlsZHJlbk9mVHlwZTxSZW5kZXJPYmpl
Y3Q+KCp0aGlzKSkgeworICAgICAgICAgICAgaWYgKCFjdXJyZW50LmlzU1ZHSGlkZGVuQ29udGFp
bmVyKCkpIHsKKyAgICAgICAgICAgICAgICBjb250ZXh0LnNldENvbnRlbnRmdWxQYWludERldGVj
dGVkKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICAvLyBEb24ndCBwYWludCBpZiB3ZSBkb24n
dCBoYXZlIGtpZHMsIGV4Y2VwdCBpZiB3ZSBoYXZlIGZpbHRlcnMgd2Ugc2hvdWxkIHBhaW50IHRo
b3NlLgogICAgIGlmICghZmlyc3RDaGlsZCgpKSB7CiAgICAgICAgIGF1dG8qIHJlc291cmNlcyA9
IFNWR1Jlc291cmNlc0NhY2hlOjpjYWNoZWRSZXNvdXJjZXNGb3JSZW5kZXJlcigqdGhpcyk7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwkocmV2aXNpb24gMjYwNjM5KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRo
YWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29u
dGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBhIHJ1bnRpbWUgZmxhZyBmb3IgcGFpbnQtdGltaW5nIChwYWludFRpbWluZ0Vu
YWJsZWQpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJl
bmNlc1NldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0UGFp
bnRUaW1pbmdFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
c1JlZlByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0
TWFuYWdlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbjo6dXBkYXRlUHJlZmVyZW5jZXNTdG9yZSk6CisKIDIwMjAtMDQtMjMgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQm91bmNlIGRp
c3BsYXlXYXNSZWZyZXNoZWQoKSB2aWEgRXZlbnREaXNwYXRjaGVyCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHJldmlzaW9uIDI2MDYzOSkKKysrIFNvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTgy
NSw2ICs4MjUsMTMgQEAgTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ6CiAgIGh1bWFuUmVhZGFi
bGVEZXNjcmlwdGlvbjogIlVzZSBtb2Rlcm4gbWVkaWEgY29udHJvbHMgbG9vayIKICAgd2ViY29y
ZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAorUGFpbnRUaW1pbmdFbmFibGVkOgor
ICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6
ICJQYWludCBUaW1pbmciCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQYWlu
dFRpbWluZyBBUEkiCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisK
IFJlc291cmNlVGltaW5nRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRy
dWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuY3BwCShyZXZpc2lvbiAyNjA2MzkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgyMCw2ICsxODIwLDE2IEBA
IGJvb2wgV0tQcmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFcKICAgICByZXR1cm4gdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+dXNlclRpbWluZ0VuYWJsZWQoKTsKIH0KIAordm9pZCBXS1By
ZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYsIGJvb2wgZmxhZykKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRQYWlu
dFRpbWluZ0VuYWJsZWQoZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFBhaW50VGlt
aW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVy
biB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5wYWludFRpbWluZ0VuYWJsZWQoKTsKK30KKwogdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoZmxhZyk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgJKHJl
dmlzaW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXNSZWZQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwMCw2ICs1MDAsMTAgQEAgV0tf
RVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbgogV0tfRVhQT1JUIGJvb2wgV0tQ
cmVmZXJlbmNlc0dldFVzZXJUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCiAvLyBE
ZWZhdWx0cyB0byBmYWxzZQorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFBhaW50VGlt
aW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOworV0tfRVhQT1JUIGJvb2wg
V0tQcmVmZXJlbmNlc0dldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKKwor
Ly8gRGVmYXVsdHMgdG8gZmFsc2UKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRSZXNv
dXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9S
VCBib29sIFdLUHJlZmVyZW5jZXNHZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZik7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAJKHJldmlz
aW9uIDI2MDYzOSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIyLDYgKzEyMiw3
IEBAIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGEKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENhY2hlQVBJRW5hYmxlZChzdG9y
ZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNhY2hlQVBJRW5hYmxlZEtl
eSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRG
ZXRjaEFQSUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
OjpmZXRjaEFQSUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp1c2VyVGltaW5nRW5hYmxlZEtleSgpKSk7CisgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRQYWludFRpbWluZ0VuYWJs
ZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYWludFRpbWlu
Z0VuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6cmVzb3VyY2VUaW1pbmdFbmFibGVkS2V5KCkpKTsKICAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJS2VlcEFsaXZl
RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZldGNo
QVBJS2VlcEFsaXZlRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVzdHJpY3RlZEhUVFBSZXNwb25z
ZUFjY2Vzc0tleSgpKSk7CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjA2MzkpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wNC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxu
b2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1
bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBwcmVmZXJlbmNlIGtleSBmb3IgcGFpbnQtdGltaW5nLgorCisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9s
bGVyOjpyZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKwogMjAyMC0wNC0yMyAg
WXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIHN0cmVzcy9lbnN1
cmUtY3Jhc2guanMgc2hvdWxkbid0IHNwZXcgc3R1ZmYgb250byBteSBzY3JlZW4KSW5kZXg6IFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyNjA2Mzkp
CisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTM2LDYgKzkzNiw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVy
ZW5jZXNUb0MKICAgICBXS1ByZWZlcmVuY2VzU2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKHBy
ZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1pbmdFbmFi
bGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0VXNlclRpbWluZ0Vu
YWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOworICAgIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWlu
Z0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVBy
ZWxvYWRpbmdFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0
TWVkaWFQbGF5YmFja0FsbG93c0lubGluZShwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVm
ZXJlbmNlc1NldElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRl
KHByZWZlcmVuY2VzLCBmYWxzZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjA2MzkpCisrKyBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0NyBAQAorMjAyMC0w
NC0xMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVt
ZW50IEZDUCAoZmlyc3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3RzIGZvciBzb21lIGZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQgKEZDUCkgdXNlLWNhc2VzLgorICAgICAgICBFbnN1cmUgdGhhdCBGQ1Agd29y
a3Mgd2VsbCB3aXRoIFZORSAoZmlyc3QgcGFpbnQgZGVsYXkgdW50aWwgY29udGVudHMgYXJlIHZp
c3VhbGx5IG5vbi1lbXB0eSkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICAgICAgICAgRGlzYWJsZSBwYWludCB0aW1pbmcgZm9yIFdlYktpdDEuCisKKyAgICAgICAg
KiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbDogQWRkZWQu
CisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpz
OiBBZGRlZC4KKyAgICAgICAgICAgICAgICBUZXN0IGV4aXN0ZW5jZSBvZiBwYWludCB0aW1pbmcg
QVBJIG9uIHRoZSB3aW5kb3cgb2JqZWN0LgorCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL2Zp
cnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogcGVyZm9ybWFuY2UtYXBpL2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZnJhbWVzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9maXJzdC1jb250ZW50ZnVsLXBhaW50LXdp
dGgtd29ya2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBp
L2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtd2l0aC13b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbDogQWRkZWQuCisg
ICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbDogQWRkZWQuCisg
ICAgICAgICAgICAgICAgVGVzdCB0aGF0IEZDUCBpcyBub3QgYXZhaWxhYmxlIGZvciBjcm9zcy1v
cmlnaW4gZnJhbWVzIGFuZCB3b3JrZXJzLgorCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3Bl
cmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmly
c3QtY29udGVudGZ1bC1wYWludC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1h
cGkvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qczogQWRkZWQuCisgICAgICAgIChhc3luYyB3
YWl0Rm9yRkNQKToKKyAgICAgICAgICAgICAgICBUZXN0IHRoYXQgcGVyZm9ybWFuY2Ugb2JzZXJ2
ZXJzIGFyZSBjYWxsZWQgZm9yIEZDUC4KKworICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFu
Y2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHkt
Zm9yLXN0eWxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2Uv
cGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9y
LXN0eWxlLWV4cGVjdGVkLnR4dDogQWRkZWQKKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1h
bmNlL3Jlc291cmNlcy9zbG93c3R5bGUucGhwOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zdHlsZS5jc3M6ICBBZGRlZC4KKyAgICAgICAgICAgICAg
ICBJZiBhIHBlbmRpbmcgc3R5bGVzaGVldCBibG9ja3MgcGFpbnRpbmcsIG1ha2Ugc3VyZSBGQ1Ag
aXMgcmVwb3J0ZWQgb25seSBhZnRlciBzdHlsZXNoZWV0IGhhcyBsb2FkZWQuCisKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFu
Y2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHkt
Zm9yLW51bS1jaGFycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
cGVyZm9ybWFuY2UvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5j
ZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2Vz
L3Nsb3dzY3JpcHQucGhwOiBBZGRlZC4KKyAgICAgICAgICAgICAgICBJZiBWTkUgZHVlIHRvIG51
bWJlciBvZiBjaGFyYWN0ZXJzIGJsb2NrcyBwYWludGluZywgbWFrZSBzdXJlIEZDUCBpcyByZXBv
cnRlZCBvbmx5IGFmdGVyIHBhaW50aW5nIGlzIHVuYmxvY2tlZC4KKwogMjAyMC0wNC0yNCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgZ2V0RGlzcGxheU1lZGlh
IGlzIG5vdCByZXNwZWN0aW5nIGFzcGVjdCByYXRpbyB3aXRoIG1heCBjb25zdHJhaW50cwpJbmRl
eDogTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyNjA2MzkpCisrKyBMYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC0yMDgsNiArMjA4LDkgQEAgZmFzdC92aXN1
YWwtdmlld3BvcnQvcnViYmVyYmFuZGluZy12aWV3cAogIyBEYXRhRGV0ZWN0b3JzIHRlc3RzIG9u
bHkgbWFrZSBzZW5zZSBvbiBNYWMKIGZhc3QvZXZlbnRzL2RvLW5vdC1kcmFnLWFuZC1kcm9wLWRh
dGEtZGV0ZWN0b3JzLWxpbmsuaHRtbCBbIFNraXAgXQogCisjIEEgcm91bmRpbmcgZXJyb3IgbWF5
IGNhdXNlIDkwZGVnIDNkLXJvdGF0ZWQgZWxlbWVudHMgdG8gY291bnQgYXMgcGFpbnRlZAoraW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWlu
dmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCisKIHdlYmtpdC5vcmcvYi8yMDI2MTcg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9waWN0dXJlLWluLXBpY3R1cmUgWyBTa2lw
IF0KIAogIyBQaVAgQVBJIHRlc3RzIGFyZSBvbmx5IHJlbGV2YW50IG9uIG1hYyBhbmQgaVBhZApJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWlu
dC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNl
L3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZv
ci1udW0tY2hhcnMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12
aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzIEBACitQQVNTIHBhaW50RW50cnkuc3RhcnRUaW1lID4gdGltZXN0YW1w
c1tleHBlY3RlZEl0ZXJhdGlvbnNdIGlzIHRydWUKK1BBU1MgcGFpbnRFbnRyeS5zdGFydFRpbWUg
PCB0aW1lc3RhbXBzW2V4cGVjdGVkSXRlcmF0aW9ucyArIDJdIGlzIHRydWUKKwpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmct
ZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWlu
dC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJm
b3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVt
LWNoYXJzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3MyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCkKKyAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICB2YXIgc3R5
bGVFbnRyeSA9IG51bGwKKyAgICB2YXIgcGFpbnRFbnRyeSA9IG51bGwKKyAgICB2YXIgdGltZXN0
YW1wcyA9IFtdCisgICAgdmFyIGNoYXJzUGVySXRlcmF0aW9uID0gODAKKyAgICB2YXIgY2hhclRo
cmVzaG9sZCA9IDIwMAorICAgIHZhciBleHBlY3RlZEl0ZXJhdGlvbnMgPSBNYXRoLmNlaWwoY2hh
clRocmVzaG9sZCAvIGNoYXJzUGVySXRlcmF0aW9uKQorCisgICAgZnVuY3Rpb24gc2xvd1N0cmlu
ZyhzdHIsIGRlbGF5KSB7CisgICAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3NjcmlwdCcpCisgICAgICAgIGNvbnN0IHNvdXJjZSA9IGBkb2N1bWVudC53cml0ZSgn
JHtzdHJ9Jyk7IHRpbWVzdGFtcHMucHVzaCgke3BlcmZvcm1hbmNlLm5vdygpfSk7IGNoZWNrKCk7
YAorICAgICAgICBzY3JpcHQuc3JjID0gYC4vcmVzb3VyY2VzL3Nsb3dzY3JpcHQucGhwP2NhY2hl
QnVzdGVyPSR7cGVyZm9ybWFuY2Uubm93KCl9JmRlbGF5PSR7ZGVsYXl9JnNjcmlwdD0ke3NvdXJj
ZX1gCisgICAgICAgIGRvY3VtZW50LndyaXRlKHNjcmlwdC5vdXRlckhUTUwpCisgICAgfQorCisg
ICAgZnVuY3Rpb24gY2hlY2soKSB7CisgICAgICAgIGlmICh0aW1lc3RhbXBzLmxlbmd0aCA8IGV4
cGVjdGVkSXRlcmF0aW9ucyArIDMgfHwgIXBhaW50RW50cnkpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAnJworCisgICAgICAgIHNob3Vs
ZEJlVHJ1ZSgicGFpbnRFbnRyeS5zdGFydFRpbWUgPiB0aW1lc3RhbXBzW2V4cGVjdGVkSXRlcmF0
aW9uc10iKQorICAgICAgICBzaG91bGRCZVRydWUoInBhaW50RW50cnkuc3RhcnRUaW1lIDwgdGlt
ZXN0YW1wc1tleHBlY3RlZEl0ZXJhdGlvbnMgKyAyXSIpCisgICAgICAgIAorICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKQor
ICAgIH0KKworICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlz
dCA9PiB7CisgICAgICAgIHBhaW50RW50cnkgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBl
KCdwYWludCcpWzBdCisgICAgICAgIGlmIChwYWludEVudHJ5KQorICAgICAgICAgICAgY2hlY2so
KQorICAgIH0pOworICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsicGFpbnQiXX0p
CisKKyAgICBmdW5jdGlvbiBuZXh0KCkgeworICAgICAgICBzbG93U3RyaW5nKCdcdCAnICsgQXJy
YXkoY2hhcnNQZXJJdGVyYXRpb24gLyAyKS5maWxsKCcgMCBcdCBBJykuam9pbignJykgKyAiICAg
XG5cdCIsIDAuMywgY2hhcnNQZXJJdGVyYXRpb24pCisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgp
PC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQo
KTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0
KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4
dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5l
eHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5u
ZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+
bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0
Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlw
dD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3Jt
YW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9y
bWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1w
dHktZm9yLXN0eWxlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXIt
dmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyIEBACitQQVNTIHBhaW50RW50cnkuc3RhcnRUaW1lID49IHN0eWxlRW50cnku
c3RhcnRUaW1lICsgc3R5bGVFbnRyeS5kdXJhdGlvbiBpcyB0cnVlCitURVhUCkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1m
Y3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGlt
aW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1w
YWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKQorICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKKyAgICB9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHZhciBzdHlsZUVudHJ5ID0gbnVs
bDsKKyAgICB2YXIgcGFpbnRFbnRyeSA9IG51bGw7CisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+IHsKKyAgICAgICAgY29uc3QgcGFpbnRFbnRyaWVz
ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncGFpbnQnKTsKKyAgICAgICAgaWYgKHBh
aW50RW50cmllcy5sZW5ndGgpCisgICAgICAgICAgICBwYWludEVudHJ5ID0gcGFpbnRFbnRyaWVz
WzBdOworCisgICAgICAgIGNvbnN0IHJlc291cmNlRW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeVR5cGUoJ3Jlc291cmNlJykuZmlsdGVyKHIgPT4gci5uYW1lLmluY2x1ZGVzKCdzbG93
c3R5bGUucGhwJykpOworICAgICAgICBpZiAocmVzb3VyY2VFbnRyaWVzLmxlbmd0aCkKKyAgICAg
ICAgICAgIHN0eWxlRW50cnkgPSByZXNvdXJjZUVudHJpZXNbMF07CisKKyAgICAgICAgaWYgKCFz
dHlsZUVudHJ5IHx8ICFwYWludEVudHJ5KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAg
IHNob3VsZEJlVHJ1ZSgicGFpbnRFbnRyeS5zdGFydFRpbWUgPj0gc3R5bGVFbnRyeS5zdGFydFRp
bWUgKyBzdHlsZUVudHJ5LmR1cmF0aW9uIik7CisgICAgICAgICAgICAgICAgCisgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OworICAgIH0pOworICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsicGFpbnQiLCAi
cmVzb3VyY2UiXX0pOworPC9zY3JpcHQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4v
cmVzb3VyY2VzL3Nsb3dzdHlsZS5waHA/ZGVsYXk9MC41IiAvPgorPC9oZWFkPgorPGJvZHk+CitU
RVhUCis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZv
cm1hbmNlL3Jlc291cmNlcy9zbG93c2NyaXB0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c2NyaXB0LnBocAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9z
bG93c2NyaXB0LnBocAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkgQEAKKzw/cGhwCitpZiAo
aXNzZXQoJF9HRVRbImRlbGF5Il0pKQorICAgIHNsZWVwKCRfR0VUWyJkZWxheSJdKTsKK2hlYWRl
cignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZScpOworaGVhZGVyKCdD
b250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdCcpOworCitlY2hvKCRfR0VUWyJzY3JpcHQiXSkK
Kz8+CisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2Vz
L3Nsb3dzdHlsZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJm
b3JtYW5jZS9yZXNvdXJjZXMvc2xvd3N0eWxlLnBocAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9zbG93c3R5bGUucGhwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNiBAQAorPD9waHAKK2lmIChpc3NldCgkX0dFVFsiZGVsYXki
XSkpCisgICAgc2xlZXAoJF9HRVRbImRlbGF5Il0pOworaGVhZGVyKCdDYWNoZS1Db250cm9sOiBu
by1jYWNoZSwgbXVzdC1yZXZhbGlkYXRlJyk7CitoZWFkZXIoJ0xvY2F0aW9uOiBzdHlsZS5jc3Mn
KTsKKz8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Jlc291cmNl
cy9zdHlsZS5jc3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3Jt
YW5jZS9yZXNvdXJjZXMvc3R5bGUuY3NzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL3N0eWxlLmNzcwkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMgQEAKK2JvZHkgeworICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuCit9Owpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwkocmV2aXNpb24gMjYwNjM5KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDg1IEBACisyMDIwLTA0LTIxICBOb2FtIFJv
c2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJz
dCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW1wb3J0ZWQgdzNjIHRlc3RzIGZvciBmaXJzdCBjb250ZW50ZnVsIHBhaW50
IGFuZCB1cGRhdGVkIHRlc3QgaGFybmVzcy4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQt
ZXhwZWN0YXRpb25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dy
b3VuZC1zaXplLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJn
LWltYWdlLXNldC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVz
Y2VuZGFudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFu
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLTNkLXJvdGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWlu
dmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNp
dHktZGVzY2VuZGFudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3Bh
Y2l0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9m
LWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5z
bGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LWRpc3BsYXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtaW1hZ2UuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtdGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LXZpc2liaWxpdHkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3Zn
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFw
aGljLXBzZXVkby5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZp
ZGVvLWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZp
ZGVvLXBvc3Rlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hp
dGVzcGFjZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRs
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBu
ZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNv
dXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy91dGlscy5qczogQWRkZWQuCisgICAgICAgICh3YWl0Rm9yQW5pbWF0aW9uRnJhbWVz
KToKKyAgICAgICAgKGFzeW5jIGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQpOgorICAgICAg
ICAoYXN5bmMgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQucmV0dXJuLm5ldy5Qcm9taXNlKToK
KyAgICAgICAgKGFzeW5jIGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKGFz
eW5jIHRlc3RfZmNwKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzOgorICAgICAgICAocHJvbWlzZV9yZWplY3RzX2pzKToKKyAgICAgICAgKHBy
b21pc2VfcmVqZWN0c19kb20pOgorICAgICAgICAocHJvbWlzZV9yZWplY3RzX2V4YWN0bHkpOgor
ICAgICAgICAoZm9ybWF0X3ZhbHVlKToKKwogMjAyMC0wNC0yNCAgUm9iIEJ1aXMgIDxyYnVpc0Bp
Z2FsaWEuY29tPgogCiAgICAgICAgIEltcG9ydCBmZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L2ZldGNoLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1w
b3J0LWV4cGVjdGF0aW9ucy5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCShyZXZpc2lvbiAyNjA2Mzkp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlv
bnMuanNvbgkod29ya2luZyBjb3B5KQpAQCAtMTMsNiArMTMsMTEgQEAKICAgICAiY3NzL2dlb21l
dHJ5IjogImltcG9ydCIsIAogICAgICJjc3Mvc3VwcG9ydCI6ICJpbXBvcnQiLCAKICAgICAiY3Vz
dG9tLWVsZW1lbnRzIjogImltcG9ydCIsIAorICAgICJwYWludC10aW1pbmcvIjogImltcG9ydCIs
IAorICAgICJwYWludC10aW1pbmcvZmNwLW9ubHkiOiAiaW1wb3J0IiwgCisgICAgInBhaW50LXRp
bWluZy9yZXNvdXJjZXMiOiAiaW1wb3J0IiwgCisgICAgInBhaW50LXRpbWluZy9yZXNvdXJjZXMv
IjogImltcG9ydCIsIAorICAgICJyZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiOiAiaW1wb3J0Iiwg
CiAgICAgInNoYWRvdy1kb20iOiAiaW1wb3J0IiwgCiAgICAgInRvb2xzIjogImltcG9ydCIsIAog
ICAgICJ3ZWItYW5pbWF0aW9ucyI6ICJpbXBvcnQiLCAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNr
Z3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNr
Z3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
YWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQg
c2l6ZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gYmFja2dyb3VuZCBzaXplPC90aXRsZT4KKzxz
dHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAg
d2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgYmFja2dyb3Vu
ZC1zaXplOiAwIDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVk
IGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAg
YmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJt
YWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFp
bnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgc2l6ZS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyBkdWUgdG8gYmFja2dyb3VuZCBpbWFnZSBpbiBpbWFnZS1zZXQuIAorCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJn
LWltYWdlLXNldC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1z
ZXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRv
IGJhY2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFp
biB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9
CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0
LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAt
d2Via2l0LWltYWdlLXNldCh1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKSAxeCk7CisgICAg
ICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXNldCh1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMu
cG5nKSAxeCk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3Jp
cHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJh
Y2tncm91bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxl
LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBmaXJlIGZvciBiYWNrZ3JvdW5kIGlt
YWdlIG9ubHkgd2hlbiB2aXNpYmxlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAv
KiBjb250ZW50ZnVsIGFuZCBwcmVGQ1AgY2xhc3NlcyBhcmUgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBz
Y3JpcHQuICovCisgICAgI21haW4ucHJlRkNQIHsKKyAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVu
OworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwsICAjbWFpbi5wcmVGQ1AgeworICAgICAg
ICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9
CisKKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsK
KyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0
aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0
ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dyb3VuZCBpbWFn
ZSBvbmx5IHdoZW4gdmlzaWJsZS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBDYW52YXMgc2hvdWxkIGNvdW50IGFzIGNvbnRl
bnRmdWwgd2hlbiBjb250ZXh0IGlzIGNyZWF0ZWQgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52
YXMtY29udGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4
dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+
Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCB3aGVuIGNhbnZhcyBj
b250ZXh0IGlzIGNyZWF0ZWQ8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjUw
IiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGlt
aW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJv
bWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0
IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCk7CisgICAgY29uc3QgY2FudmFzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhbnZhcycpOworICAgIGNvbnN0IGNvbnRleHQgPSBjYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICBjb250ZXh0LmZpbGxSZWN0KDAsIDAsIDEwMCwgMTAw
KTsKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgJ0NhbnZh
cyBzaG91bGQgY291bnQgYXMgY29udGVudGZ1bCB3aGVuIGNvbnRleHQgaXMgY3JlYXRlZCcpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVu
dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEdyYWRpZW50cyBzaG91
bGQgbm90IGNvdW50IGFzIGNvbnRlbnRmdWwgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVu
dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgbm90IGZpcmUgd2l0aCBncmFkaWVudC1vbmx5
IGJhY2tncm91bmRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRo
OiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFn
ZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgb3JhbmdlLCBibHVlKTsKKyAgICB9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQ
YWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2Fp
dCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOwor
ICAgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgICdHcmFk
aWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsJyk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVz
Y2VuZGFudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90YXRpbmcgaW50byB2
aWV3LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFu
dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRl
c2NlbmRhbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNk
LXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcg
VGVzdDogRkNQIGR1ZSB0byAzZCByZXZlYWxpbmcgb2YgZGVzY2VuZGFudHM8L3RpdGxlPgorPHN0
eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICAgICAgdG9wOiAwOworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVkZWcpOworICAg
ICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOworICAgIH0KKworICAgIC8qCisgICAg
ICAgVGhpcyB0ZXN0cyB0aGF0IGdpdmVuIG11bHRpcGxpY2F0aW9uIGVmZmVjdCBvZiAzZCB0cmFu
c2Zvcm1zIG9uIGJvdW5kaW5nIHJlY3QsCisgICAgICAgQW4gZWxlbWVudCBjb3VudHMgYXMgY29u
dGVudGZ1bC9wYWludGFibGUgb25seSB3aGVuIGl0cyBib3VuZGluZyByZWN0IGlzIHRydWx5IG5v
bi1lbXB0eSAqLworICAgICNjaGlsZCB7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCg0NWRl
Zyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3Rf
ZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3Jt
OiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0i
Y2hpbGQiPlRleHQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90YXRp
bmcgaW50byB2aWV3LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXcuIAorCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRp
bWluZyBUZXN0OiBGQ1AgZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldzwvdGl0bGU+Cis8c3R5
bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDkw
ZGVnKTsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAg
fQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlw
dC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOwor
ICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRp
bHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+VGV4dDwvZGl2PgorPHNjcmlwdD4KKyAg
ICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gM2Qgcm90YXRp
b24gaW50byB2aWV3LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRv
IHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS1zY2FsZS10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgRmlyc3QgY29udGVu
dGZ1bCBwYWludCBmaXJlcyB3aGVuIHJldmVhbGVkIGR1cmluZyB0cmFuc2l0aW9uLiAKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGluIHRyYW5zaXRpb248
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9y
bTogc2NhbGUoMCk7CisgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxczsKKyAgICAgICAg
cG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAgLyogY29u
dGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFp
bi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKKyAgICB9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KKzxkaXYgaWQ9Im1haW4iPlRFWFQ8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3Ao
IkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcgdHJhbnNp
dGlvbi4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS1zY2FsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtc2NhbGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNj
YWxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0
byBzY2FsZSBjaGFuZ2U8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lk
dGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7Cisg
ICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3Vy
Y2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRl
ZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAg
ICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48
L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmly
ZXMgZHVlIHRvIHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorSU5WSVNJQkxFCisKK1BBU1MgRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlz
aWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFp
bnQgVGltaW5nIFRlc3Q6IEZDUCBzaG91bGQgc3RpbGwgZmlyZSBmb3IgaW52aXNpYmxlIHRleHQ8
L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZl
OworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
IHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7Cisg
ICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNj
cmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlz
aWJsZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIElOVklTSUJMRQor
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiIpCis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRh
bnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRl
c2NlbmRhbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4
dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3Rv
ciBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0
eS1kZXNjZW5kYW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVz
Y2VuZGFudC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2Nl
bmRhbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVl
IHRvIGFuY2VzdG9yIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAg
ICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAw
cHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0K
KworICAgICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29u
dGVudGZ1bCBhbmQgaW50ZXJtZWRpYXRlIGNsYXNzZXMgYXJlIGRlZmluZWQgaW4gdGVzdF9mY3Ag
c2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0
eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgI2NoaWxkIHsKKyAgICAgICAg
b3BhY2l0eTogMTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgeworICAgICAgICBv
cGFjaXR5OiAwOworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFj
aXR5OiAwLjU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlk
PSJjaGlsZCI+VGV4dDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3Np
dGl2ZSBvcGFjaXR5LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LW9wYWNpdHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFj
aXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVsZW1l
bnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9w
YWNpdHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVl
IHRvIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6
IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAg
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3Jv
dW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgb3BhY2l0
eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFjaXR5
OiAwLjE7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+
CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIG9wYWNp
dHktcmV2ZWFsZWQgZWxlbWVudC4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0
LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIGR1ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQu
IAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHRyYW5zZm9y
bS1iYXNlZCBpbnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudDwvdGl0bGU+Cis8c3R5bGU+CisgICAg
I21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMDBweCk7
CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBi
YWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisK
KyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAq
LworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBp
bnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW91dC1vZi1ib3VuZHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBU
ZXN0OiBGQ1AgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50PC90aXRsZT4KKzxzdHls
ZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgbGVmdDogLTEwMDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZl
OworICAgICAgICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNv
dXJjZXMvY2lyY2xlcy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMg
ZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7Cisg
ICAgICAgIGxlZnQ6IDBweDsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2
PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBk
dWUgdG8gaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIikKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtZGlzcGxheS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQg
dGV4dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+
Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRv
LWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3Np
dGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhU
IjsKKyAgICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNs
YXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRm
dWw6YWZ0ZXIgeworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxk
aXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1p
bWFnZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVt
ZW50LWltYWdlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNl
dWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1l
bGVtZW50IGltYWdlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVh
ZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1
ZG8tZWxlbWVudCBpbWFnZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4g
dGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAg
ICBjb250ZW50OiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KKzxkaXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4iKQor
PC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC1vcGFjaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4gCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0dGlu
ZyBwb3NpdGl2ZSBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAg
IHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDog
IlRFWFQiOworICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwg
Y2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVu
dGZ1bDphZnRlciB7CisgICAgICAgIG9wYWNpdHk6IDAuNTsKKyAgICB9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxk
aXYgaWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZl
IG9wYWNpdHkuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1
ZG8tZWxlbWVudC10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LXRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZD
UCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4g
eworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlz
IGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0
ZXIgeworICAgICAgICBjb250ZW50OiAiVEVYVCIKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9
Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVs
IHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4KKzwv
Ym9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2li
aWxpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFu
Y2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcg
dmlzaWJsZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjog
cmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAg
ICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xh
c3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1
bDphZnRlciB7CisgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+
Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3Qg
Y29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlz
aWJsZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
c3ZnLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIHdoZW4gU1ZHIGJlY29tZXMgY29udGVudGZ1bC4gCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1zdmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQg
VGltaW5nIFRlc3Q6IEZDUCB3aXRoIFNWRzwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4gewor
ICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxl
ZnQ6IDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgIH0KKworICAgICNjaXJj
bGUgeworICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNs
YXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRm
dWwgI2NpcmNsZSB7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0Pgor
PGRpdiBpZD0ibWFpbiI+CisgIDxzdmcgdmlld0JveD0iMCAwIDEwIDEwIiB4bWxucz0iaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmciCisgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hsaW5rIj4KKyAgICA8ZGVmcz4KKyAgICAgIDxjaXJjbGUgaWQ9Im15Q2lyY2xlIiBj
eD0iNSIgY3k9IjUiIHI9IjQiIHN0cm9rZT0iYmx1ZSIvPgorICAgIDwvZGVmcz4KKyAgICA8dXNl
IGlkPSJjaXJjbGUiIGhyZWY9IiNteUNpcmNsZSIgZmlsbD0iZ3JlZW4iIC8+CisgIDwvc3ZnPgor
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIHdoZW4gU1ZHIGJlY29tZXMgY29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisK
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVGV4dCBpbnB1dCBzaG91bGQgYmVjb21lIGNv
bnRlbnRmdWwgd2hlbiBpdHMgdmFsdWUgaXMgbm9uLWVtcHR5IAorCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdGV4dC1pbnB1dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRp
dGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIGZvciBub24tZW1wdHkg
dGV4dCBpbnB1dDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPGlucHV0IGlkPSJpbnB1dCIgdHlwZT0idGV4dCIgLz4KKzxz
Y3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25k
aXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qg
c3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50
ZnVsUGFpbnQodCk7CisgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdpbnB1dCcpOworICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsICcgICcpOworICAg
ICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgICAgIGlucHV0LnNl
dEF0dHJpYnV0ZSgndmFsdWUnLCAndmFsdWUnKTsKKyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29u
dGVudGZ1bFBhaW50KHQpOworICB9LCAnVGV4dCBpbnB1dCBzaG91bGQgYmVjb21lIGNvbnRlbnRm
dWwgd2hlbiBpdHMgdmFsdWUgaXMgbm9uLWVtcHR5Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorQQorCitQQVNTIEZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgb25seSB3aGVuIHNvbWUgb2YgdGhlIHRleHQgaXMgdmlz
aWJsZSwgY29uc2lkZXJpbmcgOjpmaXJzdC1sZXR0ZXIuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
dHlwb2dyYXBoaWMtcHNldWRvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9n
cmFwaGljLXBzZXVkby5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3Jh
cGhpYy1wc2V1ZG8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBG
Q1Agc2hvdWxkIG5vdCBmaXJlIHdoZW4gYWxsIHRleHQgaXMgaGlkZGVuIGR1ZSB0byB0eXBvZ3Jh
cGhpYyBwc2V1ZG8tZWxlbWVudHM8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAg
ICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW4gKjo6Zmlyc3QtbGV0dGVyIHsKKyAgICAg
ICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmlu
ZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgKjo6Zmlyc3Qt
bGV0dGVyIHsKKyAgICAgICAgb3BhY2l0eTogMTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9
Im1haW4iPgorICAgIDxkaXY+QTwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNw
KCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIG9ubHkgd2hlbiBzb21lIG9mIHRoZSB0ZXh0
IGlzIHZpc2libGUsIGNvbnNpZGVyaW5nIDo6Zmlyc3QtbGV0dGVyLiIpCis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29t
ZSBjb250ZW50ZnVsIHdoZW4gZmlyc3QgZnJhbWUgaXMgbG9hZGVkIAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdmlkZW8tZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8t
ZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRl
ZCB2aWRlbyBmcmFtZTwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHZpZGVvIGlkPSJ2aWRlbyIgYXV0b3BsYXk+PC92aWRl
bz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9w
cmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcg
aXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RD
b250ZW50ZnVsUGFpbnQodCk7CisgICAgICAvLyBTZXQgYWN0dWFsIHZpZGVvIGNvbnRlbnQgdG8g
dHJpZ2dlciBGQ1AuCisgICAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd2aWRlbycpOworICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdzcmMnLCAnL21lZGlhL3Rlc3Qu
bXA0Jyk7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgdmlk
ZW8ub25jYW5wbGF5ID0gcmVzb2x2ZTsKKyAgICAgIH0pOworICAgICAgYXdhaXQgYXNzZXJ0Rmly
c3RDb250ZW50ZnVsUGFpbnQodCk7CisgIH0sICdWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRm
dWwgd2hlbiBmaXJzdCBmcmFtZSBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRl
bnRmdWwgd2hlbiBwb3N0ZXIgaXMgbG9hZGVkIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8t
cG9zdGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRlZCB2aWRlbyBw
b3N0ZXI8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+
PC92aWRlbz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3Nl
cnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGlt
aW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RD
b250ZW50ZnVsUGFpbnQodCk7CisgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndmlkZW8nKTsKKyAgICBjb25zdCBzcmMgPSAnLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5n
JzsKKyAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpOworICAgIGltYWdlLnNyYyA9IHNyYzsK
KyAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3Bvc3RlcicsIHNyYyk7CisgICAgYXdhaXQgbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIGltYWdlLm9ubG9hZCA9IGFzeW5jICgpID0+IHJl
c29sdmUoKTsKKyAgICB9KQorICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQp
OworICB9LCAnVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9zdGVyIGlzIGxv
YWRlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
d2hpdGVzcGFjZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRl
c3BhY2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNw
YWNlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RFWFQKKwor
UEFTUyBXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bC4gCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXdoaXRlc3BhY2UuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFj
ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IFdoaXRlc3BhY2Ug
c2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFp
biB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4v
cmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDA7Cisg
ICAgfQorCisgICAgI3RleHQgeworICAgICAgICBkaXNwbGF5OiBub25lOworICAgIH0KKworICAg
IC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisg
ICAgI21haW4uY29udGVudGZ1bCAjdGV4dHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJ3aGl0ZXNwYWNlIj4g
ICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+
CisgICAgdGVzdF9mY3AoIldoaXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVs
LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRo
LXJ0bC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNTIEZDUCBz
aG91bGQgZmlyZSB3aGVuIGNvb3JkaW5hdGVzIGFyZSBuZWdhdGl2ZSwgaWYgd2l0aGluIGRvY3Vt
ZW50IHNjcm9sbGFibGUgYXJlYSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBU
aW1pbmcgVGVzdDogRkNQIGR1ZSB0byBkaXJlY3Rpb24gY2hhbmdlPC90aXRsZT4KKzxzdHlsZT4K
KyAgI3RleHQgeworICAgIHJpZ2h0OiAtMTAwcHg7CisgICAgcG9zaXRpb246IGFic29sdXRlOwor
ICB9CisKKyAgYm9keSB7CisgICAgZGlyZWN0aW9uOiBydGw7CisgIH0KKworICAjZHVtbXkgewor
ICAgIGJhY2tncm91bmQ6IHllbGxvdzsKKyAgICB3aWR0aDogMTBweDsKKyAgICBoZWlnaHQ6IDEw
cHg7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIGxlZnQ6IDA7CisgICAgdG9wOiAwOwor
ICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImR1bW15Ij48L2Rpdj4KKzxkaXYgaWQ9InRleHQiPlRF
WFQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFz
c2VydF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBU
aW1pbmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5v
Rmlyc3RDb250ZW50ZnVsUGFpbnQodCk7CisgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmRpcmVj
dGlvbiA9ICdsdHInCisgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVtbXknKS5zdHls
ZS5iYWNrZ3JvdW5kID0gJ2dyZWVuJworICAgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVs
UGFpbnQodCk7CisgIH0sICdGQ1Agc2hvdWxkIGZpcmUgd2hlbiBjb29yZGluYXRlcyBhcmUgbmVn
YXRpdmUsIGlmIHdpdGhpbiBkb2N1bWVudCBzY3JvbGxhYmxlIGFyZWEnKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNs
ZS5zdmcJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACis8c3ZnIHhtbG5zPSJodHRwOi8v
d3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIj4KKyAgIDxjaXJjbGUgY3g9IjEwMCIg
Y3k9IjUwIiByPSI0MCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25l
IiAvPgorPC9zdmc+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPGRpdiBpZD0iaW1hZ2UiPjwv
ZGl2PgorPHNjcmlwdD4KKyAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnSU1H
Jyk7CisgIGltZy5zcmMgPSAnY2lyY2xlcy5wbmcnOworICBpbWcub25sb2FkID0gZnVuY3Rpb24o
KSB7CisgICAgZnVuY3Rpb24gc2VuZFBhaW50RW50cmllcygpIHsKKyAgICAgIGNvbnN0IHBhaW50
RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3BhaW50Jyk7CisgICAgICBp
ZiAocGFpbnRFbnRyaWVzLmxlbmd0aCA8IDIpIHsKKyAgICAgICAgc2V0VGltZW91dChzZW5kUGFp
bnRFbnRyaWVzLCAyMCk7CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAgIGxldCBlbnRy
eUNvbnRlbnRzID0gcGFpbnRFbnRyaWVzLmxlbmd0aCArICcnOworICAgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgY29uc3QgZW50cnkg
PSBwYWludEVudHJpZXNbaV07CisgICAgICAgIGVudHJ5Q29udGVudHMgKz0gJyAnICsgZW50cnku
ZW50cnlUeXBlICsgJyAnICArIGVudHJ5Lm5hbWU7CisgICAgICB9CisgICAgICBwYXJlbnQucG9z
dE1lc3NhZ2UoZW50cnlDb250ZW50cywgJyonKTsKKyAgICB9OworICAgIHNlbmRQYWludEVudHJp
ZXMoKTsKKyAgfTsKKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltYWdlJykuYXBwZW5kQ2hp
bGQoaW1nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1
YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJh
bWUtc2VuZGluZy1wYWludC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFt
ZS1zZW5kaW5nLXBhaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8c2NyaXB0PgorICBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2Un
LCBmdW5jdGlvbihlKSB7CisgICAgLy8gU2VuZCBwYWludC10aW1pbmcgZW50cmllcyB1cG9uIHJl
Y2VpdmluZyBhIG1lc3NhZ2UuCisgICAgY29uc3QgcGFpbnRFbnRyaWVzID0gcGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5VHlwZSgncGFpbnQnKTsKKyAgICBsZXQgZW50cnlDb250ZW50cyA9IHBhaW50
RW50cmllcy5sZW5ndGggKyAnJzsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhaW50RW50cmll
cy5sZW5ndGg7IGkrKykgeworICAgICAgY29uc3QgZW50cnkgPSBwYWludEVudHJpZXNbaV07Cisg
ICAgICBlbnRyeUNvbnRlbnRzICs9ICcgJyArIGVudHJ5LmVudHJ5VHlwZSArICcgJyAgKyBlbnRy
eS5uYW1lOworICAgIH0KKyAgICBwYXJlbnQucG9zdE1lc3NhZ2UoZW50cnlDb250ZW50cywgJyon
KTsKKyAgfSk7Cis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9yZXNvdXJjZXMvdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIHdhaXRGb3JBbmlt
YXRpb25GcmFtZXMoY291bnQpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewor
ICAgIGlmIChjb3VudC0tIDw9IDApIHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgd2FpdEZvckFuaW1h
dGlvbkZyYW1lcyhjb3VudCkudGhlbihyZXNvbHZlKTsKKyAgICAgIH0pOworICAgIH0KKyAgfSk7
Cit9CisKKy8vIEFzc2VydHMgdGhhdCB0aGVyZSBpcyBjdXJyZW50bHkgbm8gRkNQIHJlcG9ydGVk
LiBQYXNzIHQgdG8gYWRkIHNvbWUgd2FpdCwgaW4gY2FzZSBDU1MgaXMgbG9hZGVkCisvLyBhbmQg
RkNQIGlzIGluY29ycmVjdGx5IGZpcmVkIGFmdGVyd2FyZHMuCithc3luYyBmdW5jdGlvbiBhc3Nl
cnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpIHsKKyAgYXdhaXQgd2FpdEZvckFuaW1hdGlvbkZy
YW1lcygzKTsKKyAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdm
aXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoLCAwLCAnRmlyc3QgY29udGVudGZ1bCBwYWlu
dCBtYXJrZWQgdG9vIGVhcmx5LiAnKTsKK30KKworLy8gRnVuY3Rpb24gdGhhdCBpcyByZXNvbHZl
ZCBvbmNlIEZDUCBpcyByZXBvcnRlZCwgdXNpbmcgUGVyZm9ybWFuY2VPYnNlcnZlci4gSXQgcmVq
ZWN0cyBhZnRlciBhIGxvbmcKKy8vIHdhaXQgdGltZSBzbyB0aGF0IGZhaWxpbmcgdGVzdHMgZG9u
J3QgdGltZW91dC4KK2FzeW5jIGZ1bmN0aW9uIGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQp
IHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgID0+IHsKKyAgICBmdW5jdGlvbiBjaGVj
a0ZDUCgpIHsKKyAgICAgIGlmIChwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1j
b250ZW50ZnVsLXBhaW50JykubGVuZ3RoID09PSAxKSB7CisgICAgICAgIHJlc29sdmUoKTsKKyAg
ICAgIH0gZWxzZSB7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShjaGVja0ZDUCkKKyAg
ICAgIH0KKyAgICB9CisgICAgdC5zdGVwKGNoZWNrRkNQKTsKKyAgfSk7Cit9CisKK2FzeW5jIGZ1
bmN0aW9uIHRlc3RfZmNwKGxhYmVsKSB7CisgIGNvbnN0IHN0eWxlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnc3R5bGUnKTsKKyAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7Cisg
IGF3YWl0IHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9u
KHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBv
cnRlZC4iKTsKKyAgICBjb25zdCBtYWluID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW4n
KTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCds
b2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCk7Cisg
ICAgbWFpbi5jbGFzc05hbWUgPSAncHJlRkNQJzsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29u
dGVudGZ1bFBhaW50KHQpOworICAgIG1haW4uY2xhc3NOYW1lID0gJ2NvbnRlbnRmdWwnOworICAg
IGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICB9LCBsYWJlbCk7Cit9Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10
aW1pbmctYXBpcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDEzIEBACitCYXNpYyBJbnRlcmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5n
IEFQSXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQZXJmb3JtYW5jZVBhaW50
VGltaW5nCitQQVNTIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcgaXMgZGVmaW5lZC4KK1BBU1MgUGVy
Zm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUudG9KU09OIGlzIGRlZmluZWQuCitQQVNTIG5l
dyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogZnVu
Y3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBQZXJmb3JtYW5jZVBh
aW50VGltaW5nKCknKS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5n
LWFwaXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFp
bnQtdGltaW5nLWFwaXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDEwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmct
ZnJhbWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKK1BhaW50IEFQSSBzaG91bGQgYmUg
YXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4v
c2FuZGJveGVkIGZyYW1lcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
cmVjZWl2ZWRFdmVudC5zb3VyY2UgaXMgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNhbmRi
b3hlZCcpLmNvbnRlbnRXaW5kb3cKK1BBU1MgcmVjZWl2ZWRFbnRyeS5uYW1lIGlzICdmaXJzdC1j
b250ZW50ZnVsLXBhaW50JworUEFTUyBkaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJh
bWUgaXMgZmFsc2UKK1BBU1MgQXJyYXkuaXNBcnJheShub25TYW5kYm94U3VwcG9ydGVkVHlwZXMp
IGlzIHRydWUKK1BBU1MgQXJyYXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVkVHlwZXMpIGlzIHRy
dWUKK1BBU1MgZGlkUmVjZWl2ZU1lc3NhZ2UgaXMgdHJ1ZQorUEFTUyBub25TYW5kYm94U3VwcG9y
dGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgdHJ1ZQorUEFTUyBzYW5kYm94U3VwcG9ydGVk
VHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgZmFsc2UKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZl
ciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBmaXJlZCBmb3Igc2FtZS1vcmln
aW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKworCitURVhUCkluZGV4OiBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLWZyYW1lcy5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVzLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWlu
Zy1mcmFtZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY3IEBACis8IURPQ1RZUEUg
SFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRp
bHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwv
ZGl2PgorICAgIDxpZnJhbWUgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGlkPSJub25TYW5kYm94
ZWQiIHNyYz0iLi9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwiPjwvaWZyYW1lPgorPGRpdiBj
bGFzcz0ic3BhY2VyIj48L2Rpdj4KKzxpZnJhbWUgaWQ9InNhbmRib3hlZCIgc3JjPSIuL3Jlc291
cmNlcy9mY3Atc3ViZnJhbWUuaHRtbCIgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyI+PC9pZnJhbWU+
Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorCisgICAgVEVYVAorCis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oIlBhaW50IEFQSSBzaG91bGQgYmUgYXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBm
cmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4vc2FuZGJveGVkIGZyYW1lcy4iKTsKK3dpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5kaWRSZWNlaXZlTWVzc2FnZSA9IGZhbHNl
OworCit3aW5kb3cub25sb2FkID0gYXN5bmMgKCkgPT4geworICAgIGNvbnN0IHNhbmRib3hlZCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYW5kYm94ZWQnKTsKKyAgICBjb25zdCBub25TYW5k
Ym94ZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJyk7CisgICAgY29u
c3QgZmNwTWVzc2FnZVByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAg
d2luZG93Lm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5yZWNlaXZl
ZEV2ZW50ID0gZXZlbnQ7CisgICAgICAgICAgICBjb25zdCBpc0Zyb21TYW5kYm94ZWQgPSBldmVu
dC5zb3VyY2UgPT09IHNhbmRib3hlZC5jb250ZW50V2luZG93OworICAgICAgICAgICAgY29uc3Qg
bWVzc2FnZSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAgICAgICAgICBzd2l0Y2ggKG1l
c3NhZ2UudHlwZSkgeworICAgICAgICAgICAgICAgIGNhc2UgJ3N1cHBvcnRlZCc6CisgICAgICAg
ICAgICAgICAgICAgIGlmIChpc0Zyb21TYW5kYm94ZWQpCisgICAgICAgICAgICAgICAgICAgICAg
ICB3aW5kb3cuc2FuZGJveFN1cHBvcnRlZFR5cGVzID0gbWVzc2FnZS5zdXBwb3J0ZWQ7CisgICAg
ICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5ub25T
YW5kYm94U3VwcG9ydGVkVHlwZXMgPSBtZXNzYWdlLnN1cHBvcnRlZDsKKyAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSAncmVjZWl2ZWQnOgorICAgICAgICAg
ICAgICAgICAgICB3aW5kb3cuZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1lID0g
aXNGcm9tU2FuZGJveGVkOworICAgICAgICAgICAgICAgICAgICB3aW5kb3cucmVjZWl2ZWRFbnRy
eSA9IG1lc3NhZ2UuZW50cnk7CisgICAgICAgICAgICAgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdl
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ3JlY2VpdmVkRXZlbnQuc291
cmNlJywgImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKS5jb250ZW50V2lu
ZG93Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCdyZWNlaXZlZEVudHJ5Lm5hbWUn
LCAiJ2ZpcnN0LWNvbnRlbnRmdWwtcGFpbnQnIik7CisgICAgICAgICAgICAgICAgICAgIHJlc29s
dmUoKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAg
IH07CisgICAgfSk7CisKKyAgICBzYW5kYm94ZWQuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgi
cGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBub25TYW5kYm94ZWQu
Y29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgicGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRG
b3JGQ1AoKTsKKyAgICBhd2FpdCBmY3BNZXNzYWdlUHJvbWlzZTsKKyAgICBzaG91bGRCZUZhbHNl
KCdkaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJhbWUnKTsKKyAgICBzaG91bGRCZVRy
dWUoJ0FycmF5LmlzQXJyYXkobm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzKScpOworICAgIHNob3Vs
ZEJlVHJ1ZSgnQXJyYXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVkVHlwZXMpJyk7CisgICAgc2hv
dWxkQmVUcnVlKCdkaWRSZWNlaXZlTWVzc2FnZScpOworICAgIHNob3VsZEJlVHJ1ZSgnbm9uU2Fu
ZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVGYWxz
ZSgnc2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgdGVzdFBh
c3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNr
IHdhcyBmaXJlZCBmb3Igc2FtZS1vcmlnaW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2lu
IGZyYW1lIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13
aXRoLXdvcmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy13aXRoLXdv
cmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorUGFpbnQg
QVBJIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlIGluIHdvcmtlciBjb250ZXh0cy4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0
ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIpIGlzIHRydWUKK1BBU1Mgd29ya2VyU3VwcG9y
dGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyBmYWxzZQorUEFTUyB3b3JrZXJTdXBw
b3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJtYXJrIikgaXMgdHJ1ZQorUEFTUyBQZXJmb3JtYW5j
ZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNsdWRlICdwYWludCcgZm9y
IHdvcmtlcnMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nLXdpdGgt
d29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Bh
aW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50IEFQSSBzaG91bGQgbm90IGJl
IGF2YWlsYWJsZSBpbiB3b3JrZXIgY29udGV4dHMuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7Citjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKCIuL3Jlc291cmNlcy93b3JrZXIuaHRt
bCIpOword29ya2VyLm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICB3aW5kb3cud29ya2VyU3Vw
cG9ydGVkRW50cnlUeXBlcyA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7CisgICAgc2hvdWxkQmVU
cnVlKCdQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBh
aW50IiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCd3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmlu
Y2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVUcnVlKCd3b3JrZXJTdXBwb3J0ZWRFbnRy
eVR5cGVzLmluY2x1ZGVzKCJtYXJrIiknKTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9i
c2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNsdWRlICdwYWludCcgZm9yIHdv
cmtlcnMiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK3dvcmtlci5wb3N0TWVzc2FnZSgi
c3RhcnQiKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWlu
dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5j
ZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDEwIEBACitQQVNTIGRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWlu
dCBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKS5sZW5ndGggaXMgMQorUEFT
UyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50Iiku
bGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29u
dGVudGZ1bC1wYWludCIsICJwYWludCIpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgUGVyZm9ybWFuY2VPYnNl
cnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorVEVYVDIK
SW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1m
aXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9y
bWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiRW5zdXJlIFBlcmZvcm1hbmNlT2JzZXJ2ZXJz
IGFyZSBub3RpZmllZCBvbmNlIGZvciBmaXJzdC1jb250ZW50ZnVsLXBhaW50LiIpOword2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworIAorKGFzeW5jICgpID0+IHsKKyAgICB3aW5kb3cuZGlk
UmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gZmFsc2U7CisgICAgd2luZG93LnN0YXJ0VGlt
ZSA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBhd2Fp
dCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcihlbnRyeUxpc3QgPT4geworICAgICAgICAgICAgd2luZG93LmVu
dHJ5TGlzdCA9IGVudHJ5TGlzdDsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0
RW50cmllcygpLmxlbmd0aCcsICIxIik7CisgICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0
LmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAxKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQi
KS5sZW5ndGgnLCAiMSIpOworICAgICAgICAgICAgd2luZG93LmZjcEVudHJ5ID0gZW50cnlMaXN0
LmdldEVudHJpZXMoKVswXTsKKyAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVG
aXJzdENvbnRlbnRmdWxQYWludCcpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5Lm5h
bWUnLCAnImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiJyk7CisgICAgICAgICAgICBzaG91bGRCZSgn
ZmNwRW50cnkuZW50cnlUeXBlJywgJyJwYWludCInKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1
ZSgnZmNwRW50cnkuc3RhcnRUaW1lID4gd2luZG93LnN0YXJ0VGltZScpOworICAgICAgICAgICAg
c2hvdWxkQmVUcnVlKCdmY3BFbnRyeS5zdGFydFRpbWUgPCBwZXJmb3JtYW5jZS5ub3coKScpOwor
ICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5LmR1cmF0aW9uJywgIjAiKTsKKyAgICAgICAg
ICAgIGRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCA9IHRydWU7CisgICAgICAgICAgICBy
ZXNvbHZlKCk7CisgICAgICAgIH0pOworCisgICAgICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5
VHlwZXM6IFsncGFpbnQnXX0pOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICdU
RVhUJzsKKyAgICB9KQorICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQyJzsKKyAg
ICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgc2hvdWxkQmVUcnVlKCdkaWRSZWNlaXZlRmlyc3RD
b250ZW50ZnVsUGFpbnQnKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllcygp
Lmxlbmd0aCcsICIxIik7CisgICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5h
bWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHNob3VsZEJl
KCdwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50Iiwg
InBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50
cmllc0J5VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHRlc3RQYXNzZWQoIlBlcmZv
cm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXNuJ3QgZmly
ZWQgYWdhaW4gIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KSgpOworCisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNl
cy9mY3Atc3ViZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdD4KKyAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVy
KGxpc3QgPT4geworICAgICAgICBsaXN0LmdldEVudHJpZXMoKS5mb3JFYWNoKGVudHJ5ID0+IHsK
KyAgICAgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3R5
cGU6ICdyZWNlaXZlZCcsIGVudHJ5fSksICcqJyk7CisgICAgICAgIH0pOworICAgIH0pOworCisg
ICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJwYWludCJdfSk7CisgICAgd2luZG93
Lm9ubWVzc2FnZSA9IGUgPT4geworICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKEpT
T04uc3RyaW5naWZ5KHtzdXBwb3J0ZWQ6IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50
cnlUeXBlcywgdHlwZTogJ3N1cHBvcnRlZCd9KSwgJyonKTsKKyAgICAgICAgZG9jdW1lbnQuYm9k
eS5pbm5lclRleHQgPSAiVEVYVCI7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNv
dXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNSBAQAorYXN5bmMgZnVuY3Rpb24gd2FpdEZvckZD
UCgpCit7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUoKCkgPT4gcmVzb2x2ZSgpKSk7CisgICAgcmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoID09IDE7Cit9
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3BhaW50
LXRpbWluZy1hcGkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAoraWYgKHNlbGYu
aW1wb3J0U2NyaXB0cykKKyAgICBpbXBvcnRTY3JpcHRzKCIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiKTsKKworaWYgKHNlbGYud2luZG93KQorICAgIGRlc2NyaXB0aW9uKCJCYXNpYyBJ
bnRlcmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuIik7CisKK2RlYnVnKCJQZXJmb3Jt
YW5jZVBhaW50VGltaW5nIik7CitzaG91bGRCZURlZmluZWQoIlBlcmZvcm1hbmNlUGFpbnRUaW1p
bmciKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUu
dG9KU09OYCk7CitzaG91bGRUaHJvdyhgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKWApOwor
CitpZiAoc2VsZi5pbXBvcnRTY3JpcHRzKQorICAgIGZpbmlzaEpTVGVzdCgpOwpJbmRleDogTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3Jlc291cmNlcy93b3JrZXIuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcmVzb3VyY2VzL3dvcmtlci5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9yZXNvdXJjZXMvd29y
a2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACitzZWxmLm9ubWVzc2FnZSA9
ICgpID0+IHsKKyAgICBzZWxmLnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KFBlcmZvcm1hbmNl
T2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcykpOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9u
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnMJKHJldmlzaW9uIDI2MDYzOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEv
VGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtNTU3LDYgKzU1NywxNSBAQCBodHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2hhci9oYXItcGFnCiBbIFJlbGVhc2UgXSBodHRwL3Rl
c3RzL2luc3BlY3Rvci9uZXR3b3JrL2hhci9oYXItcGFnZS1hZ2dyZXNzaXZlLWdjLmh0bWwgWyBG
YWlsdXJlIF0KIFsgRGVidWcgXSBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2hhci9oYXIt
cGFnZS1hZ2dyZXNzaXZlLWdjLmh0bWwgWyBTbG93IEZhaWx1cmUgXQogCisjIFBhaW50IFRpbWlu
ZyBpcyBub3QgYXZhaWxhYmxlIGluIFdlYktpdDEKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nICBbIFNraXAgXQorcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWlu
Zy1hcGlzLmh0bWwgWyBTa2lwIF0KK3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctZnJhbWVz
Lmh0bWwgWyBTa2lwIF0KK3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmctd2l0aC13b3JrZXIu
aHRtbCBbIFNraXAgXQoraHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1wYWludC10
aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLmh0bWwgWyBT
a2lwIF0KK2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZj
cC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLmh0bWwgWyBTa2lwIF0KK3BlcmZv
cm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0
bWwgWyBTa2lwIF0KKwogIyBMb2NhbCBPdmVycmlkZXMgbm90IGF2YWlsYWJsZSBpbiBXZWJLaXQx
CiBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2xvY2FsLXJlc291cmNlLW92ZXJyaWRlLWJh
c2ljLmh0bWwgWyBGYWlsdXJlIF0KIGh0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbG9jYWwt
cmVzb3VyY2Utb3ZlcnJpZGUtbWFpbi1yZXNvdXJjZS5odG1sIFsgRmFpbHVyZSBdCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjYwNjM5
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcg
Y29weSkKQEAgLTM3MDMsNiArMzcwMywxNSBAQCBodHRwL3dwdC93ZWJydGMgWyBTa2lwIF0KIGh0
dHAvd3B0L3Jlc291cmNlLXRpbWluZy9ydC1uZXh0SG9wUHJvdG9jb2wuaHRtbCBbIFNraXAgXQog
aHR0cC93cHQvcmVzb3VyY2UtdGltaW5nL3J0LW5leHRIb3BQcm90b2NvbC53b3JrZXIuaHRtbCBb
IFNraXAgXQogCisjIFRPRE8gUGFpbnQgVGltaW5nIGlzIG5vdCBlbmFibGVkIGZvciBXSzEuCitp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZyBbIFNraXAgXQorcGVy
Zm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy1hcGlzLmh0bWwgWyBTa2lwIF0KK3BlcmZvcm1hbmNl
LWFwaS9wYWludC10aW1pbmctZnJhbWVzLmh0bWwgWyBTa2lwIF0KK3BlcmZvcm1hbmNlLWFwaS9w
YWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0cy9wZXJmb3Jt
YW5jZS9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0
eS1mb3ItbnVtLWNoYXJzLmh0bWwgWyBTa2lwIF0KK2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVy
Zm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0
eWxlLmh0bWwgWyBTa2lwIF0KK3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1m
aXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwgWyBTa2lwIF0KKwogIyBXZWJDcnlwdG8gdGVzdHMg
YXJlIGZhaWxpbmcuCiB3ZWJraXQub3JnL2IvMTY1MDkwIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvV2ViQ3J5cHRvQVBJIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTY1MDkwIGh0dHAv
d3B0L2NyeXB0byBbIFNraXAgXQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1l
LXR5cGUgPSBpbWFnZS9wbmcKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVz
LnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK2ltYWdl
L3BuZwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CgppVkJPUncwS0dnb0FBQUFOU1Vo
RVVnQUFBQ1FBQUFCSUNBWUFBQUNlTmxlNUFBQUM3bWxEUTFCSlEwTWdVSEp2Wm1sc1pRQUFlQUdG
ClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9SRmlhd3piSDdaRmtHUXpTZFp1
TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZwRktONnJLR0toRnkzeHpXNU10cVhx
d001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVKcQovSWdBanFJSlFUUWxWZHZz
VGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAxQTRFZWEyU3F3N3hkeENsa1NB
b2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVBMUxjNS9UYmhUelNYVFFJTklP
SlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFHY1R2WU9rTDJkOUg1T3M5NCt3
aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FWdHhxcAorRFhDRkY4UVRTZWlW
SEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUrTHFIQlgwbTF4T3Y0bmRXVWVGNWp4
Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNHUEJveE5MSnlQeU9yQmh1VGV6
SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFDSkw4UWY0cXI4bFA1WG41eTF5dzJG
YjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhSNWFzZVhxOAptdXdhUCt4WGx6
SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdqRTMzNTlzZnpzOTRpN1BMclhXYzYy
Sml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlLVEVtZG9ybklZbVh4Uzd4a3Ro
THF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2VVovRFBWUmxCbk0wbFNKOTMv
Q0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUzSHZFS0ZscFc1egpyZ0lYdjlG
OThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1OT1dsczA1VW9jc241TzY2Y3Bp
VXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2ZkVwMHBsay9xdjhSR3cvYkJT
K2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQUEKQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZ
QUFBR1owbEVRVlJvQmUyYVVXOVZSUkRIZDY4dEVWSkxXMktDeENZK2lnUURvWWtLZmdKOAo5TWtu
RXZFZHZvQ21rUytBNzJwQ1FzS1RqL0lKQkNTQjFOU29QSnFVMUNha2dOaUFhZU5kZi8rWk9UMjM1
OTdTRnU3bDZVeXk1K3pPCjJaMlpuWjNkblpsN2M1clBKZTBLU3NwcGhwNzdVMG1QcUQvZEhGVVJ5
SnVZUko4RDlKa0c4NHo2UTk2OVgzczZOcXBqalhhaktTTGQKRUdRZjlSV0lPK21TenNMMUJLMVp5
aUdLaEZqbHVVU0hYeGh6bmZaVEV5T253K0RYUTdDTzllUXhFSjRqa0ZpUFFWREVsbTF3S1oveQpQ
cGRLT2MzYmhiQVB6UWREVGJoOGsvZVZsUE1QMWlPbkk3UWZVTitnRE5aWTdsOHkxMHBLa3d3Wlp5
Q3pMbWNSNG12YXA0eHdTYjlDCjd5YnRoVlR5SDd6L0R2ekJsTXRSbUo1a3pHbnd4d04vRjZHK1lz
eDEyb2Y0TG9HZVVQcTExUkNvWGlLdHUxcWxmTWZqYzJvc1hiNkcKQUpmQjM2RU5tbUo5ckZYWGhS
T1VOSWVBRjZIeEdTMlk1KytoY1Q3R3pmQ1diVzBWcWlGUVpiZ1BiVkRxL3N5QUR5ZzNHUGNGNzNz
bQpRTEpsRkNITlZMYlI1UzJCaEpPdFNiUEN1YzJsOUM3TmIybWZvZHlHMW9kQnB4S3Ftb0tNWkJN
MDMwbUtwQWE2di9NNENwZHZLQmVECndDek10VHdyNmdIVWhOUVNCWWVxcG1VL0NPcGVLcDJQNlhD
WmNzRnBkOTRETDE3aXFlVnpXcHBTTk1aQmpSdlJnbWF5Q2FOMWx6QnYKMDJlS2IreWd0QmI5dHdv
RHNnZjBUV1V0eGt3NURXZ2xiRW0weGNPWFhOcFUyU0tRdHZhYklGZFpjMnlHWlNxbW1VdmczMkhn
WDVUSApNYWlhUGMwZHdWbHFyR2lJVnNxWG5EWThuQmM4alhlMTdQTzUrQUdHM2JDYlV2bVJEamRN
eGRLTUNMazk3TWg5RngwNjBINExtdmRUCjd2N0VHNXZLbjJEbzJuMnlwMGV5UXMxQ2hnaXd0WTI1
R2JBUVdwNy9WQmtTaUpab0FzWURyUmhQSVNSRFNSMi9EdGdOZHVpZDhxMXQKdTBrR1hDMlRCZ3dE
c3RITW5PNUZQRGhHRW1lYjgxNUJlelBTa080bXdUbDdKczRaZ2UrbXNIbi9NcVJuSjJoRExualo2
Vy9VOTZlTwpYNVI4czVOMUVmUWRKTlYxb2Ezb29scmZvVDFFODBud0VLL0Y0QzF1MkpCdWJWMlVS
VWQ2dmhWc1I2R1o1b3ljaDNnYWIyU1FMSUU5CkViMjVtNnltRTlqUGhTYVo0YlJGZXlONExUaEo4
eHo4SWdFeDYwaTdLRlZkOS9aSW4rcytaWGc2dUF4anJoRjNKWFJyZTlzUHFWSEsKVTk5L0ZVOTVB
WnNhR2lYcnZkSEdxQVh5OUdUbCtETzgvZFkyMU1nZTRpRmU0dW1nSzJSVFE3bzBBWE91VkltVFc5
V1J3VDQzRDNnNgp1QXkreS9DQkhVNmFsSDc3dWpYRmh5Ry9SRnZlaFFEdlVoQXlZTlNLRG5TNXlW
WEZWN1plb3pmcTZzTFdnZXdtbzZEZ2dBN0dhVk5kCk1ZZGNQdkFjYlRsZ2NweDhEbFNHQ0tJNUdU
ekU2emdIc29JQmNadld3ZmdzMkY1eHB2akFBdmYwUnFFcCtWNWh5TUVyS1RJeHJwSmwKSGdIdDd1
TEc3OHA1eDQ0Nng1Qlkvck84eE1jbW52Vi82WWQ4ZHFlWjhiTkw5emNvTHNCdmp2ZGhlSzFJUTVJ
dFRtYUZLa0taUTA0MQpUVkJlVTJWSUlGcWlDUmdQc1JkUGdXU0lBOGZEa1NQbXVXVkNGZlBrY01q
TnM3TnJoWUcwWGh3MFZ1ZU8vS0Q3a0JMdE0vQlRXS1FOCnBRRFNnNHVJT3VTalBHQ0Fidnp6RERp
R1MzQUIzQ3B0K2RWeTh1V3dhL24ySXB5MEw1dVo0ajNCK0QraC9XWFF2bTI4aktkRnMwNDMKQk5J
TWRQdHVNQmdnYmlvS2c4eTlsSkFlQnZrTUZRYkpWeEs0S1hxOTkxbHA4dzE2eUlDWGZESVJCcFZF
dEFzUGdVZXh0WGNSQXVtVAppSXZSREFYMUtXNVNvS2c0cXJBOVh6aFFGTTMrUUJFa0VMeDZKaVk5
OVlDV1RtdXBqb2lvV2JET0ZuR3lJM0s1eW5mdENKMVR5OVNWCk9KREcvb21pbTF1NFpRcTcxa0xw
cTB4TXUwa1JCallUbXZFb1E3eTJpc0MyYithSGZOMTFlRzJmYkZpRStDMitQeS9aOEJIZjM0ZWgK
bHVVdXhzdHUybnV5d2NiSFEzYWcrMFlCcEdZTTRVakgyQlh6dkhTTTllWXE0Z1MyUXkvU01iNmI5
cHlPTVdyeGNHMTVxQ1FQUU1zQQpINHI4OEl6YldleFljQWZQSWw4Wk1CZWxKNnk4cnljbmRwZXdH
ckJrSVV2ZnE4cU12STRRaWhwMERBd0dGM2lDUHBOMCtKZCtzaFZoCmQ0YXRGclZ6LzVIMzZObjJn
M2k5N0pLdG1WNWVXWTV4MEpJWmprZWJZOVFDU3h0dXdMN2NWYjB5M3piSDJOekt0VTFWdFRiSDZM
YXoKL2RPdFRINVVtMlBjWGt1OVg5b2NZNjgydHF1M09jYnROTlBFdTZQUjVoaWJlcW5iYlk2eDFz
VmVhbTJPc2RaV20yT3NkVEc0MWpWMAptMlBzMTA2YlkrelhTWTFwYzR5MUxyeFdoZUp0ampIT0ZF
dlBLWS9VKzJlVU5zZElpbmZnSDVyYUhHUC9uK0w4ZDY4bFF2NVhtbVBVClh6Tkc5N2ZCL3dGWmJn
MDVFRU51TndBQUFBQkpSVTVFcmtKZ2dnPT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397880</attachid>
            <date>2020-04-28 13:48:01 -0700</date>
            <delta_ts>2020-04-28 14:29:34 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-208499-20200428234758.patch</filename>
            <type>text/plain</type>
            <size>138529</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDg0MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyOCBAQAorMjAyMC0wNC0yOCAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4K
KworICAgICAgICBBZGRlZCB0aGUgbmVjZXNzYXJ5IGludGVyZmFjZSwgZXh0ZW5zaW9ucyB0byB0
aGUgcGVyZm9ybWFuY2UgaW50ZXJmYWNlIGFuZCBvYnNlcnZlciwgbmV3IHJ1bnRpbWUgZmxhZy4K
KyAgICAgICAgRGV0ZWN0aW5nIGNvbnRlbnRmdWxuZXNzIGFmdGVyIGxheW91dCBhbmQgYmVmb3Jl
IGFjdHVhbCBwYWludCwgYnkgcnVubmluZyBhICJkdW1teSIgcGFpbnQsIHNpbWlsYXIgdG8gCisg
ICAgICAgIGludmFsaWRhdGVDb250cm9sVGludHMoKSAvIGludmFsaWRhdGVJbWFnZXNXaXRoQXN5
bmNEZWNvZGVzKCkuIFNhdmUgdGhlIHJlc3VsdCB0byB0aGUgR3JhcGhpY3NDb250ZXh0IGFuZCB0
aGVuIHRvIHRoZSBkb2N1bWVudC4KKyAgICAgICAgVGhpcyB3b3VsZCBydW4gZm9yIGV2ZXJ5IHBh
aW50IHVudGlsIHdlIGRldGVjdCBhIGNvbnRlbnRmdWwgb25lLgorCisgICAgICAgIE5vdGUgdGhh
dCBpdCBwYWludHMgdGhlIGVudGlyZSBmcmFtZSBjb250ZW50cywgYXMgRkNQIGlzIG5vdCB2aWV3
cG9ydC1kZXBlbmRlbnQuCisgICAgICAgIEFsc28sIHBhaW50IHRpbWluZyBpcyBjdXJyZW50bHkg
ZGlzYWJsZWQgZm9yIExGQyAobGF5b3V0IGZvcm1hdHRpbmcgY29udGV4dCksIGFuZCB3aWxsIGJl
IGRlYWx0IHdpdGggbGF0ZXIuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvcGVyZm9ybWFu
Y2UvcGFpbnQtdGltaW5nL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFs
bHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0
cy9wZXJmb3JtYW5jZS9wYWludC10aW1pbmcvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1h
ZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
YWNrZ3JvdW5kLXNpemUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCisg
ICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1j
YW52YXMtY29udGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCisgICAgICAgICAg
ICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXNjYWxlLXRyYW5zaXRpb24uaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LW9wYWNpdHktZGVzY2VuZGFudC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCisg
ICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW91dC1vZi1ib3VuZHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRp
c3BsYXkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC12aXNpYmlsaXR5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXRleHQtaW5wdXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAorICAgICAgICAgICAgICAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZp
ZGVvLXBvc3Rlci5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atd2l0aC1ydGwuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL3Bh
aW50LXRpbWluZy9wYWludC10aW1pbmctYXBpcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAorICAgICAgICAg
ICAgICAgcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9wYWludC10aW1pbmctd2l0aC13b3Jr
ZXIuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9wZXJm
b3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKKworICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAg
ICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICAgICAgICAgQWRkIFBlcmZvcm1h
bmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNlLiBodHRwczovL3czYy5naXRodWIuaW8vcGFpbnQtdGlt
aW5nLyNzZWMtUGVyZm9ybWFuY2VQYWludFRpbWluZworCisgICAgICAgICogZG9tL0RvY3VtZW50
LmNwcDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50OjpzdXBwb3J0c1BhaW50VGltaW5nIGNvbnN0KToKKyAgICAgICAgICAgICAgICBXZSBvbmx5
IHJlcG9ydCBwYWludCB0aW1pbmcgZm9yIGRvY3VtZW50IHRoYXQgY2FuIGFjY2VzcyB0aGUgdG9w
IGxldmVsIHNlY3VyaXR5IG9yaWdpbiwgdG8gYXZvaWQgbGVha2FnZSBvZiBpbmZvcm1hdGlvbiB0
byBzYW5kYm94ZWQgaWZyYW1lcy4KKworICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmVucXVl
dWVQYWludFRpbWluZ0VudHJ5SWZOZWVkZWQpOgorICAgICAgICAgICAgICAgIEVucXVldWUgYSBw
YWludCB0aW1pbmcgZW50cnksIGFjY29yZGluZyB0byBodHRwczovL3czYy5naXRodWIuaW8vcGFp
bnQtdGltaW5nLyNzZWMtcmVwb3J0aW5nLXBhaW50LXRpbWluZworCisgICAgICAgICogcGFnZS9G
cmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpwYWludENvbnRlbnRz
KToKKyAgICAgICAgICAgICAgICBEaXNhYmxlIEZDUCBmYWtlLXBhaW50IGluIExGQyBtb2RlLgor
CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRvQWZ0
ZXJVcGRhdGVSZW5kZXJpbmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeVR5cGUgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeU5hbWUgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAg
ICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAgICAgICAgICAgICAgU3VwcG9ydCBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IHJlcG9ydGluZy4KKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VF
bnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5
VHlwZVN0cmluZyk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmg6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc1BhaW50IGNvbnN0KToKKyAgICAgICAgKiBw
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6CisgICAgICAgICogcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmg6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbDoK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaDogQWRkZWQuCisgICAgICAg
IChpc1R5cGUpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGw6IEFk
ZGVkLgorICAgICAgICAgICAgICAgIEFkZCBwYWludCBwZXJmb3JtYW5jZSBlbnRyeSB0eXBlLgor
CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFibGVk
IGNvbnN0KToKKyAgICAgICAgICAgICAgICBOZXcgcnVudGltZSBmbGFnIGZvciBwYWludCB0aW1p
bmcuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6c2V0Q29udGVudGZ1
bFBhaW50RGV0ZWN0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0Ojpjb250
ZW5mdWxQYWludERldGVjdGVkIGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgYSBmbGFnIGlu
IEdyYXBoaWNzQ29udGV4dCB3aGVyZSBkaWZmZXJlbnQgcmVuZGVyIG9wZXJhdGlvbnMgY2FuIHJl
cG9ydCBpZiB0aGV5J3JlIGNvbnRlbnRmdWwuCisKKyAgICAgICAgKiByZW5kZXJpbmcvQ29udGVu
dGZ1bFBhaW50Q2hlY2tlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudGZ1
bFBhaW50Q2hlY2tlcjo6cXVhbGlmaWVzRm9yQ29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oOiBBZGRlZC4KKyAgICAgICAgICAgICAg
ICBSdW4gYSAiZHVtbXkiIHBhaW50IG9mIHRoZSBGcmFtZVZpZXcsIHRvIGRldGVjdCBjb250ZW50
ZnVsIGVsZW1lbnRzLiAKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVj
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnRGaWxs
TGF5ZXJFeHRlbmRlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySFRNTENhbnZhczo6cGFpbnRSZXBsYWNlZCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckltYWdlOjpwYWludFJlcGxhY2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50
cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclZpZGVvOjpwYWludFJlcGxhY2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvVGV4
dFBhaW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFBhaW50ZXI6OnBhaW50VGV4dE9y
RW1waGFzaXNNYXJrcyk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OnBhaW50UmVwbGFjZWQpOgorICAg
ICAgICAgICAgICAgIFJlcG9ydCBjb250ZW50ZnVsbmVzcyB3aGVuIHdlIHJlYWNoIGFueXRoaW5n
IHRoYXQgcXVhbGlmaWVzIGFzIGNvbnRlbnRmdWwsCisgICAgICAgICAgICAgICAgYmFzZWQgb24g
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BhaW50LXRpbWluZy8jY29udGVudGZ1bC4KKwogMjAyMC0w
NC0yOCAgSmFjayBMZWUgIDxzaGloY2hpZWhfbGVlQGFwcGxlLmNvbT4KIAogICAgICAgICBOdWxs
cHRyIGNyYXNoIGluIEVkaXRDb21tYW5kOjpFZGl0Q29tbWFuZCB2aWEgQ29tcG9zaXRlRWRpdENv
bW1hbmQ6OnJlbW92ZU5vZGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAyNjA4
NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
OTM2LDYgKzkzNiw3IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgcGFnZS9Q
ZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU9ic2Vy
dmVyRW50cnlMaXN0LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbAorICAg
IHBhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwKICAg
ICBwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCShyZXZpc2lvbiAyNjA4NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC05MzAsNiArOTMwLDcgQEAgSlNfQklORElOR19JRExT
ID0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwgXAogICAgICQo
V2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCBcCisgICAgJChX
ZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUp
L3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFn
ZS9QZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJm
b3JtYW5jZVRpbWluZy5pZGwgXApJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI2MDg0MikK
KysrIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMTI1LDYg
KzIxMjUsNyBAQCByZW5kZXJpbmcvQnJlYWtMaW5lcy5jcHAKIHJlbmRlcmluZy9DU1NGaWx0ZXIu
Y3BwCiByZW5kZXJpbmcvQ2xpcFJlY3QuY3BwCiByZW5kZXJpbmcvQ29tcGxleExpbmVMYXlvdXQu
Y3BwCityZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHAKIHJlbmRlcmluZy9Db3Vu
dGVyTm9kZS5jcHAKIHJlbmRlcmluZy9FbGxpcHNpc0JveC5jcHAKIHJlbmRlcmluZy9FdmVudFJl
Z2lvbi5jcHAKQEAgLTMyMDMsNiArMzIwNCw3IEBAIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNw
cAogSlNQZXJmb3JtYW5jZU9ic2VydmVyLmNwcAogSlNQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJh
Y2suY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuY3BwCitKU1BlcmZvcm1hbmNl
UGFpbnRUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCiBKU1BlcmZv
cm1hbmNlU2VydmVyVGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVRpbWluZy5jcHAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJl
dmlzaW9uIDI2MDg0MikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNDA2MCw2ICs0MDYwLDcgQEAKIAkJQzlGODdD
RkUxQjI4RjQwRTAwOTc5QjgzIC8qIE1lZGlhU2Vzc2lvbkV2ZW50cy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzlGODdDRkQxQjI4RTVGNjAwOTc5Qjgz
IC8qIE1lZGlhU2Vzc2lvbkV2ZW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUNBM0JGNjdFMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmlt
YXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Ez
QkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0E2QzE1MzAyMjBCOThDQzAwNTVD
QkZDIC8qIEpTVmFsdWVJbldyYXBwZWRPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMUFFM0I4MUZCODBFQUUwMEY1RUZCMiAvKiBKU1ZhbHVl
SW5XcmFwcGVkT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQ0E3RTlCNDkyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWludENo
ZWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENB
N0U5QjQ3MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmggKi87IH07
CiAJCUNBRTlGOTEwMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQUU5RjkwRTE0NjQ0
MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovOyB9OwogCQlDQjM4RkQ1MjFD
Q0Y5Mzk0MDA1OTJBM0YgLyogSlNQZXJmb3JtYW5jZUVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQjM4RkQ0RTFDQ0Y5MzdFMDA1OTJBM0YgLyog
SlNQZXJmb3JtYW5jZUVudHJ5LmggKi87IH07CiAJCUNCMzhGRDVCMUNEMjMyNUIwMDU5MkEzRiAv
KiBKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENCMzhGRDU5MUNEMjMxNDUwMDU5MkEzRiAvKiBKU1BlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuaCAqLzsgfTsKQEAgLTEzODQzLDYgKzEzODQ0LDggQEAKIAkJ
Q0EwOTFEODYyM0NGOTA3ODAwQUQ0MzQ2IC8qIFN0eWxlSW1hZ2VTZXQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU3R5bGVJbWFnZVNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUNBMDkxRDg5MjNDRjkwODgwMEFENDM0NiAvKiBTdHlsZUltYWdlU2V0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFN0eWxlSW1hZ2VTZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0ExNjM1
REMyMDcyRTc2OTAwRTdEMkNFIC8qIFJlZmVycmVyUG9saWN5LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZmVycmVyUG9saWN5LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFuY2VQYWludFRpbWluZy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNEODI0MDdFRENGMDA3MTI0MUEgLyogUGVy
Zm9ybWFuY2VQYWludFRpbWluZy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBM0JGNjdC
MTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxBbmltYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxBbmltYXRvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTUyQkFFNTIzRDBBRjE2MDBERTBCODQgLyogU3R5
bGVDdXJzb3JJbWFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUN1cnNvckltYWdlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzODUyLDYgKzEzODU1LDggQEAKIAkJ
Q0E2QzE1MkYyMjBCNEE1NTAwNTVDQkZDIC8qIEpTSURCUmVxdWVzdEN1c3RvbS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0lEQlJlcXVlc3RDdXN0b20uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTZDMTUzNzIyMEQxRUIzMDA1NUNCRkMgLyog
SlNJREJDdXJzb3JDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNJREJDdXJzb3JDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
QTZDMTUzODIyMEQxRUIzMDA1NUNCRkMgLyogSlNJREJDdXJzb3JXaXRoVmFsdWVDdXN0b20uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJREJDdXJzb3JXaXRoVmFs
dWVDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTdFOUI0NzI0MzYx
REM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUNBN0U5QjQ4MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFp
bnRDaGVja2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbnRl
bnRmdWxQYWludENoZWNrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQUU5
RjkwRDE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0FFOUY5MEUxNDY0NDFGMDAwQzI0NUIwIC8qIENT
U0FzcGVjdFJhdGlvVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NT
QXNwZWN0UmF0aW9WYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQjM4RkQ0
QTFDQ0NGMkREMDA1OTJBM0YgLyogUGVyZm9ybWFuY2VFbnRyeS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZUVudHJ5LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTIxMDU1LDYgKzIxMDYwLDggQEAKIAkJCQlBNUE5OTMzQTFFMzdG
QUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgKi8sCiAJCQkJ
QTVBOTkzM0IxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Qu
aCAqLywKIAkJCQlBNUE5OTMzQzFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZl
ckVudHJ5TGlzdC5pZGwgKi8sCisJCQkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEyNDFBIC8qIFBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcuaCAqLywKKwkJCQlDQTE5MzNEODI0MDdFRENGMDA3MTI0MUEgLyog
UGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwgKi8sCiAJCQkJODY1MTJFREIxNTRBMkFFRTAwQTkw
NDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICovLAogCQkJCTg2NTEyRURDMTU0
QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8sCiAJCQkJODY1
MTJFREQxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsICov
LApAQCAtMjgxNTksNiArMjgxNjYsOCBAQAogCQkJCUJDREQ0NTREMTIzNkM5NUMwMDlBNzk4NSAv
KiBDb2x1bW5JbmZvLmggKi8sCiAJCQkJQkNFQTQ4MTMwOTdEOTMwMjAwOTRDOUU0IC8qIENvbXBs
ZXhMaW5lTGF5b3V0LmNwcCAqLywKIAkJCQlFNEExQUM3ODIyRkFGRDUwMDAxN0I3NUIgLyogQ29t
cGxleExpbmVMYXlvdXQuaCAqLywKKwkJCQlDQTdFOUI0ODI0MzYxREM1MDA0RTg5RjYgLyogQ29u
dGVudGZ1bFBhaW50Q2hlY2tlci5jcHAgKi8sCisJCQkJQ0E3RTlCNDcyNDM2MURDNTAwNEU4OUY2
IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIuaCAqLywKIAkJCQk5MzkyRjE0RjBBRDE4NjIzMDA2
OTFCRDQgLyogQ291bnRlck5vZGUuY3BwICovLAogCQkJCTkzOTJGMTRCMEFEMTg2MUIwMDY5MUJE
NCAvKiBDb3VudGVyTm9kZS5oICovLAogCQkJCTBGNTNGQjgxMjEzQjFCQjgwMEM0MEQzNCAvKiBD
U1NGaWx0ZXIuY3BwICovLApAQCAtMjk4NjcsNiArMjk4NzYsNyBAQAogCQkJCUExNDk3ODZGMUFC
QUYzMzgwMENFRjdFNCAvKiBDb250ZW50RmlsdGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0RD
RERDNjIzRDgwQTFDMDBCQTM0QTEgLyogQ29udGVudEZpbHRlckNsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTE0MDkwRkQxQUE1MUU0ODAwOTExOTFBIC8qIENvbnRlbnRGaWx0ZXJVbmJsb2Nr
SGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0E3RTlCNDkyNDM2MURDNTAwNEU4OUY2IC8q
IENvbnRlbnRmdWxQYWludENoZWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDOUMyREI1MjI0
MUE2N0IwMDk5NkIwQiAvKiBDb250ZW50UnVsZUxpc3RSZXN1bHRzLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5N0M0NzFEQzEyRjkyNUJEMDA4NjM1NEIgLyogQ29udGVudFNlY3VyaXR5UG9saWN5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlDRTVGQTI1NTIwOUU0OEM1MDA1MUQ3MDAgLyogQ29udGVudFNl
Y3VyaXR5UG9saWN5Q2xpZW50LmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAko
cmV2aXNpb24gMjYwODQyKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3Jt
YW5jZUVudHJ5Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsOSArMzUsMTEgQEAKICNp
bmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlTWFyay5oIgog
I2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNZWFzdXJlLmgiCisjaW5jbHVkZSAiSlNQZXJmb3JtYW5j
ZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgi
CiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VNZWFz
dXJlLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgogI2luY2x1ZGUgIlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKIAogCkBAIC00Niw2ICs0OCw5IEBAIHVzaW5nIG5h
bWVzcGFjZSBKU0M7CiAKIEpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0dsb2JhbE9iamVjdCos
IEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxQZXJmb3JtYW5jZUVudHJ5PiYm
IGVudHJ5KQogeworICAgIGlmIChpczxQZXJmb3JtYW5jZVBhaW50VGltaW5nPihlbnRyeSkpCisg
ICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGdsb2Jh
bE9iamVjdCwgV1RGTW92ZShlbnRyeSkpOworCiAgICAgaWYgKGlzPFBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmc+KGVudHJ5KSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgJ
KHJldmlzaW9uIDI2MDg0MikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTgyLDYgKzE4Miw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBtYWNybyhQZXJmb3JtYW5jZU1lYXN1cmUpIFwKICAgICBtYWNybyhQ
ZXJmb3JtYW5jZU9ic2VydmVyKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5
TGlzdCkgXAorICAgIG1hY3JvKFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcpIFwKICAgICBtYWNybyhQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VTZXJ2ZXJU
aW1pbmcpIFwKICAgICBtYWNybyhQb2ludGVyRXZlbnQpIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAkocmV2aXNpb24gMjYwODQyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsNiArNDgsNyBAQAogI2luY2x1ZGUgIkNvbXBvc2l0
aW9uRXZlbnQuaCIKICNpbmNsdWRlICJDb25zdGFudFByb3BlcnR5TWFwLmgiCiAjaW5jbHVkZSAi
Q29udGVudFNlY3VyaXR5UG9saWN5LmgiCisjaW5jbHVkZSAiQ29udGVudGZ1bFBhaW50Q2hlY2tl
ci5oIgogI2luY2x1ZGUgIkNvb2tpZUphci5oIgogI2luY2x1ZGUgIkN1c3RvbUVsZW1lbnRSZWFj
dGlvblF1ZXVlLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmgiCkBAIC0xNDks
NiArMTUwLDcgQEAKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJQYWdlVHJhbnNp
dGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaCIKKyNpbmNs
dWRlICJQZXJmb3JtYW5jZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTG9jYWxlLmgiCiAjaW5jbHVk
ZSAiUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TY3Jl
ZW4uaCIKQEAgLTMxNDcsNiArMzE0OSwzNCBAQCBib29sIERvY3VtZW50Ojppc0xheW91dFRpbWVy
QWN0aXZlKCkgY29uCiAgICAgcmV0dXJuIHZpZXcoKSAmJiB2aWV3KCktPmxheW91dENvbnRleHQo
KS5pc0xheW91dFBlbmRpbmcoKTsKIH0KIAorYm9vbCBEb2N1bWVudDo6c3VwcG9ydHNQYWludFRp
bWluZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkucGFpbnRUaW1pbmdFbmFibGVkKCkgJiYgc2VjdXJpdHlPcmlnaW4oKS5jYW5B
Y2Nlc3ModG9wT3JpZ2luKCkpOworfQorCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGFpbnQt
dGltaW5nLyNyZWYtZm9yLW1hcmstcGFpbnQtdGltaW5nCit2b2lkIERvY3VtZW50OjplbnF1ZXVl
UGFpbnRUaW1pbmdFbnRyeUlmTmVlZGVkKCkKK3sKKyAgICBpZiAobV9kaWRFbnF1ZXVlRmlyc3RD
b250ZW50ZnVsUGFpbnQpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghc3VwcG9ydHNQYWlu
dFRpbWluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIWRvbVdpbmRvdygpIHx8ICF2
aWV3KCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIFRvIG1ha2Ugc3VyZSB3ZSBkb24ndCBy
ZXBvcnQgcGFpbnQgd2hpbGUgdGhlIGxheWVyIHRyZWUgaXMgc3RpbGwgZnJvemVuLgorICAgIGlm
ICghdmlldygpLT5pc1Zpc3VhbGx5Tm9uRW1wdHkoKSB8fCB2aWV3KCktPm5lZWRzTGF5b3V0KCkp
CisgICAgICAgIHJldHVybjsKKworICAgIGlmICghQ29udGVudGZ1bFBhaW50Q2hlY2tlcjo6cXVh
bGlmaWVzRm9yQ29udGVudGZ1bFBhaW50KCp2aWV3KCkpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBkb21XaW5kb3coKS0+cGVyZm9ybWFuY2UoKS5yZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgp
OworICAgIG1fZGlkRW5xdWV1ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gdHJ1ZTsKK30KKwogRXhj
ZXB0aW9uT3I8dm9pZD4gRG9jdW1lbnQ6OndyaXRlKERvY3VtZW50KiByZXNwb25zaWJsZURvY3Vt
ZW50LCBTZWdtZW50ZWRTdHJpbmcmJiB0ZXh0KQogewogICAgIGlmIChtX2FjdGl2ZVBhcnNlcldh
c0Fib3J0ZWQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMjYwODQyKQorKysg
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNDAsNiAr
MTA0MCw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2hvdWxkRGVmZXJBc3luY2hyb25vdXNTY3Jp
cHRzVW50aWxQYXJzaW5nRmluaXNoZXMoKSBjb25zdDsKIAorICAgIGJvb2wgc3VwcG9ydHNQYWlu
dFRpbWluZygpIGNvbnN0OworCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgdm9pZCBzY2hlZHVsZVRv
QXBwbHlYU0xUcmFuc2Zvcm1zKCk7CiAgICAgdm9pZCBhcHBseVBlbmRpbmdYU0xUcmFuc2Zvcm1z
Tm93SWZTY2hlZHVsZWQoKTsKQEAgLTE1NzksNiArMTU4MSw3IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgc2V0SGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQoKSB7IG1faGFzVmlzdWFsbHlO
b25FbXB0eUN1c3RvbUNvbnRlbnQgPSB0cnVlOyB9CiAgICAgYm9vbCBoYXNWaXN1YWxseU5vbkVt
cHR5Q3VzdG9tQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzVmlzdWFsbHlOb25FbXB0eUN1
c3RvbUNvbnRlbnQ7IH0KKyAgICB2b2lkIGVucXVldWVQYWludFRpbWluZ0VudHJ5SWZOZWVkZWQo
KTsKIAogICAgIEVkaXRvciYgZWRpdG9yKCkgeyByZXR1cm4gbV9lZGl0b3I7IH0KICAgICBjb25z
dCBFZGl0b3ImIGVkaXRvcigpIGNvbnN0IHsgcmV0dXJuIG1fZWRpdG9yOyB9CkBAIC0yMDQ1LDYg
KzIwNDgsOSBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX2FyZURldmljZU1vdGlvbkFuZE9yaWVu
dGF0aW9uVXBkYXRlc1N1c3BlbmRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3VzZXJEaWRJbnRl
cmFjdFdpdGhQYWdlIHsgZmFsc2UgfTsKKworICAgIGJvb2wgbV9kaWRFbnF1ZXVlRmlyc3RDb250
ZW50ZnVsUGFpbnQgeyBmYWxzZSB9OworCiAjaWYgQVNTRVJUX0VOQUJMRUQKICAgICBib29sIG1f
aW5IaXRUZXN0aW5nIHsgZmFsc2UgfTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAkocmV2aXNpb24gMjYwODQyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MjUyLDYgKzQyNTIsOSBAQCB2b2lkIEZyYW1lVmll
dzo6cGFpbnRDb250ZW50cyhHcmFwaGljc0NvCiAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJ
TkdfQ09OVEVYVCkKICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5sYXlvdXRGb3JtYXR0aW5nQ29udGV4dEVuYWJsZWQoKSkgeworICAgICAgICAvLyBJbnRl
Z3JhdGUgcGFpbnQgdGltaW5nIHdpdGggTEZDIGxhdGVyIG9uLgorICAgICAgICBpZiAoY29udGV4
dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkKKyAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgaWYgKGF1dG8qIGxheW91dFN0YXRlID0gbGF5b3V0Q29udGV4dCgpLmxheW91dEZvcm1hdHRp
bmdTdGF0ZSgpKQogICAgICAgICAgICAgTGF5b3V0OjpMYXlvdXRDb250ZXh0OjpwYWludCgqbGF5
b3V0U3RhdGUsIGNvbnRleHQsIGRpcnR5UmVjdCk7CiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcAkocmV2aXNpb24gMjYwODQyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQwOCw2ICsxNDA4LDEwIEBAIHZvaWQgUGFnZTo6
ZG9BZnRlclVwZGF0ZVJlbmRlcmluZygpCiAgICAgLy8gbGF5b3V0IHRvIGJlIHVwLXRvLWRhdGUu
IEl0IHNob3VsZCBub3QgcnVuIHNjcmlwdCwgdHJpZ2dlciBsYXlvdXQsIG9yIGRpcnR5IGxheW91
dC4KIAogICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CisgICAg
ICAgIGRvY3VtZW50LmVucXVldWVQYWludFRpbWluZ0VudHJ5SWZOZWVkZWQoKTsKKyAgICB9KTsK
KworICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CiAgICAgICAg
IGRvY3VtZW50LnVwZGF0ZUhpZ2hsaWdodFBvc2l0aW9ucygpOwogICAgIH0pOwogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkocmV2aXNpb24gMjYwODQyKQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQy
LDcgQEAKICNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNlcnZlci5oIgorI2luY2x1
ZGUgIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQ
ZXJmb3JtYW5jZVVzZXJUaW1pbmcuaCIKQEAgLTEyOSw2ICsxMzAsOSBAQCBWZWN0b3I8UmVmUHRy
PFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3JtCiAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9y
KG1fdXNlclRpbWluZy0+Z2V0TWVhc3VyZXMoKSk7CiAgICAgfQogCisgICAgaWYgKG1fZmlyc3RD
b250ZW50ZnVsUGFpbnQpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVs
UGFpbnQpOworCiAgICAgc3RkOjpzb3J0KGVudHJpZXMuYmVnaW4oKSwgZW50cmllcy5lbmQoKSwg
UGVyZm9ybWFuY2VFbnRyeTo6c3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKTsKICAgICByZXR1cm4g
ZW50cmllczsKIH0KQEAgLTE0MCw2ICsxNDQsOSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNl
RW50cnk+PiBQZXJmb3JtCiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVu
dHJ5VHlwZSwgInJlc291cmNlIikpCiAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVz
b3VyY2VUaW1pbmdCdWZmZXIpOwogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYg
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkKKyAgICAg
ICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAobV91
c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShl
bnRyeVR5cGUsICJtYXJrIikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3Vz
ZXJUaW1pbmctPmdldE1hcmtzKCkpOwpAQCAtMTYyLDYgKzE2OSw5IEBAIFZlY3RvcjxSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICAgICAgfQogICAgIH0KIAorICAgIGlmICht
X2ZpcnN0Q29udGVudGZ1bFBhaW50ICYmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkgJiYgbmFtZSA9PSAiZmly
c3QtY29udGVudGZ1bC1wYWludCIpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250
ZW50ZnVsUGFpbnQpOworCiAgICAgaWYgKG1fdXNlclRpbWluZykgewogICAgICAgICBpZiAoZW50
cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlw
ZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWlu
Zy0+Z2V0TWFya3MobmFtZSkpOwpAQCAtMTg1LDYgKzE5NSwxMyBAQCB2b2lkIFBlcmZvcm1hbmNl
OjpzZXRSZXNvdXJjZVRpbWluZ0J1ZmZlCiAgICAgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlckZ1bGxG
bGFnID0gZmFsc2U7CiB9CiAKK3ZvaWQgUGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0Q29udGVudGZ1
bFBhaW50KCkKK3sKKyAgICBBU1NFUlQoIW1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworICAgIG1f
Zmlyc3RDb250ZW50ZnVsUGFpbnQgPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nOjpjcmVhdGVGaXJz
dENvbnRlbnRmdWxQYWludChub3coKSk7CisgICAgcXVldWVFbnRyeSgqbV9maXJzdENvbnRlbnRm
dWxQYWludCk7Cit9CisKIHZvaWQgUGVyZm9ybWFuY2U6OmFkZFJlc291cmNlVGltaW5nKFJlc291
cmNlVGltaW5nJiYgcmVzb3VyY2VUaW1pbmcpCiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCShyZXZpc2lvbiAy
NjA4NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ2LDYgKzQ2LDcgQEAgY2xhc3MgTG9hZFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNl
RW50cnk7CiBjbGFzcyBQZXJmb3JtYW5jZU5hdmlnYXRpb247CiBjbGFzcyBQZXJmb3JtYW5jZU9i
c2VydmVyOworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNl
VGltaW5nOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291cmNlVGltaW5nOwpA
QCAtNzksNiArODAsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZFJlc291cmNlVGltaW5nKFJl
c291cmNlVGltaW5nJiYpOwogCisgICAgdm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgp
OworCiAgICAgdm9pZCByZW1vdmVBbGxPYnNlcnZlcnMoKTsKICAgICB2b2lkIHJlZ2lzdGVyUGVy
Zm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CiAgICAgdm9pZCB1bnJlZ2lz
dGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CkBAIC0xMjMsNiAr
MTI2LDcgQEAgcHJpdmF0ZToKIAogICAgIE1vbm90b25pY1RpbWUgbV90aW1lT3JpZ2luOwogCisg
ICAgUmVmUHRyPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IG1fZmlyc3RDb250ZW50ZnVsUGFpbnQ7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFVzZXJUaW1pbmc+IG1fdXNlclRpbWluZzsKIAogICAgIEdl
bmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV9wZXJmb3JtYW5jZVRpbWVs
aW5lVGFza1F1ZXVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
Y3BwCShyZXZpc2lvbiAyNjA4NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
RW50cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCwxMSBAQCBPcHRpb25hbDxQZXJm
b3JtYW5jZUVudHJ5OjpUeXBlPiBQZXJmb3JtCiAgICAgICAgICAgICByZXR1cm4gT3B0aW9uYWw8
VHlwZT4oVHlwZTo6UmVzb3VyY2UpOwogICAgIH0KIAorICAgIGlmIChSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnBhaW50VGltaW5nRW5hYmxlZCgpKSB7CisgICAgICAg
IGlmIChlbnRyeVR5cGUgPT0gInBhaW50IikKKyAgICAgICAgICAgIHJldHVybiBPcHRpb25hbDxU
eXBlPihUeXBlOjpQYWludCk7CisgICAgfQorCiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgJKHJldmlzaW9uIDI2
MDg0MikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCSh3b3JraW5n
IGNvcHkpCkBAIC00OCwxMCArNDgsMTEgQEAgcHVibGljOgogICAgIGRvdWJsZSBkdXJhdGlvbigp
IGNvbnN0IHsgcmV0dXJuIG1fZHVyYXRpb247IH0KIAogICAgIGVudW0gY2xhc3MgVHlwZSB7Ci0g
ICAgICAgIE5hdmlnYXRpb24gPSAxIDw8IDAsCi0gICAgICAgIE1hcmsgPSAxIDw8IDEsCi0gICAg
ICAgIE1lYXN1cmUgPSAxIDw8IDIsCi0gICAgICAgIFJlc291cmNlID0gMSA8PCAzLAorICAgICAg
ICBOYXZpZ2F0aW9uICA9IDEgPDwgMCwKKyAgICAgICAgTWFyayAgICAgICAgPSAxIDw8IDEsCisg
ICAgICAgIE1lYXN1cmUgICAgID0gMSA8PCAyLAorICAgICAgICBSZXNvdXJjZSAgICA9IDEgPDwg
MywKKyAgICAgICAgUGFpbnQgICAgICAgPSAxIDw8IDQKICAgICB9OwogCiAgICAgdmlydHVhbCBU
eXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC02Miw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICBib29s
IGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UmVzb3VyY2U7IH0K
ICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYXJrOyB9
CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWVh
c3VyZTsgfQorICAgIGJvb2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBl
OjpQYWludDsgfQogCiAgICAgc3RhdGljIGJvb2wgc3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKGNv
bnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYSwgY29uc3QgUmVmUHRyPFBlcmZvcm1hbmNl
RW50cnk+JiBiKQogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyLmNwcAkocmV2aXNpb24gMjYwODQyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDE1ICsxMTMsMjEg
QEAgdm9pZCBQZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVyKCkKICAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZEZpcmVPYnNlcnZlckNhbGxiYWNrKCpjb250ZXh0KTsKIH0KIAotVmVj
dG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcygpCitW
ZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIHsKKyAgICBWZWN0
b3I8U3RyaW5nPiBlbnRyeVR5cGVzID0gewogICAgICAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Vi
a2l0Lm9yZy9iLzE4NDM2Mz4gQWRkIHN1cHBvcnQgZm9yIE5hdmlnYXRpb24gVGltaW5nIExldmVs
IDIKICAgICAgICAgLy8gIm5hdmlnYXRpb24iX3MsCiAgICAgICAgICJtYXJrIl9zLAotICAgICAg
ICAibWVhc3VyZSJfcywKLSAgICAgICAgInJlc291cmNlIl9zCisgICAgICAgICJtZWFzdXJlIl9z
CiAgICAgfTsKKworICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4dCkgJiYgZG93bmNhc3Q8RG9j
dW1lbnQ+KGNvbnRleHQpLnN1cHBvcnRzUGFpbnRUaW1pbmcoKSkKKyAgICAgICAgZW50cnlUeXBl
cy5hcHBlbmQoInBhaW50Il9zKTsKKworICAgIGVudHJ5VHlwZXMuYXBwZW5kKCJyZXNvdXJjZSJf
cyk7CisKKyAgICByZXR1cm4gZW50cnlUeXBlczsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgJKHJldmlz
aW9uIDI2MDg0MikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihjb250ZXh0LCBXVEZNb3ZlKGNhbGxi
YWNrKSkpOwogICAgIH0KIAotICAgIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRFbnRy
eVR5cGVzKCk7CisgICAgc3RhdGljIFZlY3RvcjxTdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXMo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogCiAgICAgdm9pZCBkaXNhc3NvY2lhdGUoKTsKIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCShyZXZp
c2lvbiAyNjA4NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiBdIGludGVyZmFjZSBQZXJmb3Jt
YW5jZU9ic2VydmVyIHsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgb2JzZXJ2ZShQZXJm
b3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKLSAg
ICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PERPTVN0cmluZz4gc3VwcG9y
dGVkRW50cnlUeXBlczsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gc3Rh
dGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHN1cHBvcnRlZEVu
dHJ5VHlwZXM7CiB9OwogCiBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IHsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCShub25l
eGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
ICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZyBmaW5h
bCA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFBl
cmZvcm1hbmNlUGFpbnRUaW1pbmc+IGNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KERPTUhpZ2hS
ZXNUaW1lU3RhbXAgdGltZVN0YW1wKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygiZmlyc3QtY29udGVudGZ1bC1wYWludCJfcywgdGlt
ZVN0YW1wKSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmco
Y29uc3QgU3RyaW5nJiBuYW1lLCBET01IaWdoUmVzVGltZVN0YW1wIHRpbWVTdGFtcCkKKyAgICAg
ICAgOiBQZXJmb3JtYW5jZUVudHJ5KG5hbWUsIHRpbWVTdGFtcCwgdGltZVN0YW1wKQorICAgIHsK
KyAgICB9CisKKyAgICBBU0NJSUxpdGVyYWwgZW50cnlUeXBlKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gInBhaW50Il9zOyB9CisgICAgVHlwZSB0eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gVHlw
ZTo6UGFpbnQ7IH0KKworICAgIH5QZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgPSBkZWZhdWx0Owor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JF
R0lOKFdlYkNvcmU6OlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcpCisgICAgc3RhdGljIGJvb2wgaXNU
eXBlKGNvbnN0IFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KSB7IHJldHVybiBlbnRy
eS5pc1BhaW50KCk7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkobm9uZXhpc3Rl
bnQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAg
V2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRo
dWIuaW8vcGFpbnQtdGltaW5nLworCit0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1w
OworCitbCisgICAgRW5hYmxlZEF0UnVudGltZT1QYWludFRpbWluZywKKyAgICBFeHBvc2VkPShX
aW5kb3cpLAorXSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VQYWludFRpbWluZyA6IFBlcmZvcm1hbmNl
RW50cnkgeworfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oCShyZXZpc2lvbiAyNjA4NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsOSBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRVc2VyVGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lz
VXNlclRpbWluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHVzZXJUaW1pbmdFbmFi
bGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1VzZXJUaW1pbmdFbmFibGVkOyB9CiAKKyAgICB2b2lk
IHNldFBhaW50VGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzUGFpbnRUaW1pbmdF
bmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCBwYWludFRpbWluZ0VuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX2lzUGFpbnRUaW1pbmdFbmFibGVkOyB9CisKICAgICBib29sIHBlcmZvcm1h
bmNlVGltZWxpbmVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gcmVzb3VyY2VUaW1pbmdFbmFibGVk
KCkgfHwgdXNlclRpbWluZ0VuYWJsZWQoKTsgfQogCiAgICAgdm9pZCBzZXRTaGFkb3dET01FbmFi
bGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNTaGFkb3dET01FbmFibGVkID0gaXNFbmFibGVkOyB9
CkBAIC00MjQsNiArNDI3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNMaW5rUHJlbG9hZEVu
YWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2lzTGlua1ByZWZldGNoRW5hYmxlZCB7IGZhbHNl
IH07CiAgICAgYm9vbCBtX2lzTWVkaWFQcmVsb2FkaW5nRW5hYmxlZCB7IGZhbHNlIH07CisgICAg
Ym9vbCBtX2lzUGFpbnRUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNSZXNv
dXJjZVRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1VzZXJUaW1pbmdFbmFi
bGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5h
YmxlZCB7IGZhbHNlIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAkocmV2aXNpb24gMjYwODQyKQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTI3Myw3ICsyNzMsOCBAQCBwdWJsaWM6CiAgICAgZW51bSBjbGFzcyBQYWludEludmFsaWRh
dGlvblJlYXNvbnMgOiB1aW50OF90IHsKICAgICAgICAgTm9uZSwKICAgICAgICAgSW52YWxpZGF0
aW5nQ29udHJvbFRpbnRzLAotICAgICAgICBJbnZhbGlkYXRpbmdJbWFnZXNXaXRoQXN5bmNEZWNv
ZGVzCisgICAgICAgIEludmFsaWRhdGluZ0ltYWdlc1dpdGhBc3luY0RlY29kZXMsCisgICAgICAg
IERldGVjdGluZ0NvbnRlbnRmdWxQYWludAogICAgIH07CiAgICAgR3JhcGhpY3NDb250ZXh0KFBh
aW50SW52YWxpZGF0aW9uUmVhc29ucyk7CiAKQEAgLTI5Miw2ICsyOTMsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBwZXJmb3JtaW5nUGFpbnRJbnZhbGlkYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Bh
aW50SW52YWxpZGF0aW9uUmVhc29ucyAhPSBQYWludEludmFsaWRhdGlvblJlYXNvbnM6Ok5vbmU7
IH0KICAgICBib29sIGludmFsaWRhdGluZ0NvbnRyb2xUaW50cygpIGNvbnN0IHsgcmV0dXJuIG1f
cGFpbnRJbnZhbGlkYXRpb25SZWFzb25zID09IFBhaW50SW52YWxpZGF0aW9uUmVhc29uczo6SW52
YWxpZGF0aW5nQ29udHJvbFRpbnRzOyB9CiAgICAgYm9vbCBpbnZhbGlkYXRpbmdJbWFnZXNXaXRo
QXN5bmNEZWNvZGVzKCkgY29uc3QgeyByZXR1cm4gbV9wYWludEludmFsaWRhdGlvblJlYXNvbnMg
PT0gUGFpbnRJbnZhbGlkYXRpb25SZWFzb25zOjpJbnZhbGlkYXRpbmdJbWFnZXNXaXRoQXN5bmNE
ZWNvZGVzOyB9CisgICAgYm9vbCBkZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSBjb25zdCB7IHJl
dHVybiBtX3BhaW50SW52YWxpZGF0aW9uUmVhc29ucyA9PSBQYWludEludmFsaWRhdGlvblJlYXNv
bnM6OkRldGVjdGluZ0NvbnRlbnRmdWxQYWludDsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRTdHJva2VUaGlja25lc3MoZmxvYXQpOwogICAgIGZsb2F0IHN0cm9rZVRoaWNrbmVzcygp
IGNvbnN0IHsgcmV0dXJuIG1fc3RhdGUuc3Ryb2tlVGhpY2tuZXNzOyB9CkBAIC01MTMsNiArNTE1
LDkgQEAgcHVibGljOgogICAgIEZsb2F0U2l6ZSBzY2FsZUZhY3RvcigpIGNvbnN0OwogICAgIEZs
b2F0U2l6ZSBzY2FsZUZhY3RvckZvckRyYXdpbmcoY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCwg
Y29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0KSBjb25zdDsKIAorICAgIHZvaWQgc2V0Q29udGVudGZ1
bFBhaW50RGV0ZWN0ZWQoKSB7IG1fY29udGVuZnVsUGFpbnREZXRlY3RlZCA9IHRydWU7IH0KKyAg
ICBib29sIGNvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbmZ1
bFBhaW50RGV0ZWN0ZWQ7IH0KKwogI2lmIE9TKFdJTkRPV1MpCiAgICAgSERDIGdldFdpbmRvd3ND
b250ZXh0KGNvbnN0IEludFJlY3QmLCBib29sIHN1cHBvcnRBbHBoYUJsZW5kKTsgLy8gVGhlIHBh
c3NlZCBpbiByZWN0IGlzIHVzZWQgdG8gY3JlYXRlIGEgYml0bWFwIGZvciBjb21wb3NpdGluZyBp
bnNpZGUgdHJhbnNwYXJlbmN5IGxheWVycy4KICAgICB2b2lkIHJlbGVhc2VXaW5kb3dzQ29udGV4
dChIREMsIGNvbnN0IEludFJlY3QmLCBib29sIHN1cHBvcnRBbHBoYUJsZW5kKTsgLy8gVGhlIHBh
c3NlZCBpbiBIREMgc2hvdWxkIGJlIHRoZSBvbmUgaGFuZGVkIGJhY2sgYnkgZ2V0V2luZG93c0Nv
bnRleHQuCkBAIC02NjEsNiArNjY2LDcgQEAgcHJpdmF0ZToKIAogICAgIGNvbnN0IFBhaW50SW52
YWxpZGF0aW9uUmVhc29ucyBtX3BhaW50SW52YWxpZGF0aW9uUmVhc29ucyB7IFBhaW50SW52YWxp
ZGF0aW9uUmVhc29uczo6Tm9uZSB9OwogICAgIHVuc2lnbmVkIG1fdHJhbnNwYXJlbmN5Q291bnQg
eyAwIH07CisgICAgYm9vbCBtX2NvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQgeyBmYWxzZSB9OwogfTsK
IAogY2xhc3MgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciB7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwCShub25leGlz
dGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2Vy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIwIFdpa2lNZWRpYSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJDb250ZW50ZnVsUGFpbnRDaGVja2VyLmgiCisKKyNpbmNsdWRl
ICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitib29sIENvbnRlbnRmdWxQYWludENoZWNrZXI6OnF1YWxpZmllc0ZvckNv
bnRlbnRmdWxQYWludChGcmFtZVZpZXcmIGZyYW1lVmlldykKK3sKKyAgICBBU1NFUlQoIWZyYW1l
Vmlldy5uZWVkc0xheW91dCgpKTsKKyAgICBBU1NFUlQoZnJhbWVWaWV3LnJlbmRlclZpZXcoKSk7
CisKKyAgICBhdXRvIG9sZFBhaW50QmVoYXZpb3IgPSBmcmFtZVZpZXcucGFpbnRCZWhhdmlvcigp
OworICAgIGF1dG8gb2xkRW50aXJlQ29udGVudHMgPSBmcmFtZVZpZXcucGFpbnRzRW50aXJlQ29u
dGVudHMoKTsKKworICAgIGZyYW1lVmlldy5zZXRQYWludEJlaGF2aW9yKFBhaW50QmVoYXZpb3I6
OkZsYXR0ZW5Db21wb3NpdGluZ0xheWVycyk7CisgICAgZnJhbWVWaWV3LnNldFBhaW50c0VudGly
ZUNvbnRlbnRzKHRydWUpOworCisgICAgR3JhcGhpY3NDb250ZXh0IGNoZWNrZXJDb250ZXh0KEdy
YXBoaWNzQ29udGV4dDo6UGFpbnRJbnZhbGlkYXRpb25SZWFzb25zOjpEZXRlY3RpbmdDb250ZW50
ZnVsUGFpbnQpOworICAgIGZyYW1lVmlldy5wYWludChjaGVja2VyQ29udGV4dCwgZnJhbWVWaWV3
LnJlbmRlclZpZXcoKS0+ZG9jdW1lbnRSZWN0KCkpOworCisgICAgZnJhbWVWaWV3LnNldFBhaW50
c0VudGlyZUNvbnRlbnRzKG9sZEVudGlyZUNvbnRlbnRzKTsKKyAgICBmcmFtZVZpZXcuc2V0UGFp
bnRCZWhhdmlvcihvbGRQYWludEJlaGF2aW9yKTsKKworICAgIHJldHVybiBjaGVja2VyQ29udGV4
dC5jb250ZW5mdWxQYWludERldGVjdGVkKCk7Cit9CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuaAkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAg
V2lraU1lZGlhIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICog
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorKi8KKworI3ByYWdtYSBvbmNlCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRnJhbWVWaWV3OworCitjbGFzcyBDb250ZW50ZnVs
UGFpbnRDaGVja2VyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgYm9vbCBxdWFsaWZpZXNGb3JDb250
ZW50ZnVsUGFpbnQoRnJhbWVWaWV3Jik7Cit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAJKHJldmlzaW9uIDI2MDg0
MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTcxNiw3ICs3MTYsOCBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2Jq
ZWN0OjpwYWludEZpbGxMYXllCiAgICAgQmFja2dyb3VuZEJsZWVkQXZvaWRhbmNlIGJsZWVkQXZv
aWRhbmNlLCBJbmxpbmVGbG93Qm94KiBib3gsIGNvbnN0IExheW91dFNpemUmIGJveFNpemUsIENv
bXBvc2l0ZU9wZXJhdG9yIG9wLCBSZW5kZXJFbGVtZW50KiBiYWNrZ3JvdW5kT2JqZWN0LCBCYXNl
QmFja2dyb3VuZENvbG9yVXNhZ2UgYmFzZUJnQ29sb3JVc2FnZSkKIHsKICAgICBHcmFwaGljc0Nv
bnRleHQmIGNvbnRleHQgPSBwYWludEluZm8uY29udGV4dCgpOwotICAgIGlmIChjb250ZXh0LnBh
aW50aW5nRGlzYWJsZWQoKSB8fCByZWN0LmlzRW1wdHkoKSkKKworICAgIGlmICgoY29udGV4dC5w
YWludGluZ0Rpc2FibGVkKCkgJiYgIWNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkp
IHx8IHJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKICAgICBib29sIGluY2x1ZGVM
ZWZ0RWRnZSA9IGJveCA/IGJveC0+aW5jbHVkZUxvZ2ljYWxMZWZ0RWRnZSgpIDogdHJ1ZTsKQEAg
LTczMSw2ICs3MzIsMTQgQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnRGaWxsTGF5
ZQogICAgIFN0eWxlSW1hZ2UqIGJnSW1hZ2UgPSBiZ0xheWVyLmltYWdlKCk7CiAgICAgYm9vbCBz
aG91bGRQYWludEJhY2tncm91bmRJbWFnZSA9IGJnSW1hZ2UgJiYgYmdJbWFnZS0+Y2FuUmVuZGVy
KHRoaXMsIHN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpKTsKICAgICAKKyAgICBpZiAoY29udGV4dC5k
ZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgeworICAgICAgICBpZiAoIWNvbnRleHQuY29udGVu
ZnVsUGFpbnREZXRlY3RlZCgpICYmIHNob3VsZFBhaW50QmFja2dyb3VuZEltYWdlICYmIGJnSW1h
Z2UtPmNhY2hlZEltYWdlKCkpIHsKKyAgICAgICAgICAgIGlmIChzdHlsZSgpLmJhY2tncm91bmRT
aXplVHlwZSgpICE9IEZpbGxTaXplVHlwZTo6U2l6ZSB8fCAhc3R5bGUoKS5iYWNrZ3JvdW5kU2l6
ZUxlbmd0aCgpLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICBjb250ZXh0LnNldENvbnRlbnRm
dWxQYWludERldGVjdGVkKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9
CisKICAgICBpZiAoY29udGV4dC5pbnZhbGlkYXRpbmdJbWFnZXNXaXRoQXN5bmNEZWNvZGVzKCkp
IHsKICAgICAgICAgaWYgKHNob3VsZFBhaW50QmFja2dyb3VuZEltYWdlICYmIGJnSW1hZ2UtPmNh
Y2hlZEltYWdlKCktPmlzQ2xpZW50V2FpdGluZ0ZvckFzeW5jRGVjb2RpbmcoKnRoaXMpKQogICAg
ICAgICAgICAgYmdJbWFnZS0+Y2FjaGVkSW1hZ2UoKS0+cmVtb3ZlQWxsQ2xpZW50c1dhaXRpbmdG
b3JBc3luY0RlY29kaW5nKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SFRNTENhbnZhcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckhUTUxDYW52YXMuY3BwCShyZXZpc2lvbiAyNjA4NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxLDYgKzcx
LDEzIEBAIHZvaWQgUmVuZGVySFRNTENhbnZhczo6cGFpbnRSZXBsYWNlZChQYWkKICAgICBHcmFw
aGljc0NvbnRleHQmIGNvbnRleHQgPSBwYWludEluZm8uY29udGV4dCgpOwogCiAgICAgTGF5b3V0
UmVjdCBjb250ZW50Qm94UmVjdCA9IHRoaXMtPmNvbnRlbnRCb3hSZWN0KCk7CisKKyAgICBpZiAo
Y29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgeworICAgICAgICBpZiAoIWNvbnRl
eHQuY29udGVuZnVsUGFpbnREZXRlY3RlZCgpICYmIGNhbnZhc0VsZW1lbnQoKS5yZW5kZXJpbmdD
b250ZXh0KCkpCisgICAgICAgICAgICBjb250ZXh0LnNldENvbnRlbnRmdWxQYWludERldGVjdGVk
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBjb250ZW50Qm94UmVjdC5tb3ZlQnko
cGFpbnRPZmZzZXQpOwogICAgIExheW91dFJlY3QgcmVwbGFjZWRDb250ZW50UmVjdCA9IHRoaXMt
PnJlcGxhY2VkQ29udGVudFJlY3QoKTsKICAgICByZXBsYWNlZENvbnRlbnRSZWN0Lm1vdmVCeShw
YWludE9mZnNldCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5j
cHAJKHJldmlzaW9uIDI2MDg0MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5Miw2ICs0OTIsMTMgQEAgdm9pZCBSZW5kZXJJ
bWFnZTo6cGFpbnRSZXBsYWNlZChQYWludEluZgogICAgIGZsb2F0IGRldmljZVNjYWxlRmFjdG9y
ID0gZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpOwogICAgIExheW91dFVuaXQgbWlzc2lu
Z0ltYWdlQm9yZGVyV2lkdGgoMSAvIGRldmljZVNjYWxlRmFjdG9yKTsKIAorICAgIGlmIChjb250
ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpKSB7CisgICAgICAgIGlmICghY29udGV4dC5j
b250ZW5mdWxQYWludERldGVjdGVkKCkgJiYgIWlzRGVmZXJyZWRJbWFnZShlbGVtZW50KCkpICYm
IGNhY2hlZEltYWdlKCkgJiYgY2FjaGVkSW1hZ2UoKS0+Y2FuUmVuZGVyKHRoaXMsIGRldmljZVNj
YWxlRmFjdG9yKSAmJiAhY29udGVudFNpemUuaXNFbXB0eSgpKQorICAgICAgICAgICAgY29udGV4
dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworCisgICAgICAgIHJldHVybjsKKyAgICB9
CisKICAgICBpZiAoIWltYWdlUmVzb3VyY2UoKS5jYWNoZWRJbWFnZSgpIHx8IGlzRGVmZXJyZWRJ
bWFnZShlbGVtZW50KCkpIHx8IHNob3VsZERpc3BsYXlCcm9rZW5JbWFnZUljb24oKSkgewogICAg
ICAgICBpZiAocGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2U6OlNlbGVjdGlvbikKICAgICAg
ICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAkocmV2aXNpb24gMjYwODQyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDU0MCw2ICs0NTQwLDkgQEAgdm9pZCBSZW5k
ZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKEdyYQogewogICAgIEFTU0VSVChpc1NlbGZQYWlu
dGluZ0xheWVyKCkgfHwgaGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KCkpOwogCisgICAg
aWYgKGNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkgJiYgY29udGV4dC5jb250ZW5m
dWxQYWludERldGVjdGVkKCkpCisgICAgICAgIHJldHVybjsKKwogICAgIGF1dG8gbG9jYWxQYWlu
dEZsYWdzID0gcGFpbnRGbGFncyAtIFBhaW50TGF5ZXJBcHBsaWVkVHJhbnNmb3JtOwogICAgIGJv
b2wgaGF2ZVRyYW5zcGFyZW5jeSA9IGxvY2FsUGFpbnRGbGFncy5jb250YWlucyhQYWludExheWVy
SGF2ZVRyYW5zcGFyZW5jeSk7CiAgICAgYm9vbCBpc1NlbGZQYWludGluZ0xheWVyID0gdGhpcy0+
aXNTZWxmUGFpbnRpbmdMYXllcigpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZGVvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVmlkZW8uY3BwCShyZXZpc2lvbiAyNjA4NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlkZW8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDQsNiArMjA0LDEyIEBAIHZv
aWQgUmVuZGVyVmlkZW86OnBhaW50UmVwbGFjZWQoUGFpbnRJbmYKICAgICBMYXlvdXRSZWN0IGNv
bnRlbnRSZWN0ID0gY29udGVudEJveFJlY3QoKTsKICAgICBjb250ZW50UmVjdC5tb3ZlQnkocGFp
bnRPZmZzZXQpOwogICAgIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCA9IHBhaW50SW5mby5jb250
ZXh0KCk7CisKKyAgICBpZiAoY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgewor
ICAgICAgICBjb250ZXh0LnNldENvbnRlbnRmdWxQYWludERldGVjdGVkKCk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKICAgICBib29sIGNsaXAgPSAhY29udGVudFJlY3QuY29udGFpbnMocmVj
dCk7CiAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGNvbnRleHQsIGNs
aXApOwogICAgIGlmIChjbGlwKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQ
YWludGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBh
aW50ZXIuY3BwCShyZXZpc2lvbiAyNjA4NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
VGV4dFBhaW50ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVk
ZSAiRGlzcGxheVJ1bi5oIgogI2luY2x1ZGUgIkZpbHRlck9wZXJhdGlvbnMuaCIKICNpbmNsdWRl
ICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5j
bHVkZSAiSW5saW5lVGV4dEJveC5oIgogI2luY2x1ZGUgIlJlbmRlckNvbWJpbmVUZXh0LmgiCiAj
aW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKQEAgLTEwNSw2ICsxMDYsMTMgQEAgdm9pZCBUZXh0UGFp
bnRlcjo6cGFpbnRUZXh0T3JFbXBoYXNpc01hcgogICAgIGZsb2F0IGVtcGhhc2lzTWFya09mZnNl
dCwgY29uc3QgRmxvYXRQb2ludCYgdGV4dE9yaWdpbiwgdW5zaWduZWQgc3RhcnRPZmZzZXQsIHVu
c2lnbmVkIGVuZE9mZnNldCkKIHsKICAgICBBU1NFUlQoc3RhcnRPZmZzZXQgPCBlbmRPZmZzZXQp
OworCisgICAgaWYgKG1fY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgeworICAg
ICAgICBpZiAoIXRleHRSdW4udGV4dCgpLnRvU3RyaW5nKCkuaXNBbGxTcGVjaWFsQ2hhcmFjdGVy
czxpc0hUTUxTcGFjZT4oKSkKKyAgICAgICAgICAgIG1fY29udGV4dC5zZXRDb250ZW50ZnVsUGFp
bnREZXRlY3RlZCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKCFlbXBoYXNp
c01hcmsuaXNFbXB0eSgpKQogICAgICAgICBtX2NvbnRleHQuZHJhd0VtcGhhc2lzTWFya3MoZm9u
dCwgdGV4dFJ1biwgZW1waGFzaXNNYXJrLCB0ZXh0T3JpZ2luICsgRmxvYXRTaXplKDAsIGVtcGhh
c2lzTWFya09mZnNldCksIHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpOwogICAgIGVsc2UgaWYgKHN0
YXJ0T2Zmc2V0IHx8IGVuZE9mZnNldCA8IHRleHRSdW4ubGVuZ3RoKCkgfHwgIW1fZ2x5cGhEaXNw
bGF5TGlzdCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9v
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSb290LmNwcAkocmV2aXNpb24gMjYwODQyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdSb290LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAog
I2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJMYXlvdXRSZXBhaW50ZXIuaCIK
ICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUmVuZGVyQ2hpbGRJdGVyYXRvci5oIgogI2lu
Y2x1ZGUgIlJlbmRlckl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNs
dWRlICJSZW5kZXJMYXlvdXRTdGF0ZS5oIgpAQCAtMjExLDcgKzIxMiw3IEBAIHZvaWQgUmVuZGVy
U1ZHUm9vdDo6cGFpbnRSZXBsYWNlZChQYWludEkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8g
RG9uJ3QgcGFpbnQsIGlmIHRoZSBjb250ZXh0IGV4cGxpY2l0bHkgZGlzYWJsZWQgaXQuCi0gICAg
aWYgKHBhaW50SW5mby5jb250ZXh0KCkucGFpbnRpbmdEaXNhYmxlZCgpKQorICAgIGlmIChwYWlu
dEluZm8uY29udGV4dCgpLnBhaW50aW5nRGlzYWJsZWQoKSAmJiAhcGFpbnRJbmZvLmNvbnRleHQo
KS5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8g
U1ZHIG91dGxpbmVzIGFyZSBwYWludGVkIGR1cmluZyBQYWludFBoYXNlOjpGb3JlZ3JvdW5kLgpA
QCAtMjIzLDYgKzIyNCwxNyBAQCB2b2lkIFJlbmRlclNWR1Jvb3Q6OnBhaW50UmVwbGFjZWQoUGFp
bnRJCiAgICAgaWYgKHN2Z1NWR0VsZW1lbnQoKS5oYXNFbXB0eVZpZXdCb3goKSkKICAgICAgICAg
cmV0dXJuOwogCisgICAgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0ID0gcGFpbnRJbmZvLmNvbnRl
eHQoKTsKKyAgICBpZiAoY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgeworICAg
ICAgICBmb3IgKGF1dG8mIGN1cnJlbnQgOiBjaGlsZHJlbk9mVHlwZTxSZW5kZXJPYmplY3Q+KCp0
aGlzKSkgeworICAgICAgICAgICAgaWYgKCFjdXJyZW50LmlzU1ZHSGlkZGVuQ29udGFpbmVyKCkp
IHsKKyAgICAgICAgICAgICAgICBjb250ZXh0LnNldENvbnRlbnRmdWxQYWludERldGVjdGVkKCk7
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKICAgICAvLyBEb24ndCBwYWludCBpZiB3ZSBkb24ndCBoYXZl
IGtpZHMsIGV4Y2VwdCBpZiB3ZSBoYXZlIGZpbHRlcnMgd2Ugc2hvdWxkIHBhaW50IHRob3NlLgog
ICAgIGlmICghZmlyc3RDaGlsZCgpKSB7CiAgICAgICAgIGF1dG8qIHJlc291cmNlcyA9IFNWR1Jl
c291cmNlc0NhY2hlOjpjYWNoZWRSZXNvdXJjZXNGb3JSZW5kZXJlcigqdGhpcyk7CkluZGV4OiBT
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwkocmV2aXNpb24gMjYwODQyKQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wNC0yOCAgTm9hbSBSb3NlbnRoYWwgIDxu
b2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmlyc3QgY29udGVudGZ1
bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBB
ZGQgYW4gZXhwZXJpbWVudGFsIHJ1bnRpbWUgZmxhZyBmb3IgcGFpbnQtdGltaW5nIChwYWludFRp
bWluZ0VuYWJsZWQpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQ
cmVmZXJlbmNlc1NldFBhaW50VGltaW5nRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2Vz
R2V0UGFpbnRUaW1pbmdFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlc1JlZlByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbjo6dXBkYXRlUHJlZmVyZW5jZXNTdG9yZSk6CisKIDIwMjAtMDQt
MjggIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjQ2F0
YWx5c3RdIEFkZCBtaXNzaW5nIHN5bWxpbmtzIHRvIFdlYktpdC5mcmFtZXdvcmtzCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHJldmlzaW9uIDI2MDg0MikK
KysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHdvcmtpbmcgY29w
eSkKQEAgLTgyNSw2ICs4MjUsMTQgQEAgTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ6CiAgIGh1
bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIlVzZSBtb2Rlcm4gbWVkaWEgY29udHJvbHMgbG9vayIK
ICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAorUGFpbnRUaW1pbmdF
bmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFk
YWJsZU5hbWU6ICJQYWludCBUaW1pbmciCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVu
YWJsZSBQYWludFRpbWluZyBBUEkiCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzCisgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKwogUmVzb3VyY2VUaW1pbmdFbmFibGVk
OgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQpJbmRleDogU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAJKHJldmlzaW9uIDI2MDg0
MikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xODIwLDYgKzE4MjAsMTYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0
VXNlclRpbWluZ0VuYWJsZWQoVwogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT51
c2VyVGltaW5nRW5hYmxlZCgpOwogfQogCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWlu
Z0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQorewor
ICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFBhaW50VGltaW5nRW5hYmxlZChmbGFnKTsK
K30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1Jl
ZiktPnBhaW50VGltaW5nRW5hYmxlZCgpOworfQorCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRSZXNv
dXJjZVRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBm
bGFnKQogewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFJlc291cmNlVGltaW5nRW5h
YmxlZChmbGFnKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXNSZWZQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAkocmV2aXNpb24gMjYwODQyKQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAkod29y
a2luZyBjb3B5KQpAQCAtNTAwLDYgKzUwMCwxMCBAQCBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVu
Y2VzU2V0VXNlclRpbWluCiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0VXNlclRpbWlu
Z0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CiAKIC8vIERlZmF1bHRzIHRvIGZhbHNlCitXS19F
WFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYsIGJvb2wgZmxhZyk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0UGFpbnRU
aW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOworCisvLyBEZWZhdWx0cyB0byBmYWxzZQog
V0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1By
ZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dl
dFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIApJbmRleDogU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAkocmV2aXNpb24gMjYwODQyKQorKysgU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjIsNiArMTIyLDcgQEAgdm9pZCBXZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbjo6dXBkYQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0Q2FjaGVBUElFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6Y2FjaGVBUElFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJRW5hYmxlZChzdG9yZS5n
ZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZldGNoQVBJRW5hYmxlZEtleSgp
KSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2Vy
VGltaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6
OnVzZXJUaW1pbmdFbmFibGVkS2V5KCkpKTsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLnNldFBhaW50VGltaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnBhaW50VGltaW5nRW5hYmxlZEtleSgpKSk7CiAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXNvdXJjZVRpbWlu
Z0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXNv
dXJjZVRpbWluZ0VuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKHN0b3JlLmdldEJvb2xW
YWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6ZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkS2V5
KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFJl
c3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3Moc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlBy
ZWZlcmVuY2VzS2V5OjpyZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzS2V5KCkpKTsKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI2MDg0MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDU0IEBACisyMDIwLTA0LTI4ICBOb2FtIFJvc2VudGhhbCAgPG5vYW1A
d2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBh
aW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4
NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEFkZGVk
IHRlc3RzIGZvciBzb21lIGZpcnN0LWNvbnRlbnRmdWwtcGFpbnQgKEZDUCkgdXNlLWNhc2VzLgor
ICAgICAgICBFbnN1cmUgdGhhdCBGQ1Agd29ya3Mgd2VsbCB3aXRoIFZORSAoZmlyc3QgcGFpbnQg
ZGVsYXkgdW50aWwgY29udGVudHMgYXJlIHZpc3VhbGx5IG5vbi1lbXB0eSkuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMt
d2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICAgICAgICAgRGlzYWJsZSBwYWludCB0aW1p
bmcgZm9yIFdlYktpdDEuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAg
ICAgICAgIERpc2FibGUgb2YgdGhlIFdQVCB0ZXN0cy4KKyAgICAgICAgCisgICAgICAgICogaHR0
cC90ZXN0cy9wZXJmb3JtYW5jZS9wYWludC10aW1pbmc6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvcGVyZm9ybWFuY2UvcGFpbnQtdGltaW5nL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1m
Y3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BhaW50LXRpbWluZy9wZXJm
b3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVt
LWNoYXJzLmh0bWw6IEFkZGVkLgorICAgICAgICAgICAgICAgIElmIFZORSBkdWUgdG8gbnVtYmVy
IG9mIGNoYXJhY3RlcnMgYmxvY2tzIHBhaW50aW5nLCBtYWtlIHN1cmUgRkNQIGlzIHJlcG9ydGVk
IG9ubHkgYWZ0ZXIgcGFpbnRpbmcgaXMgdW5ibG9ja2VkLgorCisgICAgICAgICogaHR0cC90ZXN0
cy9wZXJmb3JtYW5jZS9wYWludC10aW1pbmcvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1h
ZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wYWludC10aW1pbmcvcGVyZm9ybWFuY2Ut
cGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLmh0bWw6
IEFkZGVkLgorICAgICAgICAgICAgICAgIElmIGEgcGVuZGluZyBzdHlsZXNoZWV0IGJsb2NrcyBw
YWludGluZywgbWFrZSBzdXJlIEZDUCBpcyByZXBvcnRlZCBvbmx5IGFmdGVyIHN0eWxlc2hlZXQg
aGFzIGxvYWRlZC4KKworICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGFpbnQtdGlt
aW5nL3Jlc291cmNlczogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9w
YWludC10aW1pbmcvcmVzb3VyY2VzL3Nsb3dzY3JpcHQucGhwOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc2xvd3N0eWxlLnBo
cDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wYWludC10aW1pbmcv
cmVzb3VyY2VzL3N0eWxlLmNzczogQWRkZWQuCisgICAgICAgIChib2R5KToKKyAgICAgICAgKiBw
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5j
ZS1hcGkvcGFpbnQtdGltaW5nL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9wYWludC10aW1pbmctYXBp
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nL3Bh
aW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9wYWludC10aW1pbmctd2l0aC13
b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGFp
bnQtdGltaW5nL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAg
ICAgICAgICBUZXN0IHRoYXQgRkNQIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNyb3NzLW9yaWdpbiBm
cmFtZXMgYW5kIHdvcmtlcnMuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGlt
aW5nL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nL3BlcmZv
cm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQuaHRtbDogQWRkZWQuCisgICAg
ICAgICAgICAgICAgVGVzdCB0aGF0IHBlcmZvcm1hbmNlIG9ic2VydmVycyBhcmUgY2FsbGVkIGZv
ciBGQ1AuCisKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nL3Jlc291cmNl
czogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9yZXNvdXJj
ZXMvZmNwLXN1YmZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9w
YWludC10aW1pbmcvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qczogQWRkZWQuCisgICAgICAg
IChhc3luYyB3YWl0Rm9yRkNQKToKKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGlt
aW5nL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzOiBBZGRlZC4KKyAgICAgICAgKiBwZXJm
b3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nL3Jlc291cmNlcy93b3JrZXIuaHRtbDogQWRkZWQuCisK
IDIwMjAtMDQtMjggIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFJFR1JFU1NJT04ocjI2MDgyMik6IEJyb2tlIG1lZGlhL3RyYWNrL3RyYWNrLWluLWJh
bmQtbWV0YWRhdGEtZGlzcGxheS1vcmRlci5odG1sIG9uIE1hYwpJbmRleDogTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCShyZXZpc2lvbiAyNjA4NDIpCisrKyBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDgsNiArMjA4LDkgQEAgZmFzdC92aXN1YWwtdmlld3BvcnQvcnVi
YmVyYmFuZGluZy12aWV3cAogIyBEYXRhRGV0ZWN0b3JzIHRlc3RzIG9ubHkgbWFrZSBzZW5zZSBv
biBNYWMKIGZhc3QvZXZlbnRzL2RvLW5vdC1kcmFnLWFuZC1kcm9wLWRhdGEtZGV0ZWN0b3JzLWxp
bmsuaHRtbCBbIFNraXAgXQogCisjIEEgcm91bmRpbmcgZXJyb3IgbWF5IGNhdXNlIDkwZGVnIDNk
LXJvdGF0ZWQgZWxlbWVudHMgdG8gY291bnQgYXMgcGFpbnRlZAoraW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3Rh
dGUtZGVzY2VuZGFudC5odG1sCisKIHdlYmtpdC5vcmcvYi8yMDI2MTcgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9waWN0dXJlLWluLXBpY3R1cmUgWyBTa2lwIF0KIAogIyBQaVAgQVBJ
IHRlc3RzIGFyZSBvbmx5IHJlbGV2YW50IG9uIG1hYyBhbmQgaVBhZApJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wYWludC10aW1pbmcvcGVyZm9ybWFuY2UtcGFpbnQt
dGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9w
YWludC10aW1pbmcvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1u
b24tZW1wdHktZm9yLW51bS1jaGFycy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wYWludC10aW1pbmcvcGVyZm9ybWFuY2Ut
cGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACitQQVNTIHBhaW50RW50
cnkuc3RhcnRUaW1lID4gdGltZXN0YW1wc1tleHBlY3RlZEl0ZXJhdGlvbnNdIGlzIHRydWUKK1BB
U1MgcGFpbnRFbnRyeS5zdGFydFRpbWUgPCB0aW1lc3RhbXBzW2V4cGVjdGVkSXRlcmF0aW9ucyAr
IDJdIGlzIHRydWUKKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9w
YWludC10aW1pbmcvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1u
b24tZW1wdHktZm9yLW51bS1jaGFycy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGFpbnQtdGltaW5nL3BlcmZvcm1hbmNlLXBhaW50LXRpbWlu
Zy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMuaHRtbAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BhaW50LXRpbWlu
Zy9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1m
b3ItbnVtLWNoYXJzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3MyBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCkKKyAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICB2
YXIgc3R5bGVFbnRyeSA9IG51bGwKKyAgICB2YXIgcGFpbnRFbnRyeSA9IG51bGwKKyAgICB2YXIg
dGltZXN0YW1wcyA9IFtdCisgICAgdmFyIGNoYXJzUGVySXRlcmF0aW9uID0gODAKKyAgICB2YXIg
Y2hhclRocmVzaG9sZCA9IDIwMAorICAgIHZhciBleHBlY3RlZEl0ZXJhdGlvbnMgPSBNYXRoLmNl
aWwoY2hhclRocmVzaG9sZCAvIGNoYXJzUGVySXRlcmF0aW9uKQorCisgICAgZnVuY3Rpb24gc2xv
d1N0cmluZyhzdHIsIGRlbGF5KSB7CisgICAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpCisgICAgICAgIGNvbnN0IHNvdXJjZSA9IGBkb2N1bWVudC53
cml0ZSgnJHtzdHJ9Jyk7IHRpbWVzdGFtcHMucHVzaCgke3BlcmZvcm1hbmNlLm5vdygpfSk7IGNo
ZWNrKCk7YAorICAgICAgICBzY3JpcHQuc3JjID0gYC4vcmVzb3VyY2VzL3Nsb3dzY3JpcHQucGhw
P2NhY2hlQnVzdGVyPSR7cGVyZm9ybWFuY2Uubm93KCl9JmRlbGF5PSR7ZGVsYXl9JnNjcmlwdD0k
e3NvdXJjZX1gCisgICAgICAgIGRvY3VtZW50LndyaXRlKHNjcmlwdC5vdXRlckhUTUwpCisgICAg
fQorCisgICAgZnVuY3Rpb24gY2hlY2soKSB7CisgICAgICAgIGlmICh0aW1lc3RhbXBzLmxlbmd0
aCA8IGV4cGVjdGVkSXRlcmF0aW9ucyArIDMgfHwgIXBhaW50RW50cnkpCisgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAnJworCisgICAgICAg
IHNob3VsZEJlVHJ1ZSgicGFpbnRFbnRyeS5zdGFydFRpbWUgPiB0aW1lc3RhbXBzW2V4cGVjdGVk
SXRlcmF0aW9uc10iKQorICAgICAgICBzaG91bGRCZVRydWUoInBhaW50RW50cnkuc3RhcnRUaW1l
IDwgdGltZXN0YW1wc1tleHBlY3RlZEl0ZXJhdGlvbnMgKyAyXSIpCisgICAgICAgIAorICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKQorICAgIH0KKworICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2
ZXIobGlzdCA9PiB7CisgICAgICAgIHBhaW50RW50cnkgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVz
QnlUeXBlKCdwYWludCcpWzBdCisgICAgICAgIGlmIChwYWludEVudHJ5KQorICAgICAgICAgICAg
Y2hlY2soKQorICAgIH0pOworICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsicGFp
bnQiXX0pCisKKyAgICBmdW5jdGlvbiBuZXh0KCkgeworICAgICAgICBzbG93U3RyaW5nKCdcdCAn
ICsgQXJyYXkoY2hhcnNQZXJJdGVyYXRpb24gLyAyKS5maWxsKCcgMCBcdCBBJykuam9pbignJykg
KyAiICAgXG5cdCIsIDAuMywgY2hhcnNQZXJJdGVyYXRpb24pCisgICAgfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+
bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0
Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlw
dD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3Jp
cHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2Ny
aXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNj
cmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxz
Y3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8
c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAg
PHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9w
YWludC10aW1pbmcvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1u
b24tZW1wdHktZm9yLXN0eWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BhaW50LXRpbWluZy9wZXJmb3JtYW5jZS1wYWludC10
aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGFp
bnQtdGltaW5nL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9u
LWVtcHR5LWZvci1zdHlsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
IEBACitQQVNTIHBhaW50RW50cnkuc3RhcnRUaW1lID49IHN0eWxlRW50cnkuc3RhcnRUaW1lICsg
c3R5bGVFbnRyeS5kdXJhdGlvbiBpcyB0cnVlCitURVhUCkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3BlcmZvcm1hbmNlL3BhaW50LXRpbWluZy9wZXJmb3JtYW5jZS1wYWludC10aW1pbmct
ZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BhaW50LXRpbWluZy9wZXJmb3Jt
YW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNl
L3BhaW50LXRpbWluZy9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5
LW5vbi1lbXB0eS1mb3Itc3R5bGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKQorICAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9Cis8L3NjcmlwdD4KKworPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorICAgIHZhciBzdHlsZUVudHJ5ID0gbnVsbDsKKyAgICB2YXIgcGFpbnRFbnRyeSA9IG51
bGw7CisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+
IHsKKyAgICAgICAgY29uc3QgcGFpbnRFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
VHlwZSgncGFpbnQnKTsKKyAgICAgICAgaWYgKHBhaW50RW50cmllcy5sZW5ndGgpCisgICAgICAg
ICAgICBwYWludEVudHJ5ID0gcGFpbnRFbnRyaWVzWzBdOworCisgICAgICAgIGNvbnN0IHJlc291
cmNlRW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJykuZmls
dGVyKHIgPT4gci5uYW1lLmluY2x1ZGVzKCdzbG93c3R5bGUucGhwJykpOworICAgICAgICBpZiAo
cmVzb3VyY2VFbnRyaWVzLmxlbmd0aCkKKyAgICAgICAgICAgIHN0eWxlRW50cnkgPSByZXNvdXJj
ZUVudHJpZXNbMF07CisKKyAgICAgICAgaWYgKCFzdHlsZUVudHJ5IHx8ICFwYWludEVudHJ5KQor
ICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHNob3VsZEJlVHJ1ZSgicGFpbnRFbnRyeS5z
dGFydFRpbWUgPj0gc3R5bGVFbnRyeS5zdGFydFRpbWUgKyBzdHlsZUVudHJ5LmR1cmF0aW9uIik7
CisgICAgICAgICAgICAgICAgCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0pOworICAgIG9ic2VydmVyLm9i
c2VydmUoe2VudHJ5VHlwZXM6IFsicGFpbnQiLCAicmVzb3VyY2UiXX0pOworPC9zY3JpcHQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4vcmVzb3VyY2VzL3Nsb3dzdHlsZS5waHA/ZGVs
YXk9MC41IiAvPgorPC9oZWFkPgorPGJvZHk+CitURVhUCis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BhaW50LXRpbWluZy9yZXNvdXJj
ZXMvc2xvd3NjcmlwdC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9w
ZXJmb3JtYW5jZS9wYWludC10aW1pbmcvcmVzb3VyY2VzL3Nsb3dzY3JpcHQucGhwCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGFpbnQtdGltaW5n
L3Jlc291cmNlcy9zbG93c2NyaXB0LnBocAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkgQEAK
Kzw/cGhwCitpZiAoaXNzZXQoJF9HRVRbImRlbGF5Il0pKQorICAgIHNsZWVwKCRfR0VUWyJkZWxh
eSJdKTsKK2hlYWRlcignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZScp
OworaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdCcpOworCitlY2hvKCRfR0VU
WyJzY3JpcHQiXSkKKz8+CisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFu
Y2UvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zbG93c3R5bGUucGhwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9z
bG93c3R5bGUucGhwCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVy
Zm9ybWFuY2UvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zbG93c3R5bGUucGhwCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNiBAQAorPD9waHAKK2lmIChpc3NldCgkX0dFVFsiZGVsYXkiXSkpCisg
ICAgc2xlZXAoJF9HRVRbImRlbGF5Il0pOworaGVhZGVyKCdDYWNoZS1Db250cm9sOiBuby1jYWNo
ZSwgbXVzdC1yZXZhbGlkYXRlJyk7CitoZWFkZXIoJ0xvY2F0aW9uOiBzdHlsZS5jc3MnKTsKKz8+
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BhaW50LXRpbWluZy9y
ZXNvdXJjZXMvc3R5bGUuY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
cGVyZm9ybWFuY2UvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdHlsZS5jc3MJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wYWludC10aW1pbmcvcmVz
b3VyY2VzL3N0eWxlLmNzcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKK2JvZHkgewor
ICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuCit9OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkocmV2aXNpb24gMjYwODQyKQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDc5IEBACisyMDIwLTA0LTI4ICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9y
Zz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChmaXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEltcG9ydGVkIHBhaW50
IHRpbWluZyB0ZXN0cyB0aGF0IGRvbid0IHJlcXVpcmUgZmlyc3QtcGFpbnQuCisKKyAgICAgICAg
KiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmc6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHk6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0
ZXBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNh
bnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXNjYWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLXRyYW5zaXRpb24tZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1p
bnZpc2libGUtc2NhbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtZGlzcGxheS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LW9wYWNpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC10ZXh0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdGV4dC1pbnB1dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXItZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlczogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlLnN2ZzogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5w
bmc6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVz
b3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9y
ZXNvdXJjZXMvdXRpbHMuanM6IEFkZGVkLgorICAgICAgICAod2FpdEZvckFuaW1hdGlvbkZyYW1l
cyk6CisgICAgICAgIChhc3luYyBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAg
ICAgKGFzeW5jIGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50LnJldHVybi5uZXcuUHJvbWlzZSk6
CisgICAgICAgIChhc3luYyBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCk6CisgICAgICAgIChh
c3luYyB0ZXN0X2ZjcCk6CisKIDIwMjAtMDQtMjYgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxl
c2hAZ21haWwuY29tPgogCiAgICAgICAgIEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNz
U3RydWN0dXJlIHNob3VsZCB1c2UgbmV3VGFyZ2V0J3MgZ2xvYmFsT2JqZWN0CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1l
eHBlY3RhdGlvbnMuanNvbgkocmV2aXNpb24gMjYwODQyKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24JKHdvcmtpbmcgY29weSkK
QEAgLTE0LDYgKzE0LDExIEBACiAgICAgImNzcy9nZW9tZXRyeSI6ICJpbXBvcnQiLCAKICAgICAi
Y3NzL3N1cHBvcnQiOiAiaW1wb3J0IiwgCiAgICAgImN1c3RvbS1lbGVtZW50cyI6ICJpbXBvcnQi
LCAKKyAgICAicGFpbnQtdGltaW5nLyI6ICJpbXBvcnQiLCAKKyAgICAicGFpbnQtdGltaW5nL2Zj
cC1vbmx5IjogImltcG9ydCIsIAorICAgICJwYWludC10aW1pbmcvcmVzb3VyY2VzIjogImltcG9y
dCIsIAorICAgICJwYWludC10aW1pbmcvcmVzb3VyY2VzLyI6ICJpbXBvcnQiLCAKKyAgICAicmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIjogImltcG9ydCIsIAogICAgICJzaGFkb3ctZG9tIjogImlt
cG9ydCIsIAogICAgICJ0b29scyI6ICJpbXBvcnQiLCAKICAgICAid2ViLWFuaW1hdGlvbnMiOiAi
aW1wb3J0IiwgCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIHNpemUuIAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJh
Y2tncm91bmQtc2l6ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3Jv
dW5kLXNpemUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
ZHVlIHRvIGJhY2tncm91bmQgc2l6ZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAg
ICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNl
cy9jaXJjbGVzLnBuZyk7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCAwOworICAgIH0KKwor
ICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICov
CisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAx
MDAlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0Pgor
ICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3Jv
dW5kIHNpemUuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1iZy1pbWFnZS1zZXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQg
aW1hZ2UgaW4gaW1hZ2Utc2V0LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2Utc2V0Lmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3Jt
YW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGlt
YWdlLXNldDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAw
cHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBj
bGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50
ZnVsIHsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1pbWFnZS1zZXQodXJsKC4u
L3Jlc291cmNlcy9jaXJjbGVzLnBuZykgMXgpOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBp
bWFnZS1zZXQodXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZykgMXgpOworICAgIH0KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2Ny
aXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJz
dCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBiYWNrZ3JvdW5kIGltYWdlIGluIGltYWdl
LXNldC4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWJnLWltYWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBmb3Ig
YmFja2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmct
aW1hZ2UtdHdvLXN0ZXBzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWlt
YWdlLXR3by1zdGVwcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6
IEZDUCBzaG91bGQgZmlyZSBmb3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5IHdoZW4gdmlzaWJsZTwv
dGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBhbmQgcHJlRkNQ
IGNsYXNzZXMgYXJlIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLnBy
ZUZDUCB7CisgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICB9CisKKyAgICAjbWFpbi5j
b250ZW50ZnVsLCAgI21haW4ucHJlRkNQIHsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJs
KC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgI21haW4uY29udGVudGZ1
bCB7CisgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2
IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgZmlyZXMgZm9yIGJhY2tncm91bmQgaW1hZ2Ugb25seSB3aGVuIHZpc2libGUuIik7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWNhbnZh
cy1jb250ZXh0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFz
LWNvbnRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52
YXMtY29udGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgQ2FudmFzIHNob3VsZCBjb3VudCBhcyBjb250ZW50ZnVsIHdoZW4gY29udGV4dCBpcyBj
cmVhdGVkIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBh
aW50IFRpbWluZyBUZXN0OiBGQ1Agd2hlbiBjYW52YXMgY29udGV4dCBpcyBjcmVhdGVkPC90aXRs
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+
Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNv
bmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24n
dCBzdXBwb3J0ZWQuIik7CisgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1
bFBhaW50KHQpOworICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdj
YW52YXMnKTsKKyAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7Cisg
ICAgY29udGV4dC5maWxsUmVjdCgwLCAwLCAxMDAsIDEwMCk7CisgICAgYXdhaXQgYXNzZXJ0Rmly
c3RDb250ZW50ZnVsUGFpbnQodCk7CisgIH0sICdDYW52YXMgc2hvdWxkIGNvdW50IGFzIGNvbnRl
bnRmdWwgd2hlbiBjb250ZXh0IGlzIGNyZWF0ZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDMgQEAKKworUEFTUyBHcmFkaWVudHMgc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50
ZnVsIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
Z3JhZGllbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
c2hvdWxkIG5vdCBmaXJlIHdpdGggZ3JhZGllbnQtb25seSBiYWNrZ3JvdW5kczwvdGl0bGU+Cis8
c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBi
b3R0b20sIG9yYW5nZSwgYmx1ZSk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48
L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2Vy
dF9wcmVjb25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1p
bmcgaXNuJ3Qgc3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmly
c3RDb250ZW50ZnVsUGFpbnQodCk7CisgIH0sICAnR3JhZGllbnRzIHNob3VsZCBub3QgY291bnQg
YXMgY29udGVudGZ1bCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qt
cm90YXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NCBAQAorVGV4dAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0
cyBhbmNlc3RvciBnZXR0aW5nIHJvdGF0aW5nIGludG8gdmlldy4gCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+
Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gM2QgcmV2
ZWFsaW5nIG9mIGRlc2NlbmRhbnRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDog
MHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAg
ICAgdHJhbnNmb3JtOiByb3RhdGVYKDQ1ZGVnKTsKKyAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBw
cmVzZXJ2ZS0zZDsKKyAgICB9CisKKyAgICAvKgorICAgICAgIFRoaXMgdGVzdHMgdGhhdCBnaXZl
biBtdWx0aXBsaWNhdGlvbiBlZmZlY3Qgb2YgM2QgdHJhbnNmb3JtcyBvbiBib3VuZGluZyByZWN0
LAorICAgICAgIEFuIGVsZW1lbnQgY291bnRzIGFzIGNvbnRlbnRmdWwvcGFpbnRhYmxlIG9ubHkg
d2hlbiBpdHMgYm91bmRpbmcgcmVjdCBpcyB0cnVseSBub24tZW1wdHkgKi8KKyAgICAjY2hpbGQg
eworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVkZWcpOworICAgIH0KKworICAgIC8qIGNv
bnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21h
aW4uY29udGVudGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIDxkaXYgaWQ9ImNoaWxkIj5UZXh0PC9kaXY+Cis8L2Rp
dj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5nIHJvdGF0aW5nIGludG8gdmlldy4iKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1y
b3RhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gM2Qg
cm90YXRpb24gaW50byB2aWV3LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1y
b3RhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0
ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRl
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byAz
ZCByb3RhdGlvbiBpbnRvIHZpZXc8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAg
ICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAw
cHg7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSg5MGRlZyk7CisgICAgICAgIHBvc2l0aW9u
OiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwg
Y2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVu
dGZ1bCB7CisgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYg
aWQ9Im1haW4iPlRleHQ8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRl
bnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldy4iKQorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxl
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxl
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNj
YWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBG
aXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBzY2FsZSBiZWNvbWluZyBwb3NpdGl2
ZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFu
c2l0aW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNCBAQAorVEVYVAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiBy
ZXZlYWxlZCBkdXJpbmcgdHJhbnNpdGlvbi4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2li
bGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFp
bnQgVGltaW5nIFRlc3Q6IEZDUCBpbiB0cmFuc2l0aW9uPC90aXRsZT4KKzxzdHlsZT4KKyAgICAj
bWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOworICAgICAgICB0
cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXM7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAg
ICAgICAgdG9wOiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5l
ZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAg
IHRyYW5zZm9ybTogc2NhbGUoMSk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj5U
RVhUPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50
IGZpcmVzIHdoZW4gcmV2ZWFsZWQgZHVyaW5nIHRyYW5zaXRpb24uIik7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9y
bWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gc2NhbGUgY2hhbmdlPC90aXRsZT4K
KzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICB0cmFuc2Zvcm06IHNjYWxl
KDApOworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAg
ICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAg
fQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlw
dC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOwor
ICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRp
bHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRl
c3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBzY2FsZSBiZWNvbWlu
ZyBwb3NpdGl2ZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQgQEAKK0lOVklTSUJMRQorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLXRleHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hv
dWxkIHN0aWxsIGZpcmUgZm9yIGludmlzaWJsZSB0ZXh0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAj
bWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4
OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47Cisg
ICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOworICAgIH0KKworICAgIC8qIGNvbnRlbnRm
dWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29u
dGVudGZ1bCB7CisgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+
Cis8ZGl2IGlkPSJtYWluIj4KKyAgICBJTlZJU0lCTEUKKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0
ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1l
bnQgYmVjb21pbmcgdmlzaWJsZS4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3NpdGl2ZSBvcGFj
aXR5LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJm
b3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBhbmNlc3RvciBvcGFjaXR5PC90
aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjog
cmVsYXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICB9CisKKyAgICAjY2hpbGQgeworICAgICAg
ICBvcGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgYW5kIGludGVybWVkaWF0
ZSBjbGFzc2VzIGFyZSBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5j
b250ZW50ZnVsICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorCisgICAgI21h
aW4uaW50ZXJtZWRpYXRlICNjaGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDE7CisgICAgfQorCisg
ICAgI21haW4uaW50ZXJtZWRpYXRlIHsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAgICB9CisKKyAg
ICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgb3BhY2l0eTogMC41OworICAgIH0KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2Ny
aXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0iY2hpbGQiPlRleHQ8L2Rpdj4KKzwv
ZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4iKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyBkdWUgdG8gb3BhY2l0eS1yZXZlYWxlZCBlbGVtZW50LiAKKwpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW9wYWNpdHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5Lmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJm
b3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBvcGFjaXR5PC90aXRsZT4KKzxz
dHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291
cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyog
Y29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAj
bWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgb3BhY2l0eTogMC4xOworICAgIH0KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0
PgorPGRpdiBpZD0ibWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVsZW1lbnQuIik7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2Yt
Ym91bmRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJv
dW5kcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1i
b3VuZHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNT
IEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRv
Y3VtZW50LiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFu
c2xhdGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2Yt
Ym91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gdHJhbnNmb3Jt
LWJhc2VkIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50LiAKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWlu
dCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdp
dGggZG9jdW1lbnQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6
IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAg
ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAwcHgpOworICAgICAgICBwb3NpdGlvbjogcmVs
YXRpdmU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4u
L3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFz
cyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVs
IHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0i
bWFpbiI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIGR1ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1l
bnQuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91
dC1vZi1ib3VuZHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5k
cy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBpbnRlcnNl
Y3Rpb24gd2l0aCBkb2N1bWVudDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAg
ICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IC0x
MDAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAg
ICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAg
ICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2Ny
aXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBsZWZ0OiAwcHg7CisgICAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9m
Y3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGludGVyc2VjdGlvbiB3aXRo
IGRvY3VtZW50LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwg
cGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQuIAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBh
aW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IHRleHQ8L3RpdGxlPgor
PHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAg
ICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21h
aW46YWZ0ZXIgeworICAgICAgICBjb250ZW50OiAiVEVYVCI7CisgICAgICAgIGRpc3BsYXk6IG5v
bmU7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3Rf
ZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgZGlz
cGxheTogYmxvY2s7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2Pgor
PHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gcHNldWRvLWVsZW1lbnQgdGV4dC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4gCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2Ug
UGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgaW1hZ2U8L3RpdGxl
PgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAg
ICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAg
LyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAg
ICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogdXJsKC4uL3Jlc291
cmNlcy9jaXJjbGVzLnBuZyk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwv
ZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJl
cyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgaW1hZ2UuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC1vcGFjaXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBn
ZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHkuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtb3BhY2l0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxl
bWVudC1vcGFjaXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LW9wYWNpdHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0
OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eTwvdGl0
bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cisg
ICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAg
ICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgb3BhY2l0
eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBv
cGFjaXR5OiAwLjU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2Pgor
PHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gcHNldWRvLWVsZW1lbnQgZ2V0dGluZyBwb3NpdGl2ZSBvcGFjaXR5LiIpCis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQt
dGV4dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1l
bGVtZW50LXRleHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAor
CitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50
IHRleHQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHBzZXVkby1lbGVtZW50
IHRleHQ8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJl
bGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNj
cmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsOmFmdGVyIHsKKyAgICAgICAgY29udGVudDog
IlRFWFQiCisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKzwvZGl2PgorPHNjcmlw
dD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNl
dWRvLWVsZW1lbnQgdGV4dC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2li
aWxpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNT
IEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29t
aW5nIHZpc2libGUuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJp
bGl0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNp
YmlsaXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LXZpc2liaWxpdHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBG
Q1AgZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGU8L3RpdGxlPgorPHN0eWxl
PgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0
aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgI21haW46YWZ0
ZXIgeworICAgICAgICBjb250ZW50OiAiVEVYVCI7CisgICAgICAgIHZpc2liaWxpdHk6IGhpZGRl
bjsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9m
Y3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICB2aXNp
YmlsaXR5OiB2aXNpYmxlOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+Cis8L2Rp
dj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIHBzZXVkby1lbGVtZW50IGJlY29taW5nIHZpc2libGUuIikKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXN2Zy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIFNWRyBiZWNvbWVz
IGNvbnRlbnRmdWwuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXN2Zy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1z
dmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agd2l0aCBT
Vkc8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICB9CisKKyAgICAjY2lyY2xlIHsKKyAgICAgIGRpc3BsYXk6IG5v
bmU7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3Rf
ZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsICNjaXJjbGUgeworICAgICAgICBk
aXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICA8c3Zn
IHZpZXdCb3g9IjAgMCAxMCAxMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgor
ICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CisgICAgPGRl
ZnM+CisgICAgICA8Y2lyY2xlIGlkPSJteUNpcmNsZSIgY3g9IjUiIGN5PSI1IiByPSI0IiBzdHJv
a2U9ImJsdWUiLz4KKyAgICA8L2RlZnM+CisgICAgPHVzZSBpZD0iY2lyY2xlIiBocmVmPSIjbXlD
aXJjbGUiIGZpbGw9ImdyZWVuIiAvPgorICA8L3N2Zz4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0
ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyB3aGVuIFNWRyBiZWNvbWVzIGNv
bnRlbnRmdWwuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10
ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKwor
CitQQVNTIFRleHQgaW5wdXQgc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gaXRzIHZhbHVl
IGlzIG5vbi1lbXB0eSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBU
aW1pbmcgVGVzdDogRkNQIGR1ZSBmb3Igbm9uLWVtcHR5IHRleHQgaW5wdXQ8L3RpdGxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxp
bnB1dCBpZD0iaW5wdXQiIHR5cGU9InRleHQiIC8+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5j
ZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICAgIGF3
YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByKSk7
CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAgICAgY29u
c3QgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQnKTsKKyAgICAgIGlucHV0
LnNldEF0dHJpYnV0ZSgndmFsdWUnLCAnICAnKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RD
b250ZW50ZnVsUGFpbnQodCk7CisgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ3Zh
bHVlJyk7CisgICAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwg
J1RleHQgaW5wdXQgc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gaXRzIHZhbHVlIGlzIG5v
bi1lbXB0eScpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9m
Y3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDQgQEAKK0EKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVz
IG9ubHkgd2hlbiBzb21lIG9mIHRoZSB0ZXh0IGlzIHZpc2libGUsIGNvbnNpZGVyaW5nIDo6Zmly
c3QtbGV0dGVyLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8uaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBoaWMtcHNldWRvLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBub3QgZmlyZSB3aGVu
IGFsbCB0ZXh0IGlzIGhpZGRlbiBkdWUgdG8gdHlwb2dyYXBoaWMgcHNldWRvLWVsZW1lbnRzPC90
aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKwor
ICAgICNtYWluICo6OmZpcnN0LWxldHRlciB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQor
CisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4g
Ki8KKyAgICAjbWFpbi5jb250ZW50ZnVsICo6OmZpcnN0LWxldHRlciB7CisgICAgICAgIG9wYWNp
dHk6IDE7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2PkE8L2Rp
dj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWlu
dCBmaXJlcyBvbmx5IHdoZW4gc29tZSBvZiB0aGUgdGV4dCBpcyB2aXNpYmxlLCBjb25zaWRlcmlu
ZyA6OmZpcnN0LWxldHRlci4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQgQEAKKworCitQQVNTIFZpZGVvIHNob3VsZCBiZWNvbWUgY29udGVudGZ1bCB3aGVuIGZpcnN0
IGZyYW1lIGlzIGxvYWRlZCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQ
YWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBsb2FkZWQgdmlkZW8gZnJhbWU8L3RpdGxlPgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
Kzx2aWRlbyBpZD0idmlkZW8iIGF1dG9wbGF5PjwvdmlkZW8+Cis8c2NyaXB0PgorICBwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJm
b3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAg
ICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQn
LCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAg
ICAgLy8gU2V0IGFjdHVhbCB2aWRlbyBjb250ZW50IHRvIHRyaWdnZXIgRkNQLgorICAgICAgY29u
c3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmlkZW8nKTsKKyAgICAgIHZpZGVv
LnNldEF0dHJpYnV0ZSgnc3JjJywgJy9tZWRpYS90ZXN0Lm1wNCcpOworICAgICAgYXdhaXQgbmV3
IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIHZpZGVvLm9uY2FucGxheSA9IHJlc29sdmU7
CisgICAgICB9KTsKKyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQpOwor
ICB9LCAnVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gZmlyc3QgZnJhbWUgaXMg
bG9hZGVkJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC12aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12
aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12
aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAor
CisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9zdGVyIGlzIGxv
YWRlZCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtdmlkZW8tcG9zdGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1p
bmcgVGVzdDogRkNQIGR1ZSB0byBsb2FkZWQgdmlkZW8gcG9zdGVyPC90aXRsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8dmlkZW8g
aWQ9InZpZGVvIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvdmlkZW8+Cis8c2NyaXB0PgorICBw
cm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cu
UGVyZm9ybWFuY2VQYWludFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7
CisgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9h
ZCcsIHIpKTsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAg
IGNvbnN0IHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpZGVvJyk7CisgICAgY29u
c3Qgc3JjID0gJy4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyc7CisgICAgY29uc3QgaW1hZ2UgPSBu
ZXcgSW1hZ2UoKTsKKyAgICBpbWFnZS5zcmMgPSBzcmM7CisgICAgdmlkZW8uc2V0QXR0cmlidXRl
KCdwb3N0ZXInLCBzcmMpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAg
ICAgICBpbWFnZS5vbmxvYWQgPSBhc3luYyAoKSA9PiByZXNvbHZlKCk7CisgICAgfSkKKyAgICBh
d2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgJ1ZpZGVvIHNob3VsZCBi
ZWNvbWUgY29udGVudGZ1bCB3aGVuIHBvc3RlciBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgV2hpdGVzcGFjZSBzaG91bGQg
bm90IGNvdW50IGFzIGNvbnRlbnRmdWwuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFj
ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1h
bmNlIFBhaW50IFRpbWluZyBUZXN0OiBXaGl0ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29u
dGVudGZ1bDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjog
cmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9jaXJjbGVzLnBuZyk7
CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCAwOworICAgIH0KKworICAgICN0ZXh0IHsKKyAg
ICAgICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlz
IGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI3Rl
eHR7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0i
bWFpbiI+CisgICAgPGRpdiBpZD0id2hpdGVzcGFjZSI+ICAgPC9kaXY+CisgICAgPGRpdiBpZD0i
dGV4dCI+VEVYVDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJXaGl0ZXNw
YWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQgQEAKK1RFWFQKKworUEFTUyBGQ1Agc2hvdWxkIGZpcmUgd2hlbiBjb29yZGlu
YXRlcyBhcmUgbmVnYXRpdmUsIGlmIHdpdGhpbiBkb2N1bWVudCBzY3JvbGxhYmxlIGFyZWEgCisK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC13aXRoLXJ0bC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0
bC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDEgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8g
ZGlyZWN0aW9uIGNoYW5nZTwvdGl0bGU+Cis8c3R5bGU+CisgICN0ZXh0IHsKKyAgICByaWdodDog
LTEwMHB4OworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgfQorCisgIGJvZHkgeworICAgIGRp
cmVjdGlvbjogcnRsOworICB9CisKKyAgI2R1bW15IHsKKyAgICBiYWNrZ3JvdW5kOiB5ZWxsb3c7
CisgICAgd2lkdGg6IDEwcHg7CisgICAgaGVpZ2h0OiAxMHB4OworICAgIHBvc2l0aW9uOiBhYnNv
bHV0ZTsKKyAgICBsZWZ0OiAwOworICAgIHRvcDogMDsKKyAgfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlk
PSJkdW1teSI+PC9kaXY+Cis8ZGl2IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8c2NyaXB0PgorICBw
cm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRv
dy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4i
KTsKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
J2xvYWQnLCByKSk7CisgICAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQp
OworICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5kaXJlY3Rpb24gPSAnbHRyJworICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1bW15Jykuc3R5bGUuYmFja2dyb3VuZCA9ICdncmVlbicK
KyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICB9LCAnRkNQIHNo
b3VsZCBmaXJlIHdoZW4gY29vcmRpbmF0ZXMgYXJlIG5lZ2F0aXZlLCBpZiB3aXRoaW4gZG9jdW1l
bnQgc2Nyb2xsYWJsZSBhcmVhJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L3Jlc291cmNlcy9jaXJjbGUuc3ZnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3Zn
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3ZnCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMyBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZl
cnNpb249IjEuMSI+CisgICA8Y2lyY2xlIGN4PSIxMDAiIGN5PSI1MCIgcj0iNDAiIHN0cm9rZT0i
YmxhY2siIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgLz4KKzwvc3ZnPgpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVz
b3VyY2VzL3N1YmZyYW1lLXBhaW50aW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1
YmZyYW1lLXBhaW50aW5nLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1l
LXBhaW50aW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8Ym9keT4KKzxkaXYgaWQ9ImltYWdlIj48L2Rpdj4KKzxzY3JpcHQ+CisgIGNvbnN0
IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0lNRycpOworICBpbWcuc3JjID0gJ2NpcmNs
ZXMucG5nJzsKKyAgaW1nLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGZ1bmN0aW9uIHNlbmRQ
YWludEVudHJpZXMoKSB7CisgICAgICBjb25zdCBwYWludEVudHJpZXMgPSBwZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlUeXBlKCdwYWludCcpOworICAgICAgaWYgKHBhaW50RW50cmllcy5sZW5ndGgg
PCAyKSB7CisgICAgICAgIHNldFRpbWVvdXQoc2VuZFBhaW50RW50cmllcywgMjApOworICAgICAg
ICByZXR1cm47CisgICAgICB9CisgICAgICBsZXQgZW50cnlDb250ZW50cyA9IHBhaW50RW50cmll
cy5sZW5ndGggKyAnJzsKKyAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFpbnRFbnRyaWVzLmxl
bmd0aDsgaSsrKSB7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAg
ICAgICBlbnRyeUNvbnRlbnRzICs9ICcgJyArIGVudHJ5LmVudHJ5VHlwZSArICcgJyAgKyBlbnRy
eS5uYW1lOworICAgICAgfQorICAgICAgcGFyZW50LnBvc3RNZXNzYWdlKGVudHJ5Q29udGVudHMs
ICcqJyk7CisgICAgfTsKKyAgICBzZW5kUGFpbnRFbnRyaWVzKCk7CisgIH07CisgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdpbWFnZScpLmFwcGVuZENoaWxkKGltZyk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5nLXBhaW50Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNlbmRpbmctcGFpbnQuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGluZy1wYWludC5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdD4K
KyAgc2VsZi5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZSkgeworICAgIC8v
IFNlbmQgcGFpbnQtdGltaW5nIGVudHJpZXMgdXBvbiByZWNlaXZpbmcgYSBtZXNzYWdlLgorICAg
IGNvbnN0IHBhaW50RW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3BhaW50
Jyk7CisgICAgbGV0IGVudHJ5Q29udGVudHMgPSBwYWludEVudHJpZXMubGVuZ3RoICsgJyc7Cisg
ICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsKKyAgICAg
IGNvbnN0IGVudHJ5ID0gcGFpbnRFbnRyaWVzW2ldOworICAgICAgZW50cnlDb250ZW50cyArPSAn
ICcgKyBlbnRyeS5lbnRyeVR5cGUgKyAnICcgICsgZW50cnkubmFtZTsKKyAgICB9CisgICAgcGFy
ZW50LnBvc3RNZXNzYWdlKGVudHJ5Q29udGVudHMsICcqJyk7CisgIH0pOworPC9zY3JpcHQ+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9yZXNvdXJjZXMvdXRpbHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpz
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDQ4IEBACitmdW5jdGlvbiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKGNvdW50KSB7Cisg
IHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBpZiAoY291bnQtLSA8PSAwKSB7
CisgICAgICByZXNvbHZlKCk7CisgICAgfSBlbHNlIHsKKyAgICAgIHJlcXVlc3RBbmltYXRpb25G
cmFtZSgoKSA9PiB7CisgICAgICAgIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoY291bnQpLnRoZW4o
cmVzb2x2ZSk7CisgICAgICB9KTsKKyAgICB9CisgIH0pOworfQorCisvLyBBc3NlcnRzIHRoYXQg
dGhlcmUgaXMgY3VycmVudGx5IG5vIEZDUCByZXBvcnRlZC4gUGFzcyB0IHRvIGFkZCBzb21lIHdh
aXQsIGluIGNhc2UgQ1NTIGlzIGxvYWRlZAorLy8gYW5kIEZDUCBpcyBpbmNvcnJlY3RseSBmaXJl
ZCBhZnRlcndhcmRzLgorYXN5bmMgZnVuY3Rpb24gYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWlu
dCh0KSB7CisgIGF3YWl0IHdhaXRGb3JBbmltYXRpb25GcmFtZXMoMyk7CisgIGFzc2VydF9lcXVh
bHMocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcp
Lmxlbmd0aCwgMCwgJ0ZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgbWFya2VkIHRvbyBlYXJseS4gJyk7
Cit9CisKKy8vIEZ1bmN0aW9uIHRoYXQgaXMgcmVzb2x2ZWQgb25jZSBGQ1AgaXMgcmVwb3J0ZWQs
IHVzaW5nIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuIEl0IHJlamVjdHMgYWZ0ZXIgYSBsb25nCisvLyB3
YWl0IHRpbWUgc28gdGhhdCBmYWlsaW5nIHRlc3RzIGRvbid0IHRpbWVvdXQuCithc3luYyBmdW5j
dGlvbiBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KSB7CisgIHJldHVybiBuZXcgUHJvbWlz
ZShyZXNvbHZlICA9PiB7CisgICAgZnVuY3Rpb24gY2hlY2tGQ1AoKSB7CisgICAgICBpZiAocGVy
Zm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0
aCA9PT0gMSkgeworICAgICAgICByZXNvbHZlKCk7CisgICAgICB9IGVsc2UgeworICAgICAgICBy
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUoY2hlY2tGQ1ApCisgICAgICB9CisgICAgfQorICAgIHQuc3Rl
cChjaGVja0ZDUCk7CisgIH0pOworfQorCithc3luYyBmdW5jdGlvbiB0ZXN0X2ZjcChsYWJlbCkg
eworICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CisgIGRv
Y3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOworICBhd2FpdCBwcm9taXNlX3Rlc3QoYXN5
bmMgdCA9PiB7CisgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWlu
dFRpbWluZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgY29uc3QgbWFp
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluJyk7CisgICAgYXdhaXQgbmV3IFByb21p
c2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICBhd2FpdCBh
c3NlcnROb0ZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICAgIG1haW4uY2xhc3NOYW1lID0gJ3By
ZUZDUCc7CisgICAgYXdhaXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgICBt
YWluLmNsYXNzTmFtZSA9ICdjb250ZW50ZnVsJzsKKyAgICBhd2FpdCBhc3NlcnRGaXJzdENvbnRl
bnRmdWxQYWludCh0KTsKKyAgfSwgbGFiZWwpOworfQpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9y
bWFuY2UtYXBpL3BhaW50LXRpbWluZy9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9wYWlu
dC10aW1pbmctYXBpcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9wYWludC10aW1pbmctYXBpcy1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorQmFzaWMgSW50ZXJmYWNlIHRlc3Qg
Zm9yIHBhaW50LXRpbWluZyBBUElzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UGVyZm9ybWFuY2VQYWludFRpbWluZworUEFTUyBQZXJmb3JtYW5jZVBhaW50VGltaW5nIGlzIGRl
ZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcucHJvdG90eXBlLnRvSlNPTiBpcyBk
ZWZpbmVkLgorUEFTUyBuZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygpIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICdu
ZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygpJykuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy9wYWludC10aW1pbmctYXBpcy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmcvcGFpbnQtdGltaW5nLWFwaXMu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQt
dGltaW5nL3BhaW50LXRpbWluZy1hcGlzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
MCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGlt
aW5nL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmcvcGFpbnQtdGltaW5nLWZyYW1lcy1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3BhaW50LXRpbWluZy9wYWludC10aW1pbmctZnJhbWVzLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDIwIEBACitQYWludCBBUEkgc2hvdWxkIGJlIGF2YWlsYWJsZSBmb3Ig
c2FtZS1vcmlnaW4gZnJhbWVzIGJ1dCBub3QgdG8gY3Jvc3Mtb3JpZ2luL3NhbmRib3hlZCBmcmFt
ZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHJlY2VpdmVkRXZlbnQu
c291cmNlIGlzIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKS5jb250ZW50
V2luZG93CitQQVNTIHJlY2VpdmVkRW50cnkubmFtZSBpcyAnZmlyc3QtY29udGVudGZ1bC1wYWlu
dCcKK1BBU1MgZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1lIGlzIGZhbHNlCitQ
QVNTIEFycmF5LmlzQXJyYXkobm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzKSBpcyB0cnVlCitQQVNT
IEFycmF5LmlzQXJyYXkoc2FuZGJveFN1cHBvcnRlZFR5cGVzKSBpcyB0cnVlCitQQVNTIGRpZFJl
Y2VpdmVNZXNzYWdlIGlzIHRydWUKK1BBU1Mgbm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1
ZGVzKCJwYWludCIpIGlzIHRydWUKK1BBU1Mgc2FuZGJveFN1cHBvcnRlZFR5cGVzLmluY2x1ZGVz
KCJwYWludCIpIGlzIGZhbHNlCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVu
dGZ1bC1wYWludCBjYWxsYmFjayB3YXMgZmlyZWQgZm9yIHNhbWUtb3JpZ2luIGZyYW1lIGJ1dCBu
b3QgZm9yIGNyb3NzLW9yaWdpbiBmcmFtZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKKworVEVYVApJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2UtYXBpL3BhaW50LXRpbWluZy9wYWludC10aW1pbmctZnJhbWVzLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9wYWludC10aW1pbmct
ZnJhbWVzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3BhaW50LXRpbWluZy9wYWludC10aW1pbmctZnJhbWVzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKyAgICA8aWZyYW1lIHdpZHRoPSIxMDAi
IGhlaWdodD0iMTAwIiBpZD0ibm9uU2FuZGJveGVkIiBzcmM9Ii4vcmVzb3VyY2VzL2ZjcC1zdWJm
cmFtZS5odG1sIj48L2lmcmFtZT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+Cis8aWZyYW1l
IGlkPSJzYW5kYm94ZWQiIHNyYz0iLi9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwiIHNhbmRi
b3g9ImFsbG93LXNjcmlwdHMiPjwvaWZyYW1lPgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4K
KworICAgIFRFWFQKKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJQYWludCBBUEkgc2hvdWxkIGJl
IGF2YWlsYWJsZSBmb3Igc2FtZS1vcmlnaW4gZnJhbWVzIGJ1dCBub3QgdG8gY3Jvc3Mtb3JpZ2lu
L3NhbmRib3hlZCBmcmFtZXMuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit3aW5k
b3cuZGlkUmVjZWl2ZU1lc3NhZ2UgPSBmYWxzZTsKKword2luZG93Lm9ubG9hZCA9IGFzeW5jICgp
ID0+IHsKKyAgICBjb25zdCBzYW5kYm94ZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2Fu
ZGJveGVkJyk7CisgICAgY29uc3Qgbm9uU2FuZGJveGVkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ25vblNhbmRib3hlZCcpOworICAgIGNvbnN0IGZjcE1lc3NhZ2VQcm9taXNlID0gbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBldmVudCA9PiB7
CisgICAgICAgICAgICB3aW5kb3cucmVjZWl2ZWRFdmVudCA9IGV2ZW50OworICAgICAgICAgICAg
Y29uc3QgaXNGcm9tU2FuZGJveGVkID0gZXZlbnQuc291cmNlID09PSBzYW5kYm94ZWQuY29udGVu
dFdpbmRvdzsKKyAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBKU09OLnBhcnNlKGV2ZW50LmRh
dGEpOworICAgICAgICAgICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHsKKyAgICAgICAgICAgICAg
ICBjYXNlICdzdXBwb3J0ZWQnOgorICAgICAgICAgICAgICAgICAgICBpZiAoaXNGcm9tU2FuZGJv
eGVkKQorICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LnNhbmRib3hTdXBwb3J0ZWRUeXBl
cyA9IG1lc3NhZ2Uuc3VwcG9ydGVkOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAg
ICAgICAgICAgICAgICAgICB3aW5kb3cubm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzID0gbWVzc2Fn
ZS5zdXBwb3J0ZWQ7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAg
IGNhc2UgJ3JlY2VpdmVkJzoKKyAgICAgICAgICAgICAgICAgICAgd2luZG93LmRpZFJlY2VpdmVN
ZXNzYWdlRnJvbVNhbmRib3hlZElmcmFtZSA9IGlzRnJvbVNhbmRib3hlZDsKKyAgICAgICAgICAg
ICAgICAgICAgd2luZG93LnJlY2VpdmVkRW50cnkgPSBtZXNzYWdlLmVudHJ5OworICAgICAgICAg
ICAgICAgICAgICBkaWRSZWNlaXZlTWVzc2FnZSA9IHRydWU7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCdyZWNlaXZlZEV2ZW50LnNvdXJjZScsICJkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnbm9uU2FuZGJveGVkJykuY29udGVudFdpbmRvdyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgncmVjZWl2ZWRFbnRyeS5uYW1lJywgIidmaXJzdC1jb250ZW50ZnVsLXBhaW50JyIp
OworICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9OworICAgIH0pOworCisgICAgc2FuZGJveGVk
LmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoInBhaW50IiwgIioiKTsKKyAgICBhd2FpdCB3YWl0
Rm9yRkNQKCk7CisgICAgbm9uU2FuZGJveGVkLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoInBh
aW50IiwgIioiKTsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQKCk7CisgICAgYXdhaXQgZmNwTWVzc2Fn
ZVByb21pc2U7CisgICAgc2hvdWxkQmVGYWxzZSgnZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJv
eGVkSWZyYW1lJyk7CisgICAgc2hvdWxkQmVUcnVlKCdBcnJheS5pc0FycmF5KG5vblNhbmRib3hT
dXBwb3J0ZWRUeXBlcyknKTsKKyAgICBzaG91bGRCZVRydWUoJ0FycmF5LmlzQXJyYXkoc2FuZGJv
eFN1cHBvcnRlZFR5cGVzKScpOworICAgIHNob3VsZEJlVHJ1ZSgnZGlkUmVjZWl2ZU1lc3NhZ2Un
KTsKKyAgICBzaG91bGRCZVRydWUoJ25vblNhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcygi
cGFpbnQiKScpOworICAgIHNob3VsZEJlRmFsc2UoJ3NhbmRib3hTdXBwb3J0ZWRUeXBlcy5pbmNs
dWRlcygicGFpbnQiKScpOworICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmly
c3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXMgZmlyZWQgZm9yIHNhbWUtb3JpZ2luIGZy
YW1lIGJ1dCBub3QgZm9yIGNyb3NzLW9yaWdpbiBmcmFtZSIpOworICAgIGZpbmlzaEpTVGVzdCgp
OworfTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmcvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFp
bnQtdGltaW5nL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9wYWludC10
aW1pbmctd2l0aC13b3JrZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTMgQEAKK1BhaW50IEFQSSBzaG91bGQgbm90IGJlIGF2YWlsYWJsZSBpbiB3b3JrZXIgY29udGV4
dHMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQiKSBpcyB0cnVlCitQQVNT
IHdvcmtlclN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgZmFsc2UKK1BB
U1Mgd29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygibWFyayIpIGlzIHRydWUKK1BB
U1MgUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzIGRpZCBub3QgaW5jbHVk
ZSAncGFpbnQnIGZvciB3b3JrZXJzCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50
LXRpbWluZy9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nL3BhaW50LXRpbWluZy13aXRoLXdv
cmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
YWludC10aW1pbmcvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJQYWludCBBUEkgc2hvdWxkIG5vdCBiZSBh
dmFpbGFibGUgaW4gd29ya2VyIGNvbnRleHRzLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOworY29uc3Qgd29ya2VyID0gbmV3IFdvcmtlcigiLi9yZXNvdXJjZXMvd29ya2VyLmh0bWwi
KTsKK3dvcmtlci5vbm1lc3NhZ2UgPSBldmVudCA9PiB7CisgICAgd2luZG93LndvcmtlclN1cHBv
cnRlZEVudHJ5VHlwZXMgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpOworICAgIHNob3VsZEJlVHJ1
ZSgnUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWlu
dCIpJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnd29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5pbmNs
dWRlcygicGFpbnQiKScpOworICAgIHNob3VsZEJlVHJ1ZSgnd29ya2VyU3VwcG9ydGVkRW50cnlU
eXBlcy5pbmNsdWRlcygibWFyayIpJyk7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNl
cnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzIGRpZCBub3QgaW5jbHVkZSAncGFpbnQnIGZvciB3b3Jr
ZXJzIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCit3b3JrZXIucG9zdE1lc3NhZ2UoInN0
YXJ0Iik7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9wZXJmb3JtYW5jZS1vYnNlcnZlci1maXJzdC1j
b250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNv
bnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmcvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3Qt
Y29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
MCBAQAorUEFTUyBkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQgaXMgdHJ1ZQorUEFTUyBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzKCkubGVuZ3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0
RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVudGZ1bC1wYWludCIpLmxlbmd0aCBpcyAxCitQQVNT
IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiLCAi
cGFpbnQiKS5sZW5ndGggaXMgMQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJw
YWludCIpLmxlbmd0aCBpcyAxCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmlyc3QtY29udGVu
dGZ1bC1wYWludCBjYWxsYmFjayB3YXNuJ3QgZmlyZWQgYWdhaW4gCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK1RFWFQyCkluZGV4OiBMYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0
LWNvbnRlbnRmdWwtcGFpbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcGFpbnQtdGltaW5nL3BlcmZvcm1hbmNlLW9ic2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFp
bnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgSFRNTD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkVu
c3VyZSBQZXJmb3JtYW5jZU9ic2VydmVycyBhcmUgbm90aWZpZWQgb25jZSBmb3IgZmlyc3QtY29u
dGVudGZ1bC1wYWludC4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAKKyhhc3lu
YyAoKSA9PiB7CisgICAgd2luZG93LmRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCA9IGZh
bHNlOworICAgIHdpbmRvdy5zdGFydFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICBhd2Fp
dCB3YWl0Rm9yRkNQKCk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAg
ICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZW50cnlMaXN0ID0+
IHsKKyAgICAgICAgICAgIHdpbmRvdy5lbnRyeUxpc3QgPSBlbnRyeUxpc3Q7CisgICAgICAgICAg
ICBzaG91bGRCZSgnZW50cnlMaXN0LmdldEVudHJpZXMoKS5sZW5ndGgnLCAiMSIpOworICAgICAg
ICAgICAgc2hvdWxkQmUoJ2VudHJ5TGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50
ZnVsLXBhaW50IikubGVuZ3RoJywgMSk7CisgICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0
LmdldEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3RoJywgIjEiKTsKKyAgICAgICAgICAgIHdp
bmRvdy5mY3BFbnRyeSA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzKClbMF07CisgICAgICAgICAgICBz
aG91bGRCZUZhbHNlKCdkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQnKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCdmY3BFbnRyeS5uYW1lJywgJyJmaXJzdC1jb250ZW50ZnVsLXBhaW50Iicp
OworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5LmVudHJ5VHlwZScsICcicGFpbnQiJyk7
CisgICAgICAgICAgICBzaG91bGRCZVRydWUoJ2ZjcEVudHJ5LnN0YXJ0VGltZSA+IHdpbmRvdy5z
dGFydFRpbWUnKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgnZmNwRW50cnkuc3RhcnRUaW1l
IDwgcGVyZm9ybWFuY2Uubm93KCknKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdmY3BFbnRyeS5k
dXJhdGlvbicsICIwIik7CisgICAgICAgICAgICBkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFp
bnQgPSB0cnVlOworICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9KTsKKworICAgICAg
ICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbJ3BhaW50J119KTsKKyAgICAgICAgZG9j
dW1lbnQuYm9keS5pbm5lclRleHQgPSAnVEVYVCc7CisgICAgfSkKKyAgICBkb2N1bWVudC5ib2R5
LmlubmVyVGV4dCA9ICdURVhUMic7CisgICAgYXdhaXQgd2FpdEZvckZDUCgpOworICAgIHNob3Vs
ZEJlVHJ1ZSgnZGlkUmVjZWl2ZUZpcnN0Q29udGVudGZ1bFBhaW50Jyk7CisgICAgc2hvdWxkQmUo
J3BlcmZvcm1hbmNlLmdldEVudHJpZXMoKS5sZW5ndGgnLCAiMSIpOworICAgIHNob3VsZEJlKCdw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikubGVu
Z3RoJywgIjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgi
Zmlyc3QtY29udGVudGZ1bC1wYWludCIsICJwYWludCIpLmxlbmd0aCcsICIxIik7CisgICAgc2hv
dWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3RoJywgIjEi
KTsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIGZpcnN0LWNvbnRlbnRmdWwt
cGFpbnQgY2FsbGJhY2sgd2Fzbid0IGZpcmVkIGFnYWluICIpOworICAgIGZpbmlzaEpTVGVzdCgp
OworfSkoKTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmcvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1p
bmcvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmcvcmVzb3VyY2VzL2ZjcC1zdWJmcmFtZS5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFu
Y2VPYnNlcnZlcihsaXN0ID0+IHsKKyAgICAgICAgbGlzdC5nZXRFbnRyaWVzKCkuZm9yRWFjaChl
bnRyeSA9PiB7CisgICAgICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKEpTT04uc3Ry
aW5naWZ5KHt0eXBlOiAncmVjZWl2ZWQnLCBlbnRyeX0pLCAnKicpOworICAgICAgICB9KTsKKyAg
ICB9KTsKKworICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsicGFpbnQiXX0pOwor
ICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBlID0+IHsKKyAgICAgICAgd2luZG93LnBhcmVudC5wb3N0
TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7c3VwcG9ydGVkOiBQZXJmb3JtYW5jZU9ic2VydmVyLnN1
cHBvcnRlZEVudHJ5VHlwZXMsIHR5cGU6ICdzdXBwb3J0ZWQnfSksICcqJyk7CisgICAgICAgIGRv
Y3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gIlRFWFQiOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9yZXNvdXJjZXMv
cGFpbnQtYXBpLXV0aWxzLmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wYWludC10aW1pbmcvcmVzb3VyY2VzL3BhaW50LWFwaS11dGlscy5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDUgQEAKK2FzeW5jIGZ1bmN0aW9uIHdhaXRGb3JGQ1AoKQorewor
ICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgp
ID0+IHJlc29sdmUoKSkpOworICAgIHJldHVybiB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5TmFtZSgnZmlyc3QtY29udGVudGZ1bC1wYWludCcpLmxlbmd0aCA9PSAxOworfQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
YWludC10aW1pbmcvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvcGFpbnQt
dGltaW5nLWFwaS5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMTMgQEAKK2lmIChzZWxmLmltcG9ydFNjcmlwdHMpCisgICAgaW1wb3J0
U2NyaXB0cygiLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIik7CisKK2lmIChzZWxm
LndpbmRvdykKKyAgICBkZXNjcmlwdGlvbigiQmFzaWMgSW50ZXJmYWNlIHRlc3QgZm9yIHBhaW50
LXRpbWluZyBBUElzLiIpOworCitkZWJ1ZygiUGVyZm9ybWFuY2VQYWludFRpbWluZyIpOworc2hv
dWxkQmVEZWZpbmVkKCJQZXJmb3JtYW5jZVBhaW50VGltaW5nIik7CitzaG91bGRCZURlZmluZWQo
YFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcucHJvdG90eXBlLnRvSlNPTmApOworc2hvdWxkVGhyb3co
YG5ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKClgKTsKKworaWYgKHNlbGYuaW1wb3J0U2NyaXB0
cykKKyAgICBmaW5pc2hKU1Rlc3QoKTsKSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFw
aS9wYWludC10aW1pbmcvcmVzb3VyY2VzL3dvcmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmcvcmVzb3VyY2VzL3dvcmtlci5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1p
bmcvcmVzb3VyY2VzL3dvcmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAor
c2VsZi5vbm1lc3NhZ2UgPSAoKSA9PiB7CisgICAgc2VsZi5wb3N0TWVzc2FnZShKU09OLnN0cmlu
Z2lmeShQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMpKTsKK30KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sx
L1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMS9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyNjA4NDIpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTU1Nyw2
ICs1NTcsMTEgQEAgaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9oYXIvaGFyLXBhZwogWyBS
ZWxlYXNlIF0gaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9oYXIvaGFyLXBhZ2UtYWdncmVz
c2l2ZS1nYy5odG1sIFsgRmFpbHVyZSBdCiBbIERlYnVnIF0gaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
bmV0d29yay9oYXIvaGFyLXBhZ2UtYWdncmVzc2l2ZS1nYy5odG1sIFsgU2xvdyBGYWlsdXJlIF0K
IAorIyBQYWludCBUaW1pbmcgaXMgbm90IGF2YWlsYWJsZSBpbiBXZWJLaXQxCitpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZyBbIFNraXAgXQorcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZyBbIFNraXAgXQoraHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wYWludC10
aW1pbmcgWyBTa2lwIF0KKwogIyBMb2NhbCBPdmVycmlkZXMgbm90IGF2YWlsYWJsZSBpbiBXZWJL
aXQxCiBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2xvY2FsLXJlc291cmNlLW92ZXJyaWRl
LWJhc2ljLmh0bWwgWyBGYWlsdXJlIF0KIGh0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbG9j
YWwtcmVzb3VyY2Utb3ZlcnJpZGUtbWFpbi1yZXNvdXJjZS5odG1sIFsgRmFpbHVyZSBdCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjYw
ODQyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtp
bmcgY29weSkKQEAgLTM3MDMsNiArMzcwMywxMSBAQCBodHRwL3dwdC93ZWJydGMgWyBTa2lwIF0K
IGh0dHAvd3B0L3Jlc291cmNlLXRpbWluZy9ydC1uZXh0SG9wUHJvdG9jb2wuaHRtbCBbIFNraXAg
XQogaHR0cC93cHQvcmVzb3VyY2UtdGltaW5nL3J0LW5leHRIb3BQcm90b2NvbC53b3JrZXIuaHRt
bCBbIFNraXAgXQogCisjIFRPRE8gUGFpbnQgVGltaW5nIGlzIG5vdCBlbmFibGVkIGZvciBXSzEu
CitodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BhaW50LXRpbWluZyBbIFNraXAgXQoraW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcgWyBTa2lwIF0KK3BlcmZvcm1hbmNl
LWFwaS9wYWludC10aW1pbmcgWyBTa2lwIF0KKwogIyBXZWJDcnlwdG8gdGVzdHMgYXJlIGZhaWxp
bmcuCiB3ZWJraXQub3JnL2IvMTY1MDkwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
V2ViQ3J5cHRvQVBJIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTY1MDkwIGh0dHAvd3B0L2NyeXB0
byBbIFNraXAgXQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZXMucG5nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90
IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBp
bWFnZS9wbmcKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGVzLnBuZwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK2ltYWdlL3BuZwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ1FB
QUFCSUNBWUFBQUNlTmxlNUFBQUM3bWxEUTFCSlEwTWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVV
L2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9SRmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xp
T1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZwRktONnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3
MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVKcQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnor
WHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAxQTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4
M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVBMUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25O
ZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFHY1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAw
YTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FWdHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1L
NzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUrTHFIQlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcw
WGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNHUEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdK
RXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFDSkw4UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJy
eTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhSNWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhP
dysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdqRTMzNTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRu
Ci9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlLVEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNI
Q0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtP
Yi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUzSHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4r
T1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1OT1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNV
dGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtU
aHJXZ1pmNmI4QzgvVVhBZUl1SkFBQUEKQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBR1owbEVR
VlJvQmUyYVVXOVZSUkRIZDY4dEVWSkxXMktDeENZK2lnUURvWWtLZmdKOAo5TWtuRXZFZHZvQ21r
UytBNzJwQ1FzS1RqL0lKQkNTQjFOU29QSnFVMUNha2dOaUFhZU5kZi8rWk9UMjM1OTdTRnU3bDZV
eXk1K3pPCjJaMlpuWjNkblpsN2M1clBKZTBLU3NwcGhwNzdVMG1QcUQvZEhGVVJ5SnVZUko4RDlK
a0c4NHo2UTk2OVgzczZOcXBqalhhaktTTGQKRUdRZjlSV0lPK21TenNMMUJLMVp5aUdLaEZqbHVV
U0hYeGh6bmZaVEV5T253K0RYUTdDTzllUXhFSjRqa0ZpUFFWREVsbTF3S1oveQpQcGRLT2MzYmhi
QVB6UWREVGJoOGsvZVZsUE1QMWlPbkk3UWZVTitnRE5aWTdsOHkxMHBLa3d3Wlp5Q3pMbWNSNG12
YXA0eHdTYjlDCjd5YnRoVlR5SDd6L0R2ekJsTXRSbUo1a3pHbnd4d04vRjZHK1lzeDEyb2Y0TG9H
ZVVQcTExUkNvWGlLdHUxcWxmTWZqYzJvc1hiNkcKQUpmQjM2RU5tbUo5ckZYWGhST1VOSWVBRjZI
eEdTMlk1KytoY1Q3R3pmQ1diVzBWcWlGUVpiZ1BiVkRxL3N5QUR5ZzNHUGNGNzNzbQpRTEpsRkNI
TlZMYlI1UzJCaEpPdFNiUEN1YzJsOUM3TmIybWZvZHlHMW9kQnB4S3Ftb0tNWkJNMDMwbUtwQWE2
di9NNENwZHZLQmVECndDek10VHdyNmdIVWhOUVNCWWVxcG1VL0NPcGVLcDJQNlhDWmNzRnBkOTRE
TDE3aXFlVnpXcHBTTk1aQmpSdlJnbWF5Q2FOMWx6QnYKMDJlS2IreWd0QmI5dHdvRHNnZjBUV1V0
eGt3NURXZ2xiRW0weGNPWFhOcFUyU0tRdHZhYklGZFpjMnlHWlNxbW1VdmczMkhnWDVUSApNYWlh
UGMwZHdWbHFyR2lJVnNxWG5EWThuQmM4alhlMTdQTzUrQUdHM2JDYlV2bVJEamRNeGRLTUNMazk3
TWg5RngwNjBINExtdmRUCjd2N0VHNXZLbjJEbzJuMnlwMGV5UXMxQ2hnaXd0WTI1R2JBUVdwNy9W
QmtTaUpab0FzWURyUmhQSVNSRFNSMi9EdGdOZHVpZDhxMXQKdTBrR1hDMlRCZ3dEc3RITW5PNUZQ
RGhHRW1lYjgxNUJlelBTa080bXdUbDdKczRaZ2UrbXNIbi9NcVJuSjJoRExualo2Vy9VOTZlTwpY
NVI4czVOMUVmUWRKTlYxb2Ezb29scmZvVDFFODBud0VLL0Y0QzF1MkpCdWJWMlVSVWQ2dmhWc1I2
R1o1b3ljaDNnYWIyU1FMSUU5CkViMjVtNnltRTlqUGhTYVo0YlJGZXlONExUaEo4eHo4SWdFeDYw
aTdLRlZkOS9aSW4rcytaWGc2dUF4anJoRjNKWFJyZTlzUHFWSEsKVTk5L0ZVOTVBWnNhR2lYcnZk
SEdxQVh5OUdUbCtETzgvZFkyMU1nZTRpRmU0dW1nSzJSVFE3bzBBWE91VkltVFc5V1J3VDQzRDNn
Ngp1QXkreS9DQkhVNmFsSDc3dWpYRmh5Ry9SRnZlaFFEdlVoQXlZTlNLRG5TNXlWWEZWN1plb3pm
cTZzTFdnZXdtbzZEZ2dBN0dhVk5kCk1ZZGNQdkFjYlRsZ2NweDhEbFNHQ0tJNUdUekU2emdIc29J
QmNadld3ZmdzMkY1eHB2akFBdmYwUnFFcCtWNWh5TUVyS1RJeHJwSmwKSGdIdDd1TEc3OHA1eDQ0
Nng1Qlkvck84eE1jbW52Vi82WWQ4ZHFlWjhiTkw5emNvTHNCdmp2ZGhlSzFJUTVJdFRtYUZLa0ta
UTA0MQpUVkJlVTJWSUlGcWlDUmdQc1JkUGdXU0lBOGZEa1NQbXVXVkNGZlBrY01qTnM3TnJoWUcw
WGh3MFZ1ZU8vS0Q3a0JMdE0vQlRXS1FOCnBRRFNnNHVJT3VTalBHQ0Fidnp6RERpR1MzQUIzQ3B0
K2RWeTh1V3dhL24ySXB5MEw1dVo0ajNCK0QraC9XWFF2bTI4aktkRnMwNDMKQk5JTWRQdHVNQmdn
YmlvS2c4eTlsSkFlQnZrTUZRYkpWeEs0S1hxOTkxbHA4dzE2eUlDWGZESVJCcFZFdEFzUGdVZXh0
WGNSQXVtVAppSXZSREFYMUtXNVNvS2c0cXJBOVh6aFFGTTMrUUJFa0VMeDZKaVk5OVlDV1RtdXBq
b2lvV2JET0ZuR3lJM0s1eW5mdENKMVR5OVNWCk9KREcvb21pbTF1NFpRcTcxa0xwcTB4TXUwa1JC
allUbXZFb1E3eTJpc0MyYithSGZOMTFlRzJmYkZpRStDMitQeS9aOEJIZjM0ZWgKbHVVdXhzdHUy
bnV5d2NiSFEzYWcrMFlCcEdZTTRVakgyQlh6dkhTTTllWXE0Z1MyUXkvU01iNmI5cHlPTVdyeGNH
MTVxQ1FQUU1zQQpINHI4OEl6YldleFljQWZQSWw4Wk1CZWxKNnk4cnljbmRwZXdHckJrSVV2ZnE4
cU12STRRaWhwMERBd0dGM2lDUHBOMCtKZCtzaFZoCmQ0YXRGclZ6LzVIMzZObjJnM2k5N0pLdG1W
NWVXWTV4MEpJWmprZWJZOVFDU3h0dXdMN2NWYjB5M3piSDJOekt0VTFWdFRiSDZMYXoKL2RPdFRI
NVVtMlBjWGt1OVg5b2NZNjgydHF1M09jYnROTlBFdTZQUjVoaWJlcW5iYlk2eDFzVmVhbTJPc2Ra
V20yT3NkVEc0MWpWMAptMlBzMTA2YlkrelhTWTFwYzR5MUxyeFdoZUp0ampIT0ZFdlBLWS9VKzJl
VU5zZElpbmZnSDVyYUhHUC9uK0w4ZDY4bFF2NVhtbVBVClh6Tkc5N2ZCL3dGWmJnMDVFRU51TndB
QUFBQkpSVTVFcmtKZ2dnPT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397886</attachid>
            <date>2020-04-28 14:29:58 -0700</date>
            <delta_ts>2020-04-28 15:34:58 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-208499-20200429002956.patch</filename>
            <type>text/plain</type>
            <size>138543</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDg0MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyOCBAQAorMjAyMC0wNC0yOCAgTm9hbSBS
b3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEZDUCAoZmly
c3QgY29udGVudGZ1bCBwYWludCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4K
KworICAgICAgICBBZGRlZCB0aGUgbmVjZXNzYXJ5IGludGVyZmFjZSwgZXh0ZW5zaW9ucyB0byB0
aGUgcGVyZm9ybWFuY2UgaW50ZXJmYWNlIGFuZCBvYnNlcnZlciwgbmV3IHJ1bnRpbWUgZmxhZy4K
KyAgICAgICAgRGV0ZWN0aW5nIGNvbnRlbnRmdWxuZXNzIGFmdGVyIGxheW91dCBhbmQgYmVmb3Jl
IGFjdHVhbCBwYWludCwgYnkgcnVubmluZyBhICJkdW1teSIgcGFpbnQsIHNpbWlsYXIgdG8gCisg
ICAgICAgIGludmFsaWRhdGVDb250cm9sVGludHMoKSAvIGludmFsaWRhdGVJbWFnZXNXaXRoQXN5
bmNEZWNvZGVzKCkuIFNhdmUgdGhlIHJlc3VsdCB0byB0aGUgR3JhcGhpY3NDb250ZXh0IGFuZCB0
aGVuIHRvIHRoZSBkb2N1bWVudC4KKyAgICAgICAgVGhpcyB3b3VsZCBydW4gZm9yIGV2ZXJ5IHBh
aW50IHVudGlsIHdlIGRldGVjdCBhIGNvbnRlbnRmdWwgb25lLgorCisgICAgICAgIE5vdGUgdGhh
dCBpdCBwYWludHMgdGhlIGVudGlyZSBmcmFtZSBjb250ZW50cywgYXMgRkNQIGlzIG5vdCB2aWV3
cG9ydC1kZXBlbmRlbnQuCisgICAgICAgIEFsc28sIHBhaW50IHRpbWluZyBpcyBjdXJyZW50bHkg
ZGlzYWJsZWQgZm9yIExGQyAobGF5b3V0IGZvcm1hdHRpbmcgY29udGV4dCksIGFuZCB3aWxsIGJl
IGRlYWx0IHdpdGggbGF0ZXIuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvcGVyZm9ybWFu
Y2UvcGFpbnQtdGltaW5nL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFs
bHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0
cy9wZXJmb3JtYW5jZS9wYWludC10aW1pbmcvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1h
ZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
YWNrZ3JvdW5kLXNpemUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sCisg
ICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1j
YW52YXMtY29udGV4dC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCisgICAgICAgICAg
ICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxl
LXNjYWxlLXRyYW5zaXRpb24uaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LW9wYWNpdHktZGVzY2VuZGFudC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCisg
ICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLW91dC1vZi1ib3VuZHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRp
c3BsYXkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1wc2V1ZG8tZWxlbWVudC10ZXh0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC12aXNpYmlsaXR5Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXRleHQtaW5wdXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAorICAgICAgICAgICAgICAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZp
ZGVvLXBvc3Rlci5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3Atd2l0aC1ydGwuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL3Bh
aW50LXRpbWluZy9wYWludC10aW1pbmctYXBpcy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAorICAgICAgICAg
ICAgICAgcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9wYWludC10aW1pbmctd2l0aC13b3Jr
ZXIuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9wZXJm
b3JtYW5jZS1vYnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50Lmh0bWwKKworICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAg
ICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICAgICAgICAgQWRkIFBlcmZvcm1h
bmNlUGFpbnRUaW1pbmcgaW50ZXJmYWNlLiBodHRwczovL3czYy5naXRodWIuaW8vcGFpbnQtdGlt
aW5nLyNzZWMtUGVyZm9ybWFuY2VQYWludFRpbWluZworCisgICAgICAgICogZG9tL0RvY3VtZW50
LmNwcDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50OjpzdXBwb3J0c1BhaW50VGltaW5nIGNvbnN0KToKKyAgICAgICAgICAgICAgICBXZSBvbmx5
IHJlcG9ydCBwYWludCB0aW1pbmcgZm9yIGRvY3VtZW50IHRoYXQgY2FuIGFjY2VzcyB0aGUgdG9w
IGxldmVsIHNlY3VyaXR5IG9yaWdpbiwgdG8gYXZvaWQgbGVha2FnZSBvZiBpbmZvcm1hdGlvbiB0
byBzYW5kYm94ZWQgaWZyYW1lcy4KKworICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmVucXVl
dWVQYWludFRpbWluZ0VudHJ5SWZOZWVkZWQpOgorICAgICAgICAgICAgICAgIEVucXVldWUgYSBw
YWludCB0aW1pbmcgZW50cnksIGFjY29yZGluZyB0byBodHRwczovL3czYy5naXRodWIuaW8vcGFp
bnQtdGltaW5nLyNzZWMtcmVwb3J0aW5nLXBhaW50LXRpbWluZworCisgICAgICAgICogcGFnZS9G
cmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpwYWludENvbnRlbnRz
KToKKyAgICAgICAgICAgICAgICBEaXNhYmxlIEZDUCBmYWtlLXBhaW50IGluIExGQyBtb2RlLgor
CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRvQWZ0
ZXJVcGRhdGVSZW5kZXJpbmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeVR5cGUgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeU5hbWUgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KToKKyAgICAg
ICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAgICAgICAgICAgICAgU3VwcG9ydCBmaXJzdC1j
b250ZW50ZnVsLXBhaW50IHJlcG9ydGluZy4KKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VF
bnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5
VHlwZVN0cmluZyk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmg6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc1BhaW50IGNvbnN0KToKKyAgICAgICAgKiBw
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyk6CisgICAgICAgICogcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmg6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbDoK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaDogQWRkZWQuCisgICAgICAg
IChpc1R5cGUpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGw6IEFk
ZGVkLgorICAgICAgICAgICAgICAgIEFkZCBwYWludCBwZXJmb3JtYW5jZSBlbnRyeSB0eXBlLgor
CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cGFpbnRUaW1pbmdFbmFibGVk
IGNvbnN0KToKKyAgICAgICAgICAgICAgICBOZXcgcnVudGltZSBmbGFnIGZvciBwYWludCB0aW1p
bmcuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6c2V0Q29udGVudGZ1
bFBhaW50RGV0ZWN0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0Ojpjb250
ZW5mdWxQYWludERldGVjdGVkIGNvbnN0KToKKyAgICAgICAgICAgICAgICBBZGQgYSBmbGFnIGlu
IEdyYXBoaWNzQ29udGV4dCB3aGVyZSBkaWZmZXJlbnQgcmVuZGVyIG9wZXJhdGlvbnMgY2FuIHJl
cG9ydCBpZiB0aGV5J3JlIGNvbnRlbnRmdWwuCisKKyAgICAgICAgKiByZW5kZXJpbmcvQ29udGVu
dGZ1bFBhaW50Q2hlY2tlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudGZ1
bFBhaW50Q2hlY2tlcjo6cXVhbGlmaWVzRm9yQ29udGVudGZ1bFBhaW50KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oOiBBZGRlZC4KKyAgICAgICAgICAgICAg
ICBSdW4gYSAiZHVtbXkiIHBhaW50IG9mIHRoZSBGcmFtZVZpZXcsIHRvIGRldGVjdCBjb250ZW50
ZnVsIGVsZW1lbnRzLiAKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVj
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnRGaWxs
TGF5ZXJFeHRlbmRlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySFRNTENhbnZhczo6cGFpbnRSZXBsYWNlZCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckltYWdlOjpwYWludFJlcGxhY2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50
cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclZpZGVvOjpwYWludFJlcGxhY2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvVGV4
dFBhaW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFBhaW50ZXI6OnBhaW50VGV4dE9y
RW1waGFzaXNNYXJrcyk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OnBhaW50UmVwbGFjZWQpOgorICAg
ICAgICAgICAgICAgIFJlcG9ydCBjb250ZW50ZnVsbmVzcyB3aGVuIHdlIHJlYWNoIGFueXRoaW5n
IHRoYXQgcXVhbGlmaWVzIGFzIGNvbnRlbnRmdWwsCisgICAgICAgICAgICAgICAgYmFzZWQgb24g
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BhaW50LXRpbWluZy8jY29udGVudGZ1bC4KKwogMjAyMC0w
NC0yOCAgSmFjayBMZWUgIDxzaGloY2hpZWhfbGVlQGFwcGxlLmNvbT4KIAogICAgICAgICBOdWxs
cHRyIGNyYXNoIGluIEVkaXRDb21tYW5kOjpFZGl0Q29tbWFuZCB2aWEgQ29tcG9zaXRlRWRpdENv
bW1hbmQ6OnJlbW92ZU5vZGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAyNjA4
NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
OTM2LDYgKzkzNiw3IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgcGFnZS9Q
ZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU9ic2Vy
dmVyRW50cnlMaXN0LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbAorICAg
IHBhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwKICAg
ICBwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCShyZXZpc2lvbiAyNjA4NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC05MzAsNiArOTMwLDcgQEAgSlNfQklORElOR19JRExT
ID0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwgXAogICAgICQo
V2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCBcCisgICAgJChX
ZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUp
L3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFn
ZS9QZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJm
b3JtYW5jZVRpbWluZy5pZGwgXApJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI2MDg0MikK
KysrIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMTI1LDYg
KzIxMjUsNyBAQCByZW5kZXJpbmcvQnJlYWtMaW5lcy5jcHAKIHJlbmRlcmluZy9DU1NGaWx0ZXIu
Y3BwCiByZW5kZXJpbmcvQ2xpcFJlY3QuY3BwCiByZW5kZXJpbmcvQ29tcGxleExpbmVMYXlvdXQu
Y3BwCityZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHAKIHJlbmRlcmluZy9Db3Vu
dGVyTm9kZS5jcHAKIHJlbmRlcmluZy9FbGxpcHNpc0JveC5jcHAKIHJlbmRlcmluZy9FdmVudFJl
Z2lvbi5jcHAKQEAgLTMyMDMsNiArMzIwNCw3IEBAIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNw
cAogSlNQZXJmb3JtYW5jZU9ic2VydmVyLmNwcAogSlNQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJh
Y2suY3BwCiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuY3BwCitKU1BlcmZvcm1hbmNl
UGFpbnRUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCiBKU1BlcmZv
cm1hbmNlU2VydmVyVGltaW5nLmNwcAogSlNQZXJmb3JtYW5jZVRpbWluZy5jcHAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJl
dmlzaW9uIDI2MDg0MikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNDA2MCw2ICs0MDYwLDcgQEAKIAkJQzlGODdD
RkUxQjI4RjQwRTAwOTc5QjgzIC8qIE1lZGlhU2Vzc2lvbkV2ZW50cy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzlGODdDRkQxQjI4RTVGNjAwOTc5Qjgz
IC8qIE1lZGlhU2Vzc2lvbkV2ZW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUNBM0JGNjdFMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmlt
YXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Ez
QkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0E2QzE1MzAyMjBCOThDQzAwNTVD
QkZDIC8qIEpTVmFsdWVJbldyYXBwZWRPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMUFFM0I4MUZCODBFQUUwMEY1RUZCMiAvKiBKU1ZhbHVl
SW5XcmFwcGVkT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQ0E3RTlCNDkyNDM2MURDNTAwNEU4OUY2IC8qIENvbnRlbnRmdWxQYWludENo
ZWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENB
N0U5QjQ3MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmggKi87IH07
CiAJCUNBRTlGOTEwMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQUU5RjkwRTE0NjQ0
MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovOyB9OwogCQlDQjM4RkQ1MjFD
Q0Y5Mzk0MDA1OTJBM0YgLyogSlNQZXJmb3JtYW5jZUVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQjM4RkQ0RTFDQ0Y5MzdFMDA1OTJBM0YgLyog
SlNQZXJmb3JtYW5jZUVudHJ5LmggKi87IH07CiAJCUNCMzhGRDVCMUNEMjMyNUIwMDU5MkEzRiAv
KiBKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENCMzhGRDU5MUNEMjMxNDUwMDU5MkEzRiAvKiBKU1BlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuaCAqLzsgfTsKQEAgLTEzODQzLDYgKzEzODQ0LDggQEAKIAkJ
Q0EwOTFEODYyM0NGOTA3ODAwQUQ0MzQ2IC8qIFN0eWxlSW1hZ2VTZXQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU3R5bGVJbWFnZVNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUNBMDkxRDg5MjNDRjkwODgwMEFENDM0NiAvKiBTdHlsZUltYWdlU2V0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFN0eWxlSW1hZ2VTZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0ExNjM1
REMyMDcyRTc2OTAwRTdEMkNFIC8qIFJlZmVycmVyUG9saWN5LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZmVycmVyUG9saWN5LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEyNDFBIC8qIFBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFuY2VQYWludFRpbWluZy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTE5MzNEODI0MDdFRENGMDA3MTI0MUEgLyogUGVy
Zm9ybWFuY2VQYWludFRpbWluZy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFu
Y2VQYWludFRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBM0JGNjdC
MTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxBbmltYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxBbmltYXRvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTUyQkFFNTIzRDBBRjE2MDBERTBCODQgLyogU3R5
bGVDdXJzb3JJbWFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUN1cnNvckltYWdlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzODUyLDYgKzEzODU1LDggQEAKIAkJ
Q0E2QzE1MkYyMjBCNEE1NTAwNTVDQkZDIC8qIEpTSURCUmVxdWVzdEN1c3RvbS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0lEQlJlcXVlc3RDdXN0b20uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTZDMTUzNzIyMEQxRUIzMDA1NUNCRkMgLyog
SlNJREJDdXJzb3JDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNJREJDdXJzb3JDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
QTZDMTUzODIyMEQxRUIzMDA1NUNCRkMgLyogSlNJREJDdXJzb3JXaXRoVmFsdWVDdXN0b20uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJREJDdXJzb3JXaXRoVmFs
dWVDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTdFOUI0NzI0MzYx
REM1MDA0RTg5RjYgLyogQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDb250ZW50ZnVsUGFpbnRDaGVja2VyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUNBN0U5QjQ4MjQzNjFEQzUwMDRFODlGNiAvKiBDb250ZW50ZnVsUGFp
bnRDaGVja2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbnRl
bnRmdWxQYWludENoZWNrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQUU5
RjkwRDE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0FFOUY5MEUxNDY0NDFGMDAwQzI0NUIwIC8qIENT
U0FzcGVjdFJhdGlvVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NT
QXNwZWN0UmF0aW9WYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQjM4RkQ0
QTFDQ0NGMkREMDA1OTJBM0YgLyogUGVyZm9ybWFuY2VFbnRyeS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZUVudHJ5LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTIxMDU1LDYgKzIxMDYwLDggQEAKIAkJCQlBNUE5OTMzQTFFMzdG
QUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgKi8sCiAJCQkJ
QTVBOTkzM0IxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Qu
aCAqLywKIAkJCQlBNUE5OTMzQzFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZl
ckVudHJ5TGlzdC5pZGwgKi8sCisJCQkJQ0ExOTMzRDUyNDA3RDY0MDAwNzEyNDFBIC8qIFBlcmZv
cm1hbmNlUGFpbnRUaW1pbmcuaCAqLywKKwkJCQlDQTE5MzNEODI0MDdFRENGMDA3MTI0MUEgLyog
UGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwgKi8sCiAJCQkJODY1MTJFREIxNTRBMkFFRTAwQTkw
NDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICovLAogCQkJCTg2NTEyRURDMTU0
QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8sCiAJCQkJODY1
MTJFREQxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsICov
LApAQCAtMjgxNTksNiArMjgxNjYsOCBAQAogCQkJCUJDREQ0NTREMTIzNkM5NUMwMDlBNzk4NSAv
KiBDb2x1bW5JbmZvLmggKi8sCiAJCQkJQkNFQTQ4MTMwOTdEOTMwMjAwOTRDOUU0IC8qIENvbXBs
ZXhMaW5lTGF5b3V0LmNwcCAqLywKIAkJCQlFNEExQUM3ODIyRkFGRDUwMDAxN0I3NUIgLyogQ29t
cGxleExpbmVMYXlvdXQuaCAqLywKKwkJCQlDQTdFOUI0ODI0MzYxREM1MDA0RTg5RjYgLyogQ29u
dGVudGZ1bFBhaW50Q2hlY2tlci5jcHAgKi8sCisJCQkJQ0E3RTlCNDcyNDM2MURDNTAwNEU4OUY2
IC8qIENvbnRlbnRmdWxQYWludENoZWNrZXIuaCAqLywKIAkJCQk5MzkyRjE0RjBBRDE4NjIzMDA2
OTFCRDQgLyogQ291bnRlck5vZGUuY3BwICovLAogCQkJCTkzOTJGMTRCMEFEMTg2MUIwMDY5MUJE
NCAvKiBDb3VudGVyTm9kZS5oICovLAogCQkJCTBGNTNGQjgxMjEzQjFCQjgwMEM0MEQzNCAvKiBD
U1NGaWx0ZXIuY3BwICovLApAQCAtMjk4NjcsNiArMjk4NzYsNyBAQAogCQkJCUExNDk3ODZGMUFC
QUYzMzgwMENFRjdFNCAvKiBDb250ZW50RmlsdGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0RD
RERDNjIzRDgwQTFDMDBCQTM0QTEgLyogQ29udGVudEZpbHRlckNsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTE0MDkwRkQxQUE1MUU0ODAwOTExOTFBIC8qIENvbnRlbnRGaWx0ZXJVbmJsb2Nr
SGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0E3RTlCNDkyNDM2MURDNTAwNEU4OUY2IC8q
IENvbnRlbnRmdWxQYWludENoZWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDOUMyREI1MjI0
MUE2N0IwMDk5NkIwQiAvKiBDb250ZW50UnVsZUxpc3RSZXN1bHRzLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5N0M0NzFEQzEyRjkyNUJEMDA4NjM1NEIgLyogQ29udGVudFNlY3VyaXR5UG9saWN5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlDRTVGQTI1NTIwOUU0OEM1MDA1MUQ3MDAgLyogQ29udGVudFNl
Y3VyaXR5UG9saWN5Q2xpZW50LmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAko
cmV2aXNpb24gMjYwODQyKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3Jt
YW5jZUVudHJ5Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsOSArMzUsMTEgQEAKICNp
bmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlTWFyay5oIgog
I2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNZWFzdXJlLmgiCisjaW5jbHVkZSAiSlNQZXJmb3JtYW5j
ZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgi
CiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VNYXJrLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VNZWFz
dXJlLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgogI2luY2x1ZGUgIlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKIAogCkBAIC00Niw2ICs0OCw5IEBAIHVzaW5nIG5h
bWVzcGFjZSBKU0M7CiAKIEpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0dsb2JhbE9iamVjdCos
IEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxQZXJmb3JtYW5jZUVudHJ5PiYm
IGVudHJ5KQogeworICAgIGlmIChpczxQZXJmb3JtYW5jZVBhaW50VGltaW5nPihlbnRyeSkpCisg
ICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGdsb2Jh
bE9iamVjdCwgV1RGTW92ZShlbnRyeSkpOworCiAgICAgaWYgKGlzPFBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmc+KGVudHJ5KSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgJ
KHJldmlzaW9uIDI2MDg0MikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTgyLDYgKzE4Miw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBtYWNybyhQZXJmb3JtYW5jZU1lYXN1cmUpIFwKICAgICBtYWNybyhQ
ZXJmb3JtYW5jZU9ic2VydmVyKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5
TGlzdCkgXAorICAgIG1hY3JvKFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcpIFwKICAgICBtYWNybyhQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VTZXJ2ZXJU
aW1pbmcpIFwKICAgICBtYWNybyhQb2ludGVyRXZlbnQpIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAkocmV2aXNpb24gMjYwODQyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsNiArNDgsNyBAQAogI2luY2x1ZGUgIkNvbXBvc2l0
aW9uRXZlbnQuaCIKICNpbmNsdWRlICJDb25zdGFudFByb3BlcnR5TWFwLmgiCiAjaW5jbHVkZSAi
Q29udGVudFNlY3VyaXR5UG9saWN5LmgiCisjaW5jbHVkZSAiQ29udGVudGZ1bFBhaW50Q2hlY2tl
ci5oIgogI2luY2x1ZGUgIkNvb2tpZUphci5oIgogI2luY2x1ZGUgIkN1c3RvbUVsZW1lbnRSZWFj
dGlvblF1ZXVlLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmgiCkBAIC0xNDks
NiArMTUwLDcgQEAKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJQYWdlVHJhbnNp
dGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaCIKKyNpbmNs
dWRlICJQZXJmb3JtYW5jZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTG9jYWxlLmgiCiAjaW5jbHVk
ZSAiUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TY3Jl
ZW4uaCIKQEAgLTMxNDcsNiArMzE0OSwzNCBAQCBib29sIERvY3VtZW50Ojppc0xheW91dFRpbWVy
QWN0aXZlKCkgY29uCiAgICAgcmV0dXJuIHZpZXcoKSAmJiB2aWV3KCktPmxheW91dENvbnRleHQo
KS5pc0xheW91dFBlbmRpbmcoKTsKIH0KIAorYm9vbCBEb2N1bWVudDo6c3VwcG9ydHNQYWludFRp
bWluZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkucGFpbnRUaW1pbmdFbmFibGVkKCkgJiYgc2VjdXJpdHlPcmlnaW4oKS5jYW5B
Y2Nlc3ModG9wT3JpZ2luKCkpOworfQorCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGFpbnQt
dGltaW5nLyNyZWYtZm9yLW1hcmstcGFpbnQtdGltaW5nCit2b2lkIERvY3VtZW50OjplbnF1ZXVl
UGFpbnRUaW1pbmdFbnRyeUlmTmVlZGVkKCkKK3sKKyAgICBpZiAobV9kaWRFbnF1ZXVlRmlyc3RD
b250ZW50ZnVsUGFpbnQpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghc3VwcG9ydHNQYWlu
dFRpbWluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIWRvbVdpbmRvdygpIHx8ICF2
aWV3KCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIFRvIG1ha2Ugc3VyZSB3ZSBkb24ndCBy
ZXBvcnQgcGFpbnQgd2hpbGUgdGhlIGxheWVyIHRyZWUgaXMgc3RpbGwgZnJvemVuLgorICAgIGlm
ICghdmlldygpLT5pc1Zpc3VhbGx5Tm9uRW1wdHkoKSB8fCB2aWV3KCktPm5lZWRzTGF5b3V0KCkp
CisgICAgICAgIHJldHVybjsKKworICAgIGlmICghQ29udGVudGZ1bFBhaW50Q2hlY2tlcjo6cXVh
bGlmaWVzRm9yQ29udGVudGZ1bFBhaW50KCp2aWV3KCkpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBkb21XaW5kb3coKS0+cGVyZm9ybWFuY2UoKS5yZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgp
OworICAgIG1fZGlkRW5xdWV1ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gdHJ1ZTsKK30KKwogRXhj
ZXB0aW9uT3I8dm9pZD4gRG9jdW1lbnQ6OndyaXRlKERvY3VtZW50KiByZXNwb25zaWJsZURvY3Vt
ZW50LCBTZWdtZW50ZWRTdHJpbmcmJiB0ZXh0KQogewogICAgIGlmIChtX2FjdGl2ZVBhcnNlcldh
c0Fib3J0ZWQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMjYwODQyKQorKysg
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNDAsNiAr
MTA0MCw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2hvdWxkRGVmZXJBc3luY2hyb25vdXNTY3Jp
cHRzVW50aWxQYXJzaW5nRmluaXNoZXMoKSBjb25zdDsKIAorICAgIGJvb2wgc3VwcG9ydHNQYWlu
dFRpbWluZygpIGNvbnN0OworCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgdm9pZCBzY2hlZHVsZVRv
QXBwbHlYU0xUcmFuc2Zvcm1zKCk7CiAgICAgdm9pZCBhcHBseVBlbmRpbmdYU0xUcmFuc2Zvcm1z
Tm93SWZTY2hlZHVsZWQoKTsKQEAgLTE1NzksNiArMTU4MSw3IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgc2V0SGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQoKSB7IG1faGFzVmlzdWFsbHlO
b25FbXB0eUN1c3RvbUNvbnRlbnQgPSB0cnVlOyB9CiAgICAgYm9vbCBoYXNWaXN1YWxseU5vbkVt
cHR5Q3VzdG9tQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzVmlzdWFsbHlOb25FbXB0eUN1
c3RvbUNvbnRlbnQ7IH0KKyAgICB2b2lkIGVucXVldWVQYWludFRpbWluZ0VudHJ5SWZOZWVkZWQo
KTsKIAogICAgIEVkaXRvciYgZWRpdG9yKCkgeyByZXR1cm4gbV9lZGl0b3I7IH0KICAgICBjb25z
dCBFZGl0b3ImIGVkaXRvcigpIGNvbnN0IHsgcmV0dXJuIG1fZWRpdG9yOyB9CkBAIC0yMDQ1LDYg
KzIwNDgsOSBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX2FyZURldmljZU1vdGlvbkFuZE9yaWVu
dGF0aW9uVXBkYXRlc1N1c3BlbmRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3VzZXJEaWRJbnRl
cmFjdFdpdGhQYWdlIHsgZmFsc2UgfTsKKworICAgIGJvb2wgbV9kaWRFbnF1ZXVlRmlyc3RDb250
ZW50ZnVsUGFpbnQgeyBmYWxzZSB9OworCiAjaWYgQVNTRVJUX0VOQUJMRUQKICAgICBib29sIG1f
aW5IaXRUZXN0aW5nIHsgZmFsc2UgfTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAkocmV2aXNpb24gMjYwODQyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MjUyLDYgKzQyNTIsOSBAQCB2b2lkIEZyYW1lVmll
dzo6cGFpbnRDb250ZW50cyhHcmFwaGljc0NvCiAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJ
TkdfQ09OVEVYVCkKICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5sYXlvdXRGb3JtYXR0aW5nQ29udGV4dEVuYWJsZWQoKSkgeworICAgICAgICAvLyBJbnRl
Z3JhdGUgcGFpbnQgdGltaW5nIHdpdGggTEZDIGxhdGVyIG9uLgorICAgICAgICBpZiAoY29udGV4
dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkKKyAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgaWYgKGF1dG8qIGxheW91dFN0YXRlID0gbGF5b3V0Q29udGV4dCgpLmxheW91dEZvcm1hdHRp
bmdTdGF0ZSgpKQogICAgICAgICAgICAgTGF5b3V0OjpMYXlvdXRDb250ZXh0OjpwYWludCgqbGF5
b3V0U3RhdGUsIGNvbnRleHQsIGRpcnR5UmVjdCk7CiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcAkocmV2aXNpb24gMjYwODQyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQwOCw2ICsxNDA4LDEwIEBAIHZvaWQgUGFnZTo6
ZG9BZnRlclVwZGF0ZVJlbmRlcmluZygpCiAgICAgLy8gbGF5b3V0IHRvIGJlIHVwLXRvLWRhdGUu
IEl0IHNob3VsZCBub3QgcnVuIHNjcmlwdCwgdHJpZ2dlciBsYXlvdXQsIG9yIGRpcnR5IGxheW91
dC4KIAogICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CisgICAg
ICAgIGRvY3VtZW50LmVucXVldWVQYWludFRpbWluZ0VudHJ5SWZOZWVkZWQoKTsKKyAgICB9KTsK
KworICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CiAgICAgICAg
IGRvY3VtZW50LnVwZGF0ZUhpZ2hsaWdodFBvc2l0aW9ucygpOwogICAgIH0pOwogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkocmV2aXNpb24gMjYwODQyKQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQy
LDcgQEAKICNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNlcnZlci5oIgorI2luY2x1
ZGUgIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQ
ZXJmb3JtYW5jZVVzZXJUaW1pbmcuaCIKQEAgLTEyOSw2ICsxMzAsOSBAQCBWZWN0b3I8UmVmUHRy
PFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3JtCiAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9y
KG1fdXNlclRpbWluZy0+Z2V0TWVhc3VyZXMoKSk7CiAgICAgfQogCisgICAgaWYgKG1fZmlyc3RD
b250ZW50ZnVsUGFpbnQpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVs
UGFpbnQpOworCiAgICAgc3RkOjpzb3J0KGVudHJpZXMuYmVnaW4oKSwgZW50cmllcy5lbmQoKSwg
UGVyZm9ybWFuY2VFbnRyeTo6c3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKTsKICAgICByZXR1cm4g
ZW50cmllczsKIH0KQEAgLTE0MCw2ICsxNDQsOSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNl
RW50cnk+PiBQZXJmb3JtCiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVu
dHJ5VHlwZSwgInJlc291cmNlIikpCiAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVz
b3VyY2VUaW1pbmdCdWZmZXIpOwogCisgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYg
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkKKyAgICAg
ICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CisKICAgICBpZiAobV91
c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShl
bnRyeVR5cGUsICJtYXJrIikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3Vz
ZXJUaW1pbmctPmdldE1hcmtzKCkpOwpAQCAtMTYyLDYgKzE2OSw5IEBAIFZlY3RvcjxSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm0KICAgICAgICAgfQogICAgIH0KIAorICAgIGlmICht
X2ZpcnN0Q29udGVudGZ1bFBhaW50ICYmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkgJiYgbmFtZSA9PSAiZmly
c3QtY29udGVudGZ1bC1wYWludCIpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250
ZW50ZnVsUGFpbnQpOworCiAgICAgaWYgKG1fdXNlclRpbWluZykgewogICAgICAgICBpZiAoZW50
cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlw
ZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWlu
Zy0+Z2V0TWFya3MobmFtZSkpOwpAQCAtMTg1LDYgKzE5NSwxMyBAQCB2b2lkIFBlcmZvcm1hbmNl
OjpzZXRSZXNvdXJjZVRpbWluZ0J1ZmZlCiAgICAgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlckZ1bGxG
bGFnID0gZmFsc2U7CiB9CiAKK3ZvaWQgUGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0Q29udGVudGZ1
bFBhaW50KCkKK3sKKyAgICBBU1NFUlQoIW1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOworICAgIG1f
Zmlyc3RDb250ZW50ZnVsUGFpbnQgPSBQZXJmb3JtYW5jZVBhaW50VGltaW5nOjpjcmVhdGVGaXJz
dENvbnRlbnRmdWxQYWludChub3coKSk7CisgICAgcXVldWVFbnRyeSgqbV9maXJzdENvbnRlbnRm
dWxQYWludCk7Cit9CisKIHZvaWQgUGVyZm9ybWFuY2U6OmFkZFJlc291cmNlVGltaW5nKFJlc291
cmNlVGltaW5nJiYgcmVzb3VyY2VUaW1pbmcpCiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCShyZXZpc2lvbiAy
NjA4NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ2LDYgKzQ2LDcgQEAgY2xhc3MgTG9hZFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNl
RW50cnk7CiBjbGFzcyBQZXJmb3JtYW5jZU5hdmlnYXRpb247CiBjbGFzcyBQZXJmb3JtYW5jZU9i
c2VydmVyOworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNl
VGltaW5nOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291cmNlVGltaW5nOwpA
QCAtNzksNiArODAsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZFJlc291cmNlVGltaW5nKFJl
c291cmNlVGltaW5nJiYpOwogCisgICAgdm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgp
OworCiAgICAgdm9pZCByZW1vdmVBbGxPYnNlcnZlcnMoKTsKICAgICB2b2lkIHJlZ2lzdGVyUGVy
Zm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CiAgICAgdm9pZCB1bnJlZ2lz
dGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CkBAIC0xMjMsNiAr
MTI2LDcgQEAgcHJpdmF0ZToKIAogICAgIE1vbm90b25pY1RpbWUgbV90aW1lT3JpZ2luOwogCisg
ICAgUmVmUHRyPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IG1fZmlyc3RDb250ZW50ZnVsUGFpbnQ7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFVzZXJUaW1pbmc+IG1fdXNlclRpbWluZzsKIAogICAgIEdl
bmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV9wZXJmb3JtYW5jZVRpbWVs
aW5lVGFza1F1ZXVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
Y3BwCShyZXZpc2lvbiAyNjA4NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
RW50cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCwxMSBAQCBPcHRpb25hbDxQZXJm
b3JtYW5jZUVudHJ5OjpUeXBlPiBQZXJmb3JtCiAgICAgICAgICAgICByZXR1cm4gT3B0aW9uYWw8
VHlwZT4oVHlwZTo6UmVzb3VyY2UpOwogICAgIH0KIAorICAgIGlmIChSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnBhaW50VGltaW5nRW5hYmxlZCgpKSB7CisgICAgICAg
IGlmIChlbnRyeVR5cGUgPT0gInBhaW50IikKKyAgICAgICAgICAgIHJldHVybiBPcHRpb25hbDxU
eXBlPihUeXBlOjpQYWludCk7CisgICAgfQorCiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgJKHJldmlzaW9uIDI2
MDg0MikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCSh3b3JraW5n
IGNvcHkpCkBAIC00OCwxMCArNDgsMTEgQEAgcHVibGljOgogICAgIGRvdWJsZSBkdXJhdGlvbigp
IGNvbnN0IHsgcmV0dXJuIG1fZHVyYXRpb247IH0KIAogICAgIGVudW0gY2xhc3MgVHlwZSB7Ci0g
ICAgICAgIE5hdmlnYXRpb24gPSAxIDw8IDAsCi0gICAgICAgIE1hcmsgPSAxIDw8IDEsCi0gICAg
ICAgIE1lYXN1cmUgPSAxIDw8IDIsCi0gICAgICAgIFJlc291cmNlID0gMSA8PCAzLAorICAgICAg
ICBOYXZpZ2F0aW9uICA9IDEgPDwgMCwKKyAgICAgICAgTWFyayAgICAgICAgPSAxIDw8IDEsCisg
ICAgICAgIE1lYXN1cmUgICAgID0gMSA8PCAyLAorICAgICAgICBSZXNvdXJjZSAgICA9IDEgPDwg
MywKKyAgICAgICAgUGFpbnQgICAgICAgPSAxIDw8IDQKICAgICB9OwogCiAgICAgdmlydHVhbCBU
eXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC02Miw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICBib29s
IGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UmVzb3VyY2U7IH0K
ICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYXJrOyB9
CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWVh
c3VyZTsgfQorICAgIGJvb2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBl
OjpQYWludDsgfQogCiAgICAgc3RhdGljIGJvb2wgc3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKGNv
bnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYSwgY29uc3QgUmVmUHRyPFBlcmZvcm1hbmNl
RW50cnk+JiBiKQogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyLmNwcAkocmV2aXNpb24gMjYwODQyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU9ic2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDE1ICsxMTMsMjEg
QEAgdm9pZCBQZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVyKCkKICAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZEZpcmVPYnNlcnZlckNhbGxiYWNrKCpjb250ZXh0KTsKIH0KIAotVmVj
dG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcygpCitW
ZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIHsKKyAgICBWZWN0
b3I8U3RyaW5nPiBlbnRyeVR5cGVzID0gewogICAgICAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Vi
a2l0Lm9yZy9iLzE4NDM2Mz4gQWRkIHN1cHBvcnQgZm9yIE5hdmlnYXRpb24gVGltaW5nIExldmVs
IDIKICAgICAgICAgLy8gIm5hdmlnYXRpb24iX3MsCiAgICAgICAgICJtYXJrIl9zLAotICAgICAg
ICAibWVhc3VyZSJfcywKLSAgICAgICAgInJlc291cmNlIl9zCisgICAgICAgICJtZWFzdXJlIl9z
CiAgICAgfTsKKworICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4dCkgJiYgZG93bmNhc3Q8RG9j
dW1lbnQ+KGNvbnRleHQpLnN1cHBvcnRzUGFpbnRUaW1pbmcoKSkKKyAgICAgICAgZW50cnlUeXBl
cy5hcHBlbmQoInBhaW50Il9zKTsKKworICAgIGVudHJ5VHlwZXMuYXBwZW5kKCJyZXNvdXJjZSJf
cyk7CisKKyAgICByZXR1cm4gZW50cnlUeXBlczsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgJKHJldmlz
aW9uIDI2MDg0MikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihjb250ZXh0LCBXVEZNb3ZlKGNhbGxi
YWNrKSkpOwogICAgIH0KIAotICAgIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRFbnRy
eVR5cGVzKCk7CisgICAgc3RhdGljIFZlY3RvcjxTdHJpbmc+IHN1cHBvcnRlZEVudHJ5VHlwZXMo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogCiAgICAgdm9pZCBkaXNhc3NvY2lhdGUoKTsKIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCShyZXZp
c2lvbiAyNjA4NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiBdIGludGVyZmFjZSBQZXJmb3Jt
YW5jZU9ic2VydmVyIHsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgb2JzZXJ2ZShQZXJm
b3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKLSAg
ICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PERPTVN0cmluZz4gc3VwcG9y
dGVkRW50cnlUeXBlczsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gc3Rh
dGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHN1cHBvcnRlZEVu
dHJ5VHlwZXM7CiB9OwogCiBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IHsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5oCShub25l
eGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgV2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
ICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZyBmaW5h
bCA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFBl
cmZvcm1hbmNlUGFpbnRUaW1pbmc+IGNyZWF0ZUZpcnN0Q29udGVudGZ1bFBhaW50KERPTUhpZ2hS
ZXNUaW1lU3RhbXAgdGltZVN0YW1wKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgUGVyZm9ybWFuY2VQYWludFRpbWluZygiZmlyc3QtY29udGVudGZ1bC1wYWludCJfcywgdGlt
ZVN0YW1wKSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmco
Y29uc3QgU3RyaW5nJiBuYW1lLCBET01IaWdoUmVzVGltZVN0YW1wIHRpbWVTdGFtcCkKKyAgICAg
ICAgOiBQZXJmb3JtYW5jZUVudHJ5KG5hbWUsIHRpbWVTdGFtcCwgdGltZVN0YW1wKQorICAgIHsK
KyAgICB9CisKKyAgICBBU0NJSUxpdGVyYWwgZW50cnlUeXBlKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gInBhaW50Il9zOyB9CisgICAgVHlwZSB0eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gVHlw
ZTo6UGFpbnQ7IH0KKworICAgIH5QZXJmb3JtYW5jZVBhaW50VGltaW5nKCkgPSBkZWZhdWx0Owor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JF
R0lOKFdlYkNvcmU6OlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcpCisgICAgc3RhdGljIGJvb2wgaXNU
eXBlKGNvbnN0IFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KSB7IHJldHVybiBlbnRy
eS5pc1BhaW50KCk7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VQYWludFRpbWluZy5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVBhaW50VGltaW5nLmlkbAkobm9uZXhpc3Rl
bnQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAg
V2lraU1lZGlhIEZvdW5kYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZS4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRo
dWIuaW8vcGFpbnQtdGltaW5nLworCit0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1w
OworCitbCisgICAgRW5hYmxlZEF0UnVudGltZT1QYWludFRpbWluZywKKyAgICBFeHBvc2VkPShX
aW5kb3cpLAorXSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VQYWludFRpbWluZyA6IFBlcmZvcm1hbmNl
RW50cnkgeworfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oCShyZXZpc2lvbiAyNjA4NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsOSBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRVc2VyVGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lz
VXNlclRpbWluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHVzZXJUaW1pbmdFbmFi
bGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1VzZXJUaW1pbmdFbmFibGVkOyB9CiAKKyAgICB2b2lk
IHNldFBhaW50VGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzUGFpbnRUaW1pbmdF
bmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCBwYWludFRpbWluZ0VuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX2lzUGFpbnRUaW1pbmdFbmFibGVkOyB9CisKICAgICBib29sIHBlcmZvcm1h
bmNlVGltZWxpbmVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gcmVzb3VyY2VUaW1pbmdFbmFibGVk
KCkgfHwgdXNlclRpbWluZ0VuYWJsZWQoKTsgfQogCiAgICAgdm9pZCBzZXRTaGFkb3dET01FbmFi
bGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNTaGFkb3dET01FbmFibGVkID0gaXNFbmFibGVkOyB9
CkBAIC00MjQsNiArNDI3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNMaW5rUHJlbG9hZEVu
YWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2lzTGlua1ByZWZldGNoRW5hYmxlZCB7IGZhbHNl
IH07CiAgICAgYm9vbCBtX2lzTWVkaWFQcmVsb2FkaW5nRW5hYmxlZCB7IGZhbHNlIH07CisgICAg
Ym9vbCBtX2lzUGFpbnRUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNSZXNv
dXJjZVRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1VzZXJUaW1pbmdFbmFi
bGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5h
YmxlZCB7IGZhbHNlIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAkocmV2aXNpb24gMjYwODQyKQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTI3Myw3ICsyNzMsOCBAQCBwdWJsaWM6CiAgICAgZW51bSBjbGFzcyBQYWludEludmFsaWRh
dGlvblJlYXNvbnMgOiB1aW50OF90IHsKICAgICAgICAgTm9uZSwKICAgICAgICAgSW52YWxpZGF0
aW5nQ29udHJvbFRpbnRzLAotICAgICAgICBJbnZhbGlkYXRpbmdJbWFnZXNXaXRoQXN5bmNEZWNv
ZGVzCisgICAgICAgIEludmFsaWRhdGluZ0ltYWdlc1dpdGhBc3luY0RlY29kZXMsCisgICAgICAg
IERldGVjdGluZ0NvbnRlbnRmdWxQYWludAogICAgIH07CiAgICAgR3JhcGhpY3NDb250ZXh0KFBh
aW50SW52YWxpZGF0aW9uUmVhc29ucyk7CiAKQEAgLTI5Miw2ICsyOTMsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBwZXJmb3JtaW5nUGFpbnRJbnZhbGlkYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Bh
aW50SW52YWxpZGF0aW9uUmVhc29ucyAhPSBQYWludEludmFsaWRhdGlvblJlYXNvbnM6Ok5vbmU7
IH0KICAgICBib29sIGludmFsaWRhdGluZ0NvbnRyb2xUaW50cygpIGNvbnN0IHsgcmV0dXJuIG1f
cGFpbnRJbnZhbGlkYXRpb25SZWFzb25zID09IFBhaW50SW52YWxpZGF0aW9uUmVhc29uczo6SW52
YWxpZGF0aW5nQ29udHJvbFRpbnRzOyB9CiAgICAgYm9vbCBpbnZhbGlkYXRpbmdJbWFnZXNXaXRo
QXN5bmNEZWNvZGVzKCkgY29uc3QgeyByZXR1cm4gbV9wYWludEludmFsaWRhdGlvblJlYXNvbnMg
PT0gUGFpbnRJbnZhbGlkYXRpb25SZWFzb25zOjpJbnZhbGlkYXRpbmdJbWFnZXNXaXRoQXN5bmNE
ZWNvZGVzOyB9CisgICAgYm9vbCBkZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSBjb25zdCB7IHJl
dHVybiBtX3BhaW50SW52YWxpZGF0aW9uUmVhc29ucyA9PSBQYWludEludmFsaWRhdGlvblJlYXNv
bnM6OkRldGVjdGluZ0NvbnRlbnRmdWxQYWludDsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRTdHJva2VUaGlja25lc3MoZmxvYXQpOwogICAgIGZsb2F0IHN0cm9rZVRoaWNrbmVzcygp
IGNvbnN0IHsgcmV0dXJuIG1fc3RhdGUuc3Ryb2tlVGhpY2tuZXNzOyB9CkBAIC01MTMsNiArNTE1
LDkgQEAgcHVibGljOgogICAgIEZsb2F0U2l6ZSBzY2FsZUZhY3RvcigpIGNvbnN0OwogICAgIEZs
b2F0U2l6ZSBzY2FsZUZhY3RvckZvckRyYXdpbmcoY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCwg
Y29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0KSBjb25zdDsKIAorICAgIHZvaWQgc2V0Q29udGVudGZ1
bFBhaW50RGV0ZWN0ZWQoKSB7IG1fY29udGVuZnVsUGFpbnREZXRlY3RlZCA9IHRydWU7IH0KKyAg
ICBib29sIGNvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbmZ1
bFBhaW50RGV0ZWN0ZWQ7IH0KKwogI2lmIE9TKFdJTkRPV1MpCiAgICAgSERDIGdldFdpbmRvd3ND
b250ZXh0KGNvbnN0IEludFJlY3QmLCBib29sIHN1cHBvcnRBbHBoYUJsZW5kKTsgLy8gVGhlIHBh
c3NlZCBpbiByZWN0IGlzIHVzZWQgdG8gY3JlYXRlIGEgYml0bWFwIGZvciBjb21wb3NpdGluZyBp
bnNpZGUgdHJhbnNwYXJlbmN5IGxheWVycy4KICAgICB2b2lkIHJlbGVhc2VXaW5kb3dzQ29udGV4
dChIREMsIGNvbnN0IEludFJlY3QmLCBib29sIHN1cHBvcnRBbHBoYUJsZW5kKTsgLy8gVGhlIHBh
c3NlZCBpbiBIREMgc2hvdWxkIGJlIHRoZSBvbmUgaGFuZGVkIGJhY2sgYnkgZ2V0V2luZG93c0Nv
bnRleHQuCkBAIC02NjEsNiArNjY2LDcgQEAgcHJpdmF0ZToKIAogICAgIGNvbnN0IFBhaW50SW52
YWxpZGF0aW9uUmVhc29ucyBtX3BhaW50SW52YWxpZGF0aW9uUmVhc29ucyB7IFBhaW50SW52YWxp
ZGF0aW9uUmVhc29uczo6Tm9uZSB9OwogICAgIHVuc2lnbmVkIG1fdHJhbnNwYXJlbmN5Q291bnQg
eyAwIH07CisgICAgYm9vbCBtX2NvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQgeyBmYWxzZSB9OwogfTsK
IAogY2xhc3MgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciB7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuY3BwCShub25leGlz
dGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2Vy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIwIFdpa2lNZWRpYSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJDb250ZW50ZnVsUGFpbnRDaGVja2VyLmgiCisKKyNpbmNsdWRl
ICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitib29sIENvbnRlbnRmdWxQYWludENoZWNrZXI6OnF1YWxpZmllc0ZvckNv
bnRlbnRmdWxQYWludChGcmFtZVZpZXcmIGZyYW1lVmlldykKK3sKKyAgICBBU1NFUlQoIWZyYW1l
Vmlldy5uZWVkc0xheW91dCgpKTsKKyAgICBBU1NFUlQoZnJhbWVWaWV3LnJlbmRlclZpZXcoKSk7
CisKKyAgICBhdXRvIG9sZFBhaW50QmVoYXZpb3IgPSBmcmFtZVZpZXcucGFpbnRCZWhhdmlvcigp
OworICAgIGF1dG8gb2xkRW50aXJlQ29udGVudHMgPSBmcmFtZVZpZXcucGFpbnRzRW50aXJlQ29u
dGVudHMoKTsKKworICAgIGZyYW1lVmlldy5zZXRQYWludEJlaGF2aW9yKFBhaW50QmVoYXZpb3I6
OkZsYXR0ZW5Db21wb3NpdGluZ0xheWVycyk7CisgICAgZnJhbWVWaWV3LnNldFBhaW50c0VudGly
ZUNvbnRlbnRzKHRydWUpOworCisgICAgR3JhcGhpY3NDb250ZXh0IGNoZWNrZXJDb250ZXh0KEdy
YXBoaWNzQ29udGV4dDo6UGFpbnRJbnZhbGlkYXRpb25SZWFzb25zOjpEZXRlY3RpbmdDb250ZW50
ZnVsUGFpbnQpOworICAgIGZyYW1lVmlldy5wYWludChjaGVja2VyQ29udGV4dCwgZnJhbWVWaWV3
LnJlbmRlclZpZXcoKS0+ZG9jdW1lbnRSZWN0KCkpOworCisgICAgZnJhbWVWaWV3LnNldFBhaW50
c0VudGlyZUNvbnRlbnRzKG9sZEVudGlyZUNvbnRlbnRzKTsKKyAgICBmcmFtZVZpZXcuc2V0UGFp
bnRCZWhhdmlvcihvbGRQYWludEJlaGF2aW9yKTsKKworICAgIHJldHVybiBjaGVja2VyQ29udGV4
dC5jb250ZW5mdWxQYWludERldGVjdGVkKCk7Cit9CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9Db250ZW50ZnVsUGFpbnRDaGVja2VyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0NvbnRlbnRmdWxQYWludENoZWNrZXIuaAkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29udGVudGZ1bFBhaW50Q2hlY2tlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAg
V2lraU1lZGlhIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICog
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorKi8KKworI3ByYWdtYSBvbmNlCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRnJhbWVWaWV3OworCitjbGFzcyBDb250ZW50ZnVs
UGFpbnRDaGVja2VyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgYm9vbCBxdWFsaWZpZXNGb3JDb250
ZW50ZnVsUGFpbnQoRnJhbWVWaWV3Jik7Cit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAJKHJldmlzaW9uIDI2MDg0
MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTcxNiw3ICs3MTYsOCBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2Jq
ZWN0OjpwYWludEZpbGxMYXllCiAgICAgQmFja2dyb3VuZEJsZWVkQXZvaWRhbmNlIGJsZWVkQXZv
aWRhbmNlLCBJbmxpbmVGbG93Qm94KiBib3gsIGNvbnN0IExheW91dFNpemUmIGJveFNpemUsIENv
bXBvc2l0ZU9wZXJhdG9yIG9wLCBSZW5kZXJFbGVtZW50KiBiYWNrZ3JvdW5kT2JqZWN0LCBCYXNl
QmFja2dyb3VuZENvbG9yVXNhZ2UgYmFzZUJnQ29sb3JVc2FnZSkKIHsKICAgICBHcmFwaGljc0Nv
bnRleHQmIGNvbnRleHQgPSBwYWludEluZm8uY29udGV4dCgpOwotICAgIGlmIChjb250ZXh0LnBh
aW50aW5nRGlzYWJsZWQoKSB8fCByZWN0LmlzRW1wdHkoKSkKKworICAgIGlmICgoY29udGV4dC5w
YWludGluZ0Rpc2FibGVkKCkgJiYgIWNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkp
IHx8IHJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKICAgICBib29sIGluY2x1ZGVM
ZWZ0RWRnZSA9IGJveCA/IGJveC0+aW5jbHVkZUxvZ2ljYWxMZWZ0RWRnZSgpIDogdHJ1ZTsKQEAg
LTczMSw2ICs3MzIsMTQgQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnRGaWxsTGF5
ZQogICAgIFN0eWxlSW1hZ2UqIGJnSW1hZ2UgPSBiZ0xheWVyLmltYWdlKCk7CiAgICAgYm9vbCBz
aG91bGRQYWludEJhY2tncm91bmRJbWFnZSA9IGJnSW1hZ2UgJiYgYmdJbWFnZS0+Y2FuUmVuZGVy
KHRoaXMsIHN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpKTsKICAgICAKKyAgICBpZiAoY29udGV4dC5k
ZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgeworICAgICAgICBpZiAoIWNvbnRleHQuY29udGVu
ZnVsUGFpbnREZXRlY3RlZCgpICYmIHNob3VsZFBhaW50QmFja2dyb3VuZEltYWdlICYmIGJnSW1h
Z2UtPmNhY2hlZEltYWdlKCkpIHsKKyAgICAgICAgICAgIGlmIChzdHlsZSgpLmJhY2tncm91bmRT
aXplVHlwZSgpICE9IEZpbGxTaXplVHlwZTo6U2l6ZSB8fCAhc3R5bGUoKS5iYWNrZ3JvdW5kU2l6
ZUxlbmd0aCgpLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICBjb250ZXh0LnNldENvbnRlbnRm
dWxQYWludERldGVjdGVkKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9
CisKICAgICBpZiAoY29udGV4dC5pbnZhbGlkYXRpbmdJbWFnZXNXaXRoQXN5bmNEZWNvZGVzKCkp
IHsKICAgICAgICAgaWYgKHNob3VsZFBhaW50QmFja2dyb3VuZEltYWdlICYmIGJnSW1hZ2UtPmNh
Y2hlZEltYWdlKCktPmlzQ2xpZW50V2FpdGluZ0ZvckFzeW5jRGVjb2RpbmcoKnRoaXMpKQogICAg
ICAgICAgICAgYmdJbWFnZS0+Y2FjaGVkSW1hZ2UoKS0+cmVtb3ZlQWxsQ2xpZW50c1dhaXRpbmdG
b3JBc3luY0RlY29kaW5nKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SFRNTENhbnZhcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckhUTUxDYW52YXMuY3BwCShyZXZpc2lvbiAyNjA4NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxLDYgKzcx
LDEzIEBAIHZvaWQgUmVuZGVySFRNTENhbnZhczo6cGFpbnRSZXBsYWNlZChQYWkKICAgICBHcmFw
aGljc0NvbnRleHQmIGNvbnRleHQgPSBwYWludEluZm8uY29udGV4dCgpOwogCiAgICAgTGF5b3V0
UmVjdCBjb250ZW50Qm94UmVjdCA9IHRoaXMtPmNvbnRlbnRCb3hSZWN0KCk7CisKKyAgICBpZiAo
Y29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgeworICAgICAgICBpZiAoIWNvbnRl
eHQuY29udGVuZnVsUGFpbnREZXRlY3RlZCgpICYmIGNhbnZhc0VsZW1lbnQoKS5yZW5kZXJpbmdD
b250ZXh0KCkpCisgICAgICAgICAgICBjb250ZXh0LnNldENvbnRlbnRmdWxQYWludERldGVjdGVk
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBjb250ZW50Qm94UmVjdC5tb3ZlQnko
cGFpbnRPZmZzZXQpOwogICAgIExheW91dFJlY3QgcmVwbGFjZWRDb250ZW50UmVjdCA9IHRoaXMt
PnJlcGxhY2VkQ29udGVudFJlY3QoKTsKICAgICByZXBsYWNlZENvbnRlbnRSZWN0Lm1vdmVCeShw
YWludE9mZnNldCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5j
cHAJKHJldmlzaW9uIDI2MDg0MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5Miw2ICs0OTIsMTMgQEAgdm9pZCBSZW5kZXJJ
bWFnZTo6cGFpbnRSZXBsYWNlZChQYWludEluZgogICAgIGZsb2F0IGRldmljZVNjYWxlRmFjdG9y
ID0gZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpOwogICAgIExheW91dFVuaXQgbWlzc2lu
Z0ltYWdlQm9yZGVyV2lkdGgoMSAvIGRldmljZVNjYWxlRmFjdG9yKTsKIAorICAgIGlmIChjb250
ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpKSB7CisgICAgICAgIGlmICghY29udGV4dC5j
b250ZW5mdWxQYWludERldGVjdGVkKCkgJiYgIWlzRGVmZXJyZWRJbWFnZShlbGVtZW50KCkpICYm
IGNhY2hlZEltYWdlKCkgJiYgY2FjaGVkSW1hZ2UoKS0+Y2FuUmVuZGVyKHRoaXMsIGRldmljZVNj
YWxlRmFjdG9yKSAmJiAhY29udGVudFNpemUuaXNFbXB0eSgpKQorICAgICAgICAgICAgY29udGV4
dC5zZXRDb250ZW50ZnVsUGFpbnREZXRlY3RlZCgpOworCisgICAgICAgIHJldHVybjsKKyAgICB9
CisKICAgICBpZiAoIWltYWdlUmVzb3VyY2UoKS5jYWNoZWRJbWFnZSgpIHx8IGlzRGVmZXJyZWRJ
bWFnZShlbGVtZW50KCkpIHx8IHNob3VsZERpc3BsYXlCcm9rZW5JbWFnZUljb24oKSkgewogICAg
ICAgICBpZiAocGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2U6OlNlbGVjdGlvbikKICAgICAg
ICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAkocmV2aXNpb24gMjYwODQyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDU0MCw2ICs0NTQwLDkgQEAgdm9pZCBSZW5k
ZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKEdyYQogewogICAgIEFTU0VSVChpc1NlbGZQYWlu
dGluZ0xheWVyKCkgfHwgaGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KCkpOwogCisgICAg
aWYgKGNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkgJiYgY29udGV4dC5jb250ZW5m
dWxQYWludERldGVjdGVkKCkpCisgICAgICAgIHJldHVybjsKKwogICAgIGF1dG8gbG9jYWxQYWlu
dEZsYWdzID0gcGFpbnRGbGFncyAtIFBhaW50TGF5ZXJBcHBsaWVkVHJhbnNmb3JtOwogICAgIGJv
b2wgaGF2ZVRyYW5zcGFyZW5jeSA9IGxvY2FsUGFpbnRGbGFncy5jb250YWlucyhQYWludExheWVy
SGF2ZVRyYW5zcGFyZW5jeSk7CiAgICAgYm9vbCBpc1NlbGZQYWludGluZ0xheWVyID0gdGhpcy0+
aXNTZWxmUGFpbnRpbmdMYXllcigpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZGVvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVmlkZW8uY3BwCShyZXZpc2lvbiAyNjA4NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlkZW8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDQsNiArMjA0LDEyIEBAIHZv
aWQgUmVuZGVyVmlkZW86OnBhaW50UmVwbGFjZWQoUGFpbnRJbmYKICAgICBMYXlvdXRSZWN0IGNv
bnRlbnRSZWN0ID0gY29udGVudEJveFJlY3QoKTsKICAgICBjb250ZW50UmVjdC5tb3ZlQnkocGFp
bnRPZmZzZXQpOwogICAgIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCA9IHBhaW50SW5mby5jb250
ZXh0KCk7CisKKyAgICBpZiAoY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgewor
ICAgICAgICBjb250ZXh0LnNldENvbnRlbnRmdWxQYWludERldGVjdGVkKCk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKICAgICBib29sIGNsaXAgPSAhY29udGVudFJlY3QuY29udGFpbnMocmVj
dCk7CiAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGNvbnRleHQsIGNs
aXApOwogICAgIGlmIChjbGlwKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQ
YWludGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBh
aW50ZXIuY3BwCShyZXZpc2lvbiAyNjA4NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
VGV4dFBhaW50ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVk
ZSAiRGlzcGxheVJ1bi5oIgogI2luY2x1ZGUgIkZpbHRlck9wZXJhdGlvbnMuaCIKICNpbmNsdWRl
ICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5j
bHVkZSAiSW5saW5lVGV4dEJveC5oIgogI2luY2x1ZGUgIlJlbmRlckNvbWJpbmVUZXh0LmgiCiAj
aW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKQEAgLTEwNSw2ICsxMDYsMTMgQEAgdm9pZCBUZXh0UGFp
bnRlcjo6cGFpbnRUZXh0T3JFbXBoYXNpc01hcgogICAgIGZsb2F0IGVtcGhhc2lzTWFya09mZnNl
dCwgY29uc3QgRmxvYXRQb2ludCYgdGV4dE9yaWdpbiwgdW5zaWduZWQgc3RhcnRPZmZzZXQsIHVu
c2lnbmVkIGVuZE9mZnNldCkKIHsKICAgICBBU1NFUlQoc3RhcnRPZmZzZXQgPCBlbmRPZmZzZXQp
OworCisgICAgaWYgKG1fY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSkgeworICAg
ICAgICBpZiAoIXRleHRSdW4udGV4dCgpLnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKS5pc0FsbFNw
ZWNpYWxDaGFyYWN0ZXJzPGlzSFRNTFNwYWNlPigpKQorICAgICAgICAgICAgbV9jb250ZXh0LnNl
dENvbnRlbnRmdWxQYWludERldGVjdGVkKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAg
ICBpZiAoIWVtcGhhc2lzTWFyay5pc0VtcHR5KCkpCiAgICAgICAgIG1fY29udGV4dC5kcmF3RW1w
aGFzaXNNYXJrcyhmb250LCB0ZXh0UnVuLCBlbXBoYXNpc01hcmssIHRleHRPcmlnaW4gKyBGbG9h
dFNpemUoMCwgZW1waGFzaXNNYXJrT2Zmc2V0KSwgc3RhcnRPZmZzZXQsIGVuZE9mZnNldCk7CiAg
ICAgZWxzZSBpZiAoc3RhcnRPZmZzZXQgfHwgZW5kT2Zmc2V0IDwgdGV4dFJ1bi5sZW5ndGgoKSB8
fCAhbV9nbHlwaERpc3BsYXlMaXN0KQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdSb290LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCShyZXZpc2lvbiAyNjA4NDIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
OSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgogI2luY2x1ZGUgIkxheW91
dFJlcGFpbnRlci5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJSZW5kZXJDaGlsZEl0
ZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVySXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJM
YXllci5oIgogI2luY2x1ZGUgIlJlbmRlckxheW91dFN0YXRlLmgiCkBAIC0yMTEsNyArMjEyLDcg
QEAgdm9pZCBSZW5kZXJTVkdSb290OjpwYWludFJlcGxhY2VkKFBhaW50SQogICAgICAgICByZXR1
cm47CiAKICAgICAvLyBEb24ndCBwYWludCwgaWYgdGhlIGNvbnRleHQgZXhwbGljaXRseSBkaXNh
YmxlZCBpdC4KLSAgICBpZiAocGFpbnRJbmZvLmNvbnRleHQoKS5wYWludGluZ0Rpc2FibGVkKCkp
CisgICAgaWYgKHBhaW50SW5mby5jb250ZXh0KCkucGFpbnRpbmdEaXNhYmxlZCgpICYmICFwYWlu
dEluZm8uY29udGV4dCgpLmRldGVjdGluZ0NvbnRlbnRmdWxQYWludCgpKQogICAgICAgICByZXR1
cm47CiAKICAgICAvLyBTVkcgb3V0bGluZXMgYXJlIHBhaW50ZWQgZHVyaW5nIFBhaW50UGhhc2U6
OkZvcmVncm91bmQuCkBAIC0yMjMsNiArMjI0LDE3IEBAIHZvaWQgUmVuZGVyU1ZHUm9vdDo6cGFp
bnRSZXBsYWNlZChQYWludEkKICAgICBpZiAoc3ZnU1ZHRWxlbWVudCgpLmhhc0VtcHR5Vmlld0Jv
eCgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQgPSBw
YWludEluZm8uY29udGV4dCgpOworICAgIGlmIChjb250ZXh0LmRldGVjdGluZ0NvbnRlbnRmdWxQ
YWludCgpKSB7CisgICAgICAgIGZvciAoYXV0byYgY3VycmVudCA6IGNoaWxkcmVuT2ZUeXBlPFJl
bmRlck9iamVjdD4oKnRoaXMpKSB7CisgICAgICAgICAgICBpZiAoIWN1cnJlbnQuaXNTVkdIaWRk
ZW5Db250YWluZXIoKSkgeworICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0Q29udGVudGZ1bFBh
aW50RGV0ZWN0ZWQoKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIC8vIERvbid0IHBhaW50IGlm
IHdlIGRvbid0IGhhdmUga2lkcywgZXhjZXB0IGlmIHdlIGhhdmUgZmlsdGVycyB3ZSBzaG91bGQg
cGFpbnQgdGhvc2UuCiAgICAgaWYgKCFmaXJzdENoaWxkKCkpIHsKICAgICAgICAgYXV0byogcmVz
b3VyY2VzID0gU1ZHUmVzb3VyY2VzQ2FjaGU6OmNhY2hlZFJlc291cmNlc0ZvclJlbmRlcmVyKCp0
aGlzKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjA4NDIpCisrKyBTb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA0LTI4ICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRkNQIChm
aXJzdCBjb250ZW50ZnVsIHBhaW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA4NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2Vy
LgorCisgICAgICAgIEFkZCBhbiBleHBlcmltZW50YWwgcnVudGltZSBmbGFnIGZvciBwYWludC10
aW1pbmcgKHBhaW50VGltaW5nRW5hYmxlZCkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVy
ZW5jZXMueWFtbDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHA6
CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0UGFpbnRUaW1pbmdFbmFibGVkKToKKyAgICAgICAg
KFdLUHJlZmVyZW5jZXNHZXRQYWludFRpbWluZ0VuYWJsZWQpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjp1cGRhdGVQcmVmZXJlbmNlc1N0b3Jl
KToKKwogMjAyMC0wNC0yOCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtNYWNDYXRhbHlzdF0gQWRkIG1pc3Npbmcgc3ltbGlua3MgdG8gV2ViS2l0LmZyYW1l
d29ya3MKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAkocmV2
aXNpb24gMjYwODQyKQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFt
bAkod29ya2luZyBjb3B5KQpAQCAtODI1LDYgKzgyNSwxNCBAQCBNb2Rlcm5NZWRpYUNvbnRyb2xz
RW5hYmxlZDoKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiVXNlIG1vZGVybiBtZWRpYSBj
b250cm9scyBsb29rIgogICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwog
CitQYWludFRpbWluZ0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxz
ZQorICBodW1hblJlYWRhYmxlTmFtZTogIlBhaW50IFRpbWluZyIKKyAgaHVtYW5SZWFkYWJsZURl
c2NyaXB0aW9uOiAiRW5hYmxlIFBhaW50VGltaW5nIEFQSSIKKyAgd2ViY29yZUJpbmRpbmc6IFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXMKKyAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorCiBSZXNvdXJj
ZVRpbWluZ0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAko
cmV2aXNpb24gMjYwODQyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4MjAsNiArMTgyMCwxNiBAQCBib29sIFdL
UHJlZmVyZW5jZXNHZXRVc2VyVGltaW5nRW5hYmxlZChXCiAgICAgcmV0dXJuIHRvSW1wbChwcmVm
ZXJlbmNlc1JlZiktPnVzZXJUaW1pbmdFbmFibGVkKCk7CiB9CiAKK3ZvaWQgV0tQcmVmZXJlbmNl
c1NldFBhaW50VGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBi
b29sIGZsYWcpCit7CisgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0UGFpbnRUaW1pbmdF
bmFibGVkKGZsYWcpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRQYWludFRpbWluZ0VuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9JbXBs
KHByZWZlcmVuY2VzUmVmKS0+cGFpbnRUaW1pbmdFbmFibGVkKCk7Cit9CisKIHZvaWQgV0tQcmVm
ZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVu
Y2VzUmVmLCBib29sIGZsYWcpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0UmVz
b3VyY2VUaW1pbmdFbmFibGVkKGZsYWcpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCShyZXZpc2lvbiAy
NjA4NDIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVm
UHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MDAsNiArNTAwLDEwIEBAIFdLX0VYUE9SVCB2
b2lkIFdLUHJlZmVyZW5jZXNTZXRVc2VyVGltaW4KIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRVc2VyVGltaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIAogLy8gRGVmYXVsdHMg
dG8gZmFsc2UKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRQYWludFRpbWluZ0VuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVy
ZW5jZXNHZXRQYWludFRpbWluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CisKKy8vIERlZmF1
bHRzIHRvIGZhbHNlCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VUaW1p
bmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9vbCBX
S1ByZWZlcmVuY2VzR2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwog
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCShyZXZpc2lvbiAyNjA4
NDIpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMiw2ICsxMjIsNyBAQCB2b2lk
IFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjp1cGRhCiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRDYWNoZUFQSUVuYWJsZWQoc3RvcmUuZ2V0Qm9v
bFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpjYWNoZUFQSUVuYWJsZWRLZXkoKSkpOwog
ICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElF
bmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6ZmV0Y2hB
UElFbmFibGVkS2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldFVzZXJUaW1pbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQ
cmVmZXJlbmNlc0tleTo6dXNlclRpbWluZ0VuYWJsZWRLZXkoKSkpOworICAgIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UGFpbnRUaW1pbmdFbmFibGVkKHN0b3Jl
LmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFpbnRUaW1pbmdFbmFibGVk
S2V5KCkpKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dFJlc291cmNlVGltaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVy
ZW5jZXNLZXk6OnJlc291cmNlVGltaW5nRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQo
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpmZXRjaEFQSUtlZXBB
bGl2ZUVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkuc2V0UmVzdHJpY3RlZEhUVFBSZXNwb25zZUFjY2VzcyhzdG9yZS5nZXRCb29sVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3NL
ZXkoKSkpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjYwODQyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTQgQEAKKzIwMjAtMDQtMjggIE5vYW0gUm9z
ZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisK
KyAgICAgICAgQWRkZWQgdGVzdHMgZm9yIHNvbWUgZmlyc3QtY29udGVudGZ1bC1wYWludCAoRkNQ
KSB1c2UtY2FzZXMuCisgICAgICAgIEVuc3VyZSB0aGF0IEZDUCB3b3JrcyB3ZWxsIHdpdGggVk5F
IChmaXJzdCBwYWludCBkZWxheSB1bnRpbCBjb250ZW50cyBhcmUgdmlzdWFsbHkgbm9uLWVtcHR5
KS4KKworICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgICAgICAgICBEaXNh
YmxlIHBhaW50IHRpbWluZyBmb3IgV2ViS2l0MS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlv
bnM6CisgICAgICAgICAgICAgICAgRGlzYWJsZSBvZiB0aGUgV1BUIHRlc3RzLgorICAgICAgICAK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BhaW50LXRpbWluZzogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wYWludC10aW1pbmcvcGVyZm9ybWFuY2Ut
cGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFycy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGFp
bnQtdGltaW5nL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9u
LWVtcHR5LWZvci1udW0tY2hhcnMuaHRtbDogQWRkZWQuCisgICAgICAgICAgICAgICAgSWYgVk5F
IGR1ZSB0byBudW1iZXIgb2YgY2hhcmFjdGVycyBibG9ja3MgcGFpbnRpbmcsIG1ha2Ugc3VyZSBG
Q1AgaXMgcmVwb3J0ZWQgb25seSBhZnRlciBwYWludGluZyBpcyB1bmJsb2NrZWQuCisKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BhaW50LXRpbWluZy9wZXJmb3JtYW5jZS1wYWlu
dC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BhaW50LXRpbWlu
Zy9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1m
b3Itc3R5bGUuaHRtbDogQWRkZWQuCisgICAgICAgICAgICAgICAgSWYgYSBwZW5kaW5nIHN0eWxl
c2hlZXQgYmxvY2tzIHBhaW50aW5nLCBtYWtlIHN1cmUgRkNQIGlzIHJlcG9ydGVkIG9ubHkgYWZ0
ZXIgc3R5bGVzaGVldCBoYXMgbG9hZGVkLgorCisgICAgICAgICogaHR0cC90ZXN0cy9wZXJmb3Jt
YW5jZS9wYWludC10aW1pbmcvcmVzb3VyY2VzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3BlcmZvcm1hbmNlL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc2xvd3NjcmlwdC5waHA6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGFpbnQtdGltaW5nL3Jlc291cmNl
cy9zbG93c3R5bGUucGhwOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BlcmZvcm1hbmNl
L3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3R5bGUuY3NzOiBBZGRlZC4KKyAgICAgICAgKGJvZHkp
OgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmc6IEFkZGVkLgorICAgICAg
ICAqIHBlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmcvcGFpbnQtdGltaW5nLWFwaXMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nL3Bh
aW50LXRpbWluZy1hcGlzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9w
YWludC10aW1pbmcvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmcvcGFpbnQtdGltaW5nLWZyYW1lcy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nL3BhaW50
LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZv
cm1hbmNlLWFwaS9wYWludC10aW1pbmcvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAgICAgICAgIFRlc3QgdGhhdCBGQ1AgaXMgbm90IGF2YWlsYWJsZSBmb3Ig
Y3Jvc3Mtb3JpZ2luIGZyYW1lcyBhbmQgd29ya2Vycy4KKworICAgICAgICAqIHBlcmZvcm1hbmNl
LWFwaS9wYWludC10aW1pbmcvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1w
YWludC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wYWlu
dC10aW1pbmcvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1s
OiBBZGRlZC4KKyAgICAgICAgICAgICAgICBUZXN0IHRoYXQgcGVyZm9ybWFuY2Ugb2JzZXJ2ZXJz
IGFyZSBjYWxsZWQgZm9yIEZDUC4KKworICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wYWludC10
aW1pbmcvcmVzb3VyY2VzOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGFpbnQt
dGltaW5nL3Jlc291cmNlcy9mY3Atc3ViZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGVy
Zm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0aWxzLmpzOiBB
ZGRlZC4KKyAgICAgICAgKGFzeW5jIHdhaXRGb3JGQ1ApOgorICAgICAgICAqIHBlcmZvcm1hbmNl
LWFwaS9wYWludC10aW1pbmcvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGkuanM6IEFkZGVkLgor
ICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmcvcmVzb3VyY2VzL3dvcmtlci5o
dG1sOiBBZGRlZC4KKwogMjAyMC0wNC0yOCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGln
YWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjYwODIyKTogQnJva2UgbWVkaWEvdHJh
Y2svdHJhY2staW4tYmFuZC1tZXRhZGF0YS1kaXNwbGF5LW9yZGVyLmh0bWwgb24gTWFjCkluZGV4
OiBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDI2MDg0MikKKysrIExheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTIwOCw2ICsyMDgsOSBAQCBmYXN0L3Zpc3Vh
bC12aWV3cG9ydC9ydWJiZXJiYW5kaW5nLXZpZXdwCiAjIERhdGFEZXRlY3RvcnMgdGVzdHMgb25s
eSBtYWtlIHNlbnNlIG9uIE1hYwogZmFzdC9ldmVudHMvZG8tbm90LWRyYWctYW5kLWRyb3AtZGF0
YS1kZXRlY3RvcnMtbGluay5odG1sIFsgU2tpcCBdCiAKKyMgQSByb3VuZGluZyBlcnJvciBtYXkg
Y2F1c2UgOTBkZWcgM2Qtcm90YXRlZCBlbGVtZW50cyB0byBjb3VudCBhcyBwYWludGVkCitpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52
aXNpYmxlLTNkLXJvdGF0ZS1kZXNjZW5kYW50Lmh0bWwKKwogd2Via2l0Lm9yZy9iLzIwMjYxNyBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BpY3R1cmUtaW4tcGljdHVyZSBbIFNraXAg
XQogCiAjIFBpUCBBUEkgdGVzdHMgYXJlIG9ubHkgcmVsZXZhbnQgb24gbWFjIGFuZCBpUGFkCklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BhaW50LXRpbWluZy9wZXJm
b3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVt
LWNoYXJzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3BlcmZvcm1hbmNlL3BhaW50LXRpbWluZy9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFm
dGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BhaW50LXRpbWlu
Zy9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFmdGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1m
b3ItbnVtLWNoYXJzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAK
K1BBU1MgcGFpbnRFbnRyeS5zdGFydFRpbWUgPiB0aW1lc3RhbXBzW2V4cGVjdGVkSXRlcmF0aW9u
c10gaXMgdHJ1ZQorUEFTUyBwYWludEVudHJ5LnN0YXJ0VGltZSA8IHRpbWVzdGFtcHNbZXhwZWN0
ZWRJdGVyYXRpb25zICsgMl0gaXMgdHJ1ZQorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3BlcmZvcm1hbmNlL3BhaW50LXRpbWluZy9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFm
dGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3ItbnVtLWNoYXJzLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wYWludC10aW1pbmcvcGVyZm9ybWFu
Y2UtcGFpbnQtdGltaW5nLWZjcC1hZnRlci12aXN1YWxseS1ub24tZW1wdHktZm9yLW51bS1jaGFy
cy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFu
Y2UvcGFpbnQtdGltaW5nL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFs
bHktbm9uLWVtcHR5LWZvci1udW0tY2hhcnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDczIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKQor
ICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9Cis8L3NjcmlwdD4KKwor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgorICAgIHZhciBzdHlsZUVudHJ5ID0gbnVsbAorICAgIHZhciBwYWludEVudHJ5ID0g
bnVsbAorICAgIHZhciB0aW1lc3RhbXBzID0gW10KKyAgICB2YXIgY2hhcnNQZXJJdGVyYXRpb24g
PSA4MAorICAgIHZhciBjaGFyVGhyZXNob2xkID0gMjAwCisgICAgdmFyIGV4cGVjdGVkSXRlcmF0
aW9ucyA9IE1hdGguY2VpbChjaGFyVGhyZXNob2xkIC8gY2hhcnNQZXJJdGVyYXRpb24pCisKKyAg
ICBmdW5jdGlvbiBzbG93U3RyaW5nKHN0ciwgZGVsYXkpIHsKKyAgICAgICAgY29uc3Qgc2NyaXB0
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JykKKyAgICAgICAgY29uc3Qgc291cmNl
ID0gYGRvY3VtZW50LndyaXRlKCcke3N0cn0nKTsgdGltZXN0YW1wcy5wdXNoKCR7cGVyZm9ybWFu
Y2Uubm93KCl9KTsgY2hlY2soKTtgCisgICAgICAgIHNjcmlwdC5zcmMgPSBgLi9yZXNvdXJjZXMv
c2xvd3NjcmlwdC5waHA/Y2FjaGVCdXN0ZXI9JHtwZXJmb3JtYW5jZS5ub3coKX0mZGVsYXk9JHtk
ZWxheX0mc2NyaXB0PSR7c291cmNlfWAKKyAgICAgICAgZG9jdW1lbnQud3JpdGUoc2NyaXB0Lm91
dGVySFRNTCkKKyAgICB9CisKKyAgICBmdW5jdGlvbiBjaGVjaygpIHsKKyAgICAgICAgaWYgKHRp
bWVzdGFtcHMubGVuZ3RoIDwgZXhwZWN0ZWRJdGVyYXRpb25zICsgMyB8fCAhcGFpbnRFbnRyeSkK
KyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9
ICcnCisKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJwYWludEVudHJ5LnN0YXJ0VGltZSA+IHRpbWVz
dGFtcHNbZXhwZWN0ZWRJdGVyYXRpb25zXSIpCisgICAgICAgIHNob3VsZEJlVHJ1ZSgicGFpbnRF
bnRyeS5zdGFydFRpbWUgPCB0aW1lc3RhbXBzW2V4cGVjdGVkSXRlcmF0aW9ucyArIDJdIikKKyAg
ICAgICAgCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpCisgICAgfQorCisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVy
Zm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+IHsKKyAgICAgICAgcGFpbnRFbnRyeSA9IHBlcmZvcm1h
bmNlLmdldEVudHJpZXNCeVR5cGUoJ3BhaW50JylbMF0KKyAgICAgICAgaWYgKHBhaW50RW50cnkp
CisgICAgICAgICAgICBjaGVjaygpCisgICAgfSk7CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50
cnlUeXBlczogWyJwYWludCJdfSkKKworICAgIGZ1bmN0aW9uIG5leHQoKSB7CisgICAgICAgIHNs
b3dTdHJpbmcoJ1x0ICcgKyBBcnJheShjaGFyc1Blckl0ZXJhdGlvbiAvIDIpLmZpbGwoJyAwIFx0
IEEnKS5qb2luKCcnKSArICIgICBcblx0IiwgMC4zLCBjaGFyc1Blckl0ZXJhdGlvbikKKyAgICB9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+
CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0
PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3Njcmlw
dD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3Jp
cHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2Ny
aXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3Nj
cmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9z
Y3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwv
c2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgpPC9zY3JpcHQ+CisgICAgPHNjcmlwdD5uZXh0KCk8
L3NjcmlwdD4KKyAgICA8c2NyaXB0Pm5leHQoKTwvc2NyaXB0PgorICAgIDxzY3JpcHQ+bmV4dCgp
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3BlcmZvcm1hbmNlL3BhaW50LXRpbWluZy9wZXJmb3JtYW5jZS1wYWludC10aW1pbmctZmNwLWFm
dGVyLXZpc3VhbGx5LW5vbi1lbXB0eS1mb3Itc3R5bGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGFpbnQtdGltaW5nL3BlcmZv
cm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHls
ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9w
ZXJmb3JtYW5jZS9wYWludC10aW1pbmcvcGVyZm9ybWFuY2UtcGFpbnQtdGltaW5nLWZjcC1hZnRl
ci12aXN1YWxseS1ub24tZW1wdHktZm9yLXN0eWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDIgQEAKK1BBU1MgcGFpbnRFbnRyeS5zdGFydFRpbWUgPj0gc3R5bGVFbnRy
eS5zdGFydFRpbWUgKyBzdHlsZUVudHJ5LmR1cmF0aW9uIGlzIHRydWUKK1RFWFQKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGFpbnQtdGltaW5nL3BlcmZvcm1hbmNl
LXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGFpbnQt
dGltaW5nL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3AtYWZ0ZXItdmlzdWFsbHktbm9uLWVt
cHR5LWZvci1zdHlsZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvcGVyZm9ybWFuY2UvcGFpbnQtdGltaW5nL3BlcmZvcm1hbmNlLXBhaW50LXRpbWluZy1mY3At
YWZ0ZXItdmlzdWFsbHktbm9uLWVtcHR5LWZvci1zdHlsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+
CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpCisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKzwvc2Ny
aXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgdmFyIHN0eWxlRW50cnkgPSBudWxsOworICAgIHZhciBw
YWludEVudHJ5ID0gbnVsbDsKKyAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9i
c2VydmVyKGxpc3QgPT4geworICAgICAgICBjb25zdCBwYWludEVudHJpZXMgPSBwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzQnlUeXBlKCdwYWludCcpOworICAgICAgICBpZiAocGFpbnRFbnRyaWVzLmxl
bmd0aCkKKyAgICAgICAgICAgIHBhaW50RW50cnkgPSBwYWludEVudHJpZXNbMF07CisKKyAgICAg
ICAgY29uc3QgcmVzb3VyY2VFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgn
cmVzb3VyY2UnKS5maWx0ZXIociA9PiByLm5hbWUuaW5jbHVkZXMoJ3Nsb3dzdHlsZS5waHAnKSk7
CisgICAgICAgIGlmIChyZXNvdXJjZUVudHJpZXMubGVuZ3RoKQorICAgICAgICAgICAgc3R5bGVF
bnRyeSA9IHJlc291cmNlRW50cmllc1swXTsKKworICAgICAgICBpZiAoIXN0eWxlRW50cnkgfHwg
IXBhaW50RW50cnkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc2hvdWxkQmVUcnVl
KCJwYWludEVudHJ5LnN0YXJ0VGltZSA+PSBzdHlsZUVudHJ5LnN0YXJ0VGltZSArIHN0eWxlRW50
cnkuZHVyYXRpb24iKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfSk7Cisg
ICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJwYWludCIsICJyZXNvdXJjZSJdfSk7
Cis8L3NjcmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi9yZXNvdXJjZXMvc2xv
d3N0eWxlLnBocD9kZWxheT0wLjUiIC8+Cis8L2hlYWQ+Cis8Ym9keT4KK1RFWFQKKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGFpbnQt
dGltaW5nL3Jlc291cmNlcy9zbG93c2NyaXB0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc2xvd3Njcmlw
dC5waHAJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5j
ZS9wYWludC10aW1pbmcvcmVzb3VyY2VzL3Nsb3dzY3JpcHQucGhwCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsOSBAQAorPD9waHAKK2lmIChpc3NldCgkX0dFVFsiZGVsYXkiXSkpCisgICAgc2xl
ZXAoJF9HRVRbImRlbGF5Il0pOworaGVhZGVyKCdDYWNoZS1Db250cm9sOiBuby1jYWNoZSwgbXVz
dC1yZXZhbGlkYXRlJyk7CitoZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0Jyk7
CisKK2VjaG8oJF9HRVRbInNjcmlwdCJdKQorPz4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wZXJmb3JtYW5jZS9wYWludC10aW1pbmcvcmVzb3VyY2VzL3Nsb3dzdHlsZS5waHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wYWludC10aW1p
bmcvcmVzb3VyY2VzL3Nsb3dzdHlsZS5waHAJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wYWludC10aW1pbmcvcmVzb3VyY2VzL3Nsb3dzdHlsZS5w
aHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2IEBACis8P3BocAoraWYgKGlzc2V0KCRfR0VU
WyJkZWxheSJdKSkKKyAgICBzbGVlcCgkX0dFVFsiZGVsYXkiXSk7CitoZWFkZXIoJ0NhY2hlLUNv
bnRyb2w6IG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUnKTsKK2hlYWRlcignTG9jYXRpb246IHN0
eWxlLmNzcycpOworPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGVyZm9ybWFuY2Uv
cGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdHlsZS5jc3MKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N0eWxlLmNz
cwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3Bh
aW50LXRpbWluZy9yZXNvdXJjZXMvc3R5bGUuY3NzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MyBAQAorYm9keSB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4KK307ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZp
c2lvbiAyNjA4NDIpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsNzkgQEAKKzIwMjAtMDQtMjggIE5vYW0gUm9zZW50aGFsICA8
bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBGQ1AgKGZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDg0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAg
SW1wb3J0ZWQgcGFpbnQgdGltaW5nIHRlc3RzIHRoYXQgZG9uJ3QgcmVxdWlyZSBmaXJzdC1wYWlu
dC4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb246CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZzogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seTogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3Vu
ZC1zaXplLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJn
LWltYWdlLXNldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1i
Zy1pbWFnZS10d28tc3RlcHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29u
dGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUt
M2Qtcm90YXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUt
dHJhbnNpdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9u
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVz
Y2VuZGFudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vcGFjaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2Yt
Ym91bmRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1vdXQtb2YtYm91bmRzLXRyYW5zbGF0ZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQtb2Yt
Ym91bmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWlt
YWdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtaW1hZ2UuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50
LW9wYWNpdHkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LXRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdmlzaWJp
bGl0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHkuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atc3ZnLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBz
ZXVkby1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBzZXVkby5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12
aWRlby1mcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZp
ZGVvLXBvc3Rlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13
aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRo
LXJ0bC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9jaXJjbGUuc3Zn
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291
cmNlcy9jaXJjbGVzLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUt
c2VuZGluZy1wYWludC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qczogQWRkZWQuCisgICAgICAgICh3YWl0Rm9y
QW5pbWF0aW9uRnJhbWVzKToKKyAgICAgICAgKGFzeW5jIGFzc2VydE5vRmlyc3RDb250ZW50ZnVs
UGFpbnQpOgorICAgICAgICAoYXN5bmMgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQucmV0dXJu
Lm5ldy5Qcm9taXNlKToKKyAgICAgICAgKGFzeW5jIGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50
KToKKyAgICAgICAgKGFzeW5jIHRlc3RfZmNwKToKKwogMjAyMC0wNC0yNiAgQWxleGV5IFNodmF5
a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CiAKICAgICAgICAgSW50ZXJuYWxGdW5jdGlvbjo6
Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUgc2hvdWxkIHVzZSBuZXdUYXJnZXQncyBnbG9iYWxPYmpl
Y3QKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVj
dGF0aW9ucy5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNv
dXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCShyZXZpc2lvbiAyNjA4NDIpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgko
d29ya2luZyBjb3B5KQpAQCAtMTQsNiArMTQsMTEgQEAKICAgICAiY3NzL2dlb21ldHJ5IjogImlt
cG9ydCIsIAogICAgICJjc3Mvc3VwcG9ydCI6ICJpbXBvcnQiLCAKICAgICAiY3VzdG9tLWVsZW1l
bnRzIjogImltcG9ydCIsIAorICAgICJwYWludC10aW1pbmcvIjogImltcG9ydCIsIAorICAgICJw
YWludC10aW1pbmcvZmNwLW9ubHkiOiAiaW1wb3J0IiwgCisgICAgInBhaW50LXRpbWluZy9yZXNv
dXJjZXMiOiAiaW1wb3J0IiwgCisgICAgInBhaW50LXRpbWluZy9yZXNvdXJjZXMvIjogImltcG9y
dCIsIAorICAgICJyZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiOiAiaW1wb3J0IiwgCiAgICAgInNo
YWRvdy1kb20iOiAiaW1wb3J0IiwgCiAgICAgInRvb2xzIjogImltcG9ydCIsIAogICAgICJ3ZWIt
YW5pbWF0aW9ucyI6ICJpbXBvcnQiLCAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNp
emUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNp
emUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5k
LXNpemUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNT
IEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQgc2l6ZS4gCisK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1iYWNrZ3JvdW5kLXNpemUuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3AtYmFja2dyb3VuZC1zaXplLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWJhY2tncm91bmQtc2l6ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjgg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGlt
aW5nIFRlc3Q6IEZDUCBkdWUgdG8gYmFja2dyb3VuZCBzaXplPC90aXRsZT4KKzxzdHlsZT4KKyAg
ICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEw
MHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1
cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgYmFja2dyb3VuZC1zaXplOiAw
IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3Rf
ZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgYmFja2dyb3Vu
ZC1zaXplOiAxMDAlIDEwMCU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rp
dj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMg
ZHVlIHRvIGJhY2tncm91bmQgc2l6ZS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNldC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUg
dG8gYmFja2dyb3VuZCBpbWFnZSBpbiBpbWFnZS1zZXQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
YmctaW1hZ2Utc2V0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXNl
dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1iZy1pbWFnZS1zZXQuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGJhY2tncm91
bmQgaW1hZ2UgaW4gaW1hZ2Utc2V0PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAv
KiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAg
ICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWlt
YWdlLXNldCh1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKSAxeCk7CisgICAgICAgIGJhY2tn
cm91bmQtaW1hZ2U6IGltYWdlLXNldCh1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKSAxeCk7
CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91
dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAg
dGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGJhY2tncm91bmQg
aW1hZ2UgaW4gaW1hZ2Utc2V0LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9mY3Atb25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkgd2hlbiB2aXNpYmxlLiAKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWJnLWltYWdlLXR3by1zdGVwcy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1iZy1pbWFnZS10d28tc3RlcHMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtYmctaW1hZ2UtdHdvLXN0ZXBzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWlu
dCBUaW1pbmcgVGVzdDogRkNQIHNob3VsZCBmaXJlIGZvciBiYWNrZ3JvdW5kIGltYWdlIG9ubHkg
d2hlbiB2aXNpYmxlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRo
OiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50
ZnVsIGFuZCBwcmVGQ1AgY2xhc3NlcyBhcmUgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICov
CisgICAgI21haW4ucHJlRkNQIHsKKyAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOworICAgIH0K
KworICAgICNtYWluLmNvbnRlbnRmdWwsICAjbWFpbi5wcmVGQ1AgeworICAgICAgICBiYWNrZ3Jv
dW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAj
bWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKKyAgICB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgi
Rmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBmb3IgYmFja2dyb3VuZCBpbWFnZSBvbmx5IHdo
ZW4gdmlzaWJsZS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3At
b25seS9mY3AtY2FudmFzLWNvbnRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1jYW52YXMtY29udGV4dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWNhbnZhcy1jb250ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDMgQEAKKworUEFTUyBDYW52YXMgc2hvdWxkIGNvdW50IGFzIGNvbnRlbnRmdWwgd2hl
biBjb250ZXh0IGlzIGNyZWF0ZWQgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4
dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1jYW52YXMtY29udGV4dC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+
UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCB3aGVuIGNhbnZhcyBjb250ZXh0IGlz
IGNyZWF0ZWQ8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjUwIiBoZWlnaHQ9
IjUwIj48L2NhbnZhcz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAg
ICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFp
bnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5v
Rmlyc3RDb250ZW50ZnVsUGFpbnQodCk7CisgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NhbnZhcycpOworICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29u
dGV4dCgnMmQnKTsKKyAgICBjb250ZXh0LmZpbGxSZWN0KDAsIDAsIDEwMCwgMTAwKTsKKyAgICBh
d2FpdCBhc3NlcnRGaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgJ0NhbnZhcyBzaG91bGQg
Y291bnQgYXMgY29udGVudGZ1bCB3aGVuIGNvbnRleHQgaXMgY3JlYXRlZCcpOworPC9zY3JpcHQ+
Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWdyYWRpZW50LWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtZ3JhZGllbnQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEdyYWRpZW50cyBzaG91bGQgbm90IGNv
dW50IGFzIGNvbnRlbnRmdWwgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5n
L2ZjcC1vbmx5L2ZjcC1ncmFkaWVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGlt
aW5nIFRlc3Q6IEZDUCBzaG91bGQgbm90IGZpcmUgd2l0aCBncmFkaWVudC1vbmx5IGJhY2tncm91
bmRzPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsK
KyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFy
LWdyYWRpZW50KHRvIGJvdHRvbSwgb3JhbmdlLCBibHVlKTsKKyAgICB9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxk
aXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4g
eworICAgICAgYXNzZXJ0X3ByZWNvbmRpdGlvbih3aW5kb3cuUGVyZm9ybWFuY2VQYWludFRpbWlu
ZywgIlBhaW50IFRpbWluZyBpc24ndCBzdXBwb3J0ZWQuIik7CisgICAgICBhd2FpdCBuZXcgUHJv
bWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikpOworICAgICAgYXdh
aXQgYXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgfSwgICdHcmFkaWVudHMgc2hv
dWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3Rh
dGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0IEBACitUZXh0CisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBm
aXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90YXRpbmcgaW50byB2aWV3LiAKKwpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZGVzY2VuZGFudC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWRlc2NlbmRhbnQu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLTNkLXJvdGF0ZS1k
ZXNjZW5kYW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQ
IGR1ZSB0byAzZCByZXZlYWxpbmcgb2YgZGVzY2VuZGFudHM8L3RpdGxlPgorPHN0eWxlPgorICAg
ICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAg
dG9wOiAwOworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNDVkZWcpOworICAgICAgICB0cmFu
c2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOworICAgIH0KKworICAgIC8qCisgICAgICAgVGhpcyB0
ZXN0cyB0aGF0IGdpdmVuIG11bHRpcGxpY2F0aW9uIGVmZmVjdCBvZiAzZCB0cmFuc2Zvcm1zIG9u
IGJvdW5kaW5nIHJlY3QsCisgICAgICAgQW4gZWxlbWVudCBjb3VudHMgYXMgY29udGVudGZ1bC9w
YWludGFibGUgb25seSB3aGVuIGl0cyBib3VuZGluZyByZWN0IGlzIHRydWx5IG5vbi1lbXB0eSAq
LworICAgICNjaGlsZCB7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCg0NWRlZyk7CisgICAg
fQorCisgICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlw
dC4gKi8KKyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOwor
ICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRp
bHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+CisgICAgPGRpdiBpZD0iY2hpbGQiPlRl
eHQ8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gaXRzIGFuY2VzdG9yIGdldHRpbmcgcm90YXRpbmcgaW50byB2
aWV3LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLTNkLXJvdGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLWludmlzaWJsZS0zZC1yb3RhdGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtM2Qtcm90YXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDQgQEAKK1RleHQKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byAzZCByb3RhdGlvbiBpbnRvIHZpZXcuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
aW52aXNpYmxlLTNkLXJvdGF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZp
c2libGUtM2Qtcm90YXRlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlz
aWJsZS0zZC1yb3RhdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0
OiBGQ1AgZHVlIHRvIDNkIHJvdGF0aW9uIGludG8gdmlldzwvdGl0bGU+Cis8c3R5bGU+CisgICAg
I21haW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDkwZGVnKTsKKyAg
ICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAg
LyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAg
ICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBub25lOworICAgIH0KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwv
c2NyaXB0PgorPGRpdiBpZD0ibWFpbiI+VGV4dDwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2Zj
cCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gM2Qgcm90YXRpb24gaW50byB2
aWV3LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1p
bnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1p
bnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1pbnZpc2libGUtc2NhbGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHNjYWxlIGJl
Y29taW5nIHBvc2l0aXZlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10
cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNp
YmxlLXNjYWxlLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1v
bmx5L2ZjcC1pbnZpc2libGUtc2NhbGUtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0IEBACitURVhUCisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWlu
dCBmaXJlcyB3aGVuIHJldmVhbGVkIGR1cmluZyB0cmFuc2l0aW9uLiAKKwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNw
LW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS1zY2FsZS10cmFuc2l0aW9uLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Q
ZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGluIHRyYW5zaXRpb248L3RpdGxlPgor
PHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRyYW5zZm9ybTogc2NhbGUo
MCk7CisgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxczsKKyAgICAgICAgcG9zaXRpb246
IHJlbGF0aXZlOworICAgICAgICB0b3A6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBj
bGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8KKyAgICAjbWFpbi5jb250ZW50
ZnVsIHsKKyAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKKyAgICB9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxk
aXYgaWQ9Im1haW4iPlRFWFQ8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNv
bnRlbnRmdWwgcGFpbnQgZmlyZXMgd2hlbiByZXZlYWxlZCBkdXJpbmcgdHJhbnNpdGlvbi4iKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJs
ZS1zY2FsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtc2NhbGUu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXNjYWxlLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBzY2FsZSBj
aGFuZ2U8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4
OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRy
YW5zZm9ybTogc2NhbGUoMCk7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAg
dG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNs
ZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4g
dGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFu
c2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxz
Y3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRv
IHNjYWxlIGJlY29taW5nIHBvc2l0aXZlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLWludmlzaWJsZS10ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtaW52aXNpYmxlLXRleHQtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorSU5WSVNJQkxFCisKK1BBU1MgRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4gCisK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2Zj
cC1vbmx5L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1pbnZpc2libGUtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5n
IFRlc3Q6IEZDUCBzaG91bGQgc3RpbGwgZmlyZSBmb3IgaW52aXNpYmxlIHRleHQ8L3RpdGxlPgor
PHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAg
ICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIHZpc2liaWxp
dHk6IGhpZGRlbjsKKyAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CisgICAgfQorCisg
ICAgLyogY29udGVudGZ1bCBjbGFzcyBpcyBkZWZpbmVkIGluIHRlc3RfZmNwIHNjcmlwdC4gKi8K
KyAgICAjbWFpbi5jb250ZW50ZnVsIHsKKyAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKKyAg
ICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxz
LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgorICAgIElOVklTSUJMRQorPC9kaXY+Cis8
c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0
byBwc2V1ZG8tZWxlbWVudCBiZWNvbWluZyB2aXNpYmxlLiIpCis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGV4dAorCitQQVNT
IEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIGl0cyBhbmNlc3RvciBnZXR0aW5n
IHBvc2l0aXZlIG9wYWNpdHkuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS1kZXNjZW5k
YW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHktZGVzY2VuZGFudC5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWRlc2NlbmRhbnQuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGFuY2Vz
dG9yIG9wYWNpdHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6
IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAg
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgIH0KKworICAgICNj
aGlsZCB7CisgICAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorCisgICAgLyogY29udGVudGZ1bCBh
bmQgaW50ZXJtZWRpYXRlIGNsYXNzZXMgYXJlIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAq
LworICAgICNtYWluLmNvbnRlbnRmdWwgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0eTogMTsKKyAg
ICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgI2NoaWxkIHsKKyAgICAgICAgb3BhY2l0eTog
MTsKKyAgICB9CisKKyAgICAjbWFpbi5pbnRlcm1lZGlhdGUgeworICAgICAgICBvcGFjaXR5OiAw
OworICAgIH0KKworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFjaXR5OiAwLjU7
CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91
dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJjaGlsZCI+
VGV4dDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBpdHMgYW5jZXN0b3IgZ2V0dGluZyBwb3NpdGl2ZSBvcGFj
aXR5LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
b3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vcGFjaXR5LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250
ZW50ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBvcGFjaXR5LXJldmVhbGVkIGVsZW1lbnQuIAorCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3BhY2l0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vcGFjaXR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW9wYWNpdHkuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIG9wYWNp
dHk8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdl
OiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICAgICAgb3BhY2l0eTogMDsKKyAg
ICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2Ny
aXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgeworICAgICAgICBvcGFjaXR5OiAwLjE7Cisg
ICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVz
dF9mY3AoIkZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIG9wYWNpdHktcmV2ZWFs
ZWQgZWxlbWVudC4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3Atb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaW50ZXJz
ZWN0aW9uIHdpdGggZG9jdW1lbnQuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5k
cy10cmFuc2xhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1vdXQt
b2YtYm91bmRzLXRyYW5zbGF0ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLW91dC1vZi1ib3VuZHMtdHJhbnNsYXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIGR1
ZSB0byB0cmFuc2Zvcm0tYmFzZWQgaW50ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIAorCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRp
bWluZy9mY3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy10cmFuc2xhdGUuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBl
cmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBp
bnRlcnNlY3Rpb24gd2l0aCBkb2N1bWVudDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4gewor
ICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxl
ZnQ6IDBweDsKKyAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMDBweCk7CisgICAgICAg
IHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgdG9wOiAwOworICAgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9CisKKyAgICAvKiBj
b250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNt
YWluLmNvbnRlbnRmdWwgeworICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJtYWluIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVzdF9mY3AoIkZpcnN0
IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHRyYW5zZm9ybS1iYXNlZCBpbnRlcnNlY3Rp
b24gd2l0aCBkb2N1bWVudC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9m
Y3Atb25seS9mY3Atb3V0LW9mLWJvdW5kcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2Zj
cC1vdXQtb2YtYm91bmRzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLW91dC1v
Zi1ib3VuZHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Ag
ZHVlIHRvIGludGVyc2VjdGlvbiB3aXRoIGRvY3VtZW50PC90aXRsZT4KKzxzdHlsZT4KKyAgICAj
bWFpbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgbGVmdDogLTEwMDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAg
ICB0b3A6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2ly
Y2xlcy5wbmcpOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBp
biB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bCB7CisgICAgICAgIGxl
ZnQ6IDBweDsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPjwvZGl2PgorPHNjcmlw
dD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gaW50
ZXJzZWN0aW9uIHdpdGggZG9jdW1lbnQuIikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXktZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5LWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxh
eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRmly
c3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgdGV4dC4gCisK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWRpc3BsYXkuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtZGlzcGxheS5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+
UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQg
dGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVs
YXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICB9CisKKyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAg
ICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRl
ZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIg
eworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1h
aW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1pbWFnZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdl
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1l
bnQtaW1hZ2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQ
QVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBzZXVkby1lbGVtZW50IGlt
YWdlLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LWltYWdlLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVzdDogRkNQIGR1ZSB0byBwc2V1ZG8tZWxlbWVu
dCBpbWFnZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjog
cmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVzdF9mY3Ag
c2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAgICAgICBjb250ZW50
OiB1cmwoLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nKTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYg
aWQ9Im1haW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50
ZnVsIHBhaW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBpbWFnZS4iKQorPC9zY3JpcHQ+
Cis8L2JvZHk+CisKKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC1v
cGFjaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVs
ZW1lbnQtb3BhY2l0eS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNw
LXBzZXVkby1lbGVtZW50LW9wYWNpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMyBAQAorCitQQVNTIEZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgZmlyZXMgZHVlIHRvIHBz
ZXVkby1lbGVtZW50IGdldHRpbmcgcG9zaXRpdmUgb3BhY2l0eS4gCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC1wc2V1ZG8tZWxlbWVudC1vcGFjaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkv
ZmNwLXBzZXVkby1lbGVtZW50LW9wYWNpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtb3BhY2l0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFp
bnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgZ2V0dGluZyBwb3NpdGl2
ZSBvcGFjaXR5PC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAgICAgIHBvc2l0aW9u
OiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgIH0KKworICAgICNtYWluOmFmdGVyIHsKKyAgICAgICAgY29udGVudDogIlRFWFQiOwor
ICAgICAgICBvcGFjaXR5OiAwOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMg
ZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRl
ciB7CisgICAgICAgIG9wYWNpdHk6IDAuNTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1h
aW4iPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBh
aW50IGZpcmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCBnZXR0aW5nIHBvc2l0aXZlIG9wYWNpdHku
IikKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LXRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1w
c2V1ZG8tZWxlbWVudC10ZXh0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25s
eS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8g
cHNldWRvLWVsZW1lbnQgdGV4dC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVu
dC10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXRl
eHQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRvLWVsZW1lbnQtdGV4
dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgor
PGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8g
cHNldWRvLWVsZW1lbnQgdGV4dDwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAg
ICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQg
aW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWw6YWZ0ZXIgeworICAg
ICAgICBjb250ZW50OiAiVEVYVCIKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgor
PC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZp
cmVzIGR1ZSB0byBwc2V1ZG8tZWxlbWVudCB0ZXh0LiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKwor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVkby1lbGVtZW50LXZpc2liaWxpdHktZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8tZWxlbWVudC12aXNp
YmlsaXR5LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtcHNldWRv
LWVsZW1lbnQtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzIEBACisKK1BBU1MgRmlyc3QgY29udGVudGZ1bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRv
LWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1wc2V1ZG8t
ZWxlbWVudC12aXNpYmlsaXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXBzZXVk
by1lbGVtZW50LXZpc2liaWxpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3At
cHNldWRvLWVsZW1lbnQtdmlzaWJpbGl0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQg
VGltaW5nIFRlc3Q6IEZDUCBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZTwv
dGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisK
KyAgICAjbWFpbjphZnRlciB7CisgICAgICAgIGNvbnRlbnQ6ICJURVhUIjsKKyAgICAgICAgdmlz
aWJpbGl0eTogaGlkZGVuOworICAgIH0KKworICAgIC8qIGNvbnRlbnRmdWwgY2xhc3MgaXMgZGVm
aW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4uY29udGVudGZ1bDphZnRlciB7
CisgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlk
PSJtYWluIj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICB0ZXN0X2ZjcCgiRmlyc3QgY29udGVudGZ1
bCBwYWludCBmaXJlcyBkdWUgdG8gcHNldWRvLWVsZW1lbnQgYmVjb21pbmcgdmlzaWJsZS4iKQor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdo
ZW4gU1ZHIGJlY29tZXMgY29udGVudGZ1bC4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC1zdmcuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atc3ZnLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXN2Zy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDAgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRl
c3Q6IEZDUCB3aXRoIFNWRzwvdGl0bGU+Cis8c3R5bGU+CisgICAgI21haW4geworICAgICAgICB3
aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsK
KyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgIH0KKworICAgICNjaXJjbGUgeworICAg
ICAgZGlzcGxheTogbm9uZTsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRl
ZmluZWQgaW4gdGVzdF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgI2NpcmNs
ZSB7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0i
bWFpbiI+CisgIDxzdmcgdmlld0JveD0iMCAwIDEwIDEwIiB4bWxucz0iaHR0cDovL3d3dy53My5v
cmcvMjAwMC9zdmciCisgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hs
aW5rIj4KKyAgICA8ZGVmcz4KKyAgICAgIDxjaXJjbGUgaWQ9Im15Q2lyY2xlIiBjeD0iNSIgY3k9
IjUiIHI9IjQiIHN0cm9rZT0iYmx1ZSIvPgorICAgIDwvZGVmcz4KKyAgICA8dXNlIGlkPSJjaXJj
bGUiIGhyZWY9IiNteUNpcmNsZSIgZmlsbD0iZ3JlZW4iIC8+CisgIDwvc3ZnPgorPC9kaXY+Cis8
c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBjb250ZW50ZnVsIHBhaW50IGZpcmVzIHdoZW4g
U1ZHIGJlY29tZXMgY29udGVudGZ1bC4iKQorPC9zY3JpcHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9mY3Atb25seS9mY3AtdGV4dC1pbnB1dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNCBAQAorCisKK1BBU1MgVGV4dCBpbnB1dCBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwg
d2hlbiBpdHMgdmFsdWUgaXMgbm9uLWVtcHR5IAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdGV4dC1p
bnB1dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10ZXh0LWlucHV0Lmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXRleHQtaW5wdXQuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZv
cm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIGZvciBub24tZW1wdHkgdGV4dCBpbnB1
dDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdXRp
bHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPGlucHV0IGlkPSJpbnB1dCIgdHlwZT0idGV4dCIgLz4KKzxzY3JpcHQ+Cisg
IHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRpb24od2lu
ZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3VwcG9ydGVk
LiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQo
dCk7CisgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dCcp
OworICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsICcgICcpOworICAgICAgYXdhaXQg
YXNzZXJ0Tm9GaXJzdENvbnRlbnRmdWxQYWludCh0KTsKKyAgICAgIGlucHV0LnNldEF0dHJpYnV0
ZSgndmFsdWUnLCAndmFsdWUnKTsKKyAgICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBh
aW50KHQpOworICB9LCAnVGV4dCBpbnB1dCBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBp
dHMgdmFsdWUgaXMgbm9uLWVtcHR5Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGlt
aW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQt
dGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1ZG8tZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorQQorCitQQVNTIEZpcnN0IGNvbnRlbnRm
dWwgcGFpbnQgZmlyZXMgb25seSB3aGVuIHNvbWUgb2YgdGhlIHRleHQgaXMgdmlzaWJsZSwgY29u
c2lkZXJpbmcgOjpmaXJzdC1sZXR0ZXIuIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdHlwb2dyYXBo
aWMtcHNldWRvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXR5cG9ncmFwaGljLXBz
ZXVkby5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC10eXBvZ3JhcGhpYy1wc2V1
ZG8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxoZWFkPgorPHRpdGxlPlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1Agc2hvdWxk
IG5vdCBmaXJlIHdoZW4gYWxsIHRleHQgaXMgaGlkZGVuIGR1ZSB0byB0eXBvZ3JhcGhpYyBwc2V1
ZG8tZWxlbWVudHM8L3RpdGxlPgorPHN0eWxlPgorICAgICNtYWluIHsKKyAgICAgICAgcG9zaXRp
b246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgfQorCisgICAgI21haW4gKjo6Zmlyc3QtbGV0dGVyIHsKKyAgICAgICAgb3BhY2l0
eTogMDsKKyAgICB9CisKKyAgICAvKiBjb250ZW50ZnVsIGNsYXNzIGlzIGRlZmluZWQgaW4gdGVz
dF9mY3Agc2NyaXB0LiAqLworICAgICNtYWluLmNvbnRlbnRmdWwgKjo6Zmlyc3QtbGV0dGVyIHsK
KyAgICAgICAgb3BhY2l0eTogMTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Im1haW4iPgor
ICAgIDxkaXY+QTwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICAgIHRlc3RfZmNwKCJGaXJzdCBj
b250ZW50ZnVsIHBhaW50IGZpcmVzIG9ubHkgd2hlbiBzb21lIG9mIHRoZSB0ZXh0IGlzIHZpc2li
bGUsIGNvbnNpZGVyaW5nIDo6Zmlyc3QtbGV0dGVyLiIpCis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1mcmFtZS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWlu
dC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLWZyYW1lLWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50
LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgVmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50
ZnVsIHdoZW4gZmlyc3QgZnJhbWUgaXMgbG9hZGVkIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atdmlk
ZW8tZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tZnJhbWUuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxl
PlBlcmZvcm1hbmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRlZCB2aWRlbyBm
cmFtZTwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
dXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHZpZGVvIGlkPSJ2aWRlbyIgYXV0b3BsYXk+PC92aWRlbz4KKzxzY3Jp
cHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVjb25kaXRp
b24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNuJ3Qgc3Vw
cG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVs
UGFpbnQodCk7CisgICAgICAvLyBTZXQgYWN0dWFsIHZpZGVvIGNvbnRlbnQgdG8gdHJpZ2dlciBG
Q1AuCisgICAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2aWRlbycp
OworICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdzcmMnLCAnL21lZGlhL3Rlc3QubXA0Jyk7Cisg
ICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgdmlkZW8ub25jYW5w
bGF5ID0gcmVzb2x2ZTsKKyAgICAgIH0pOworICAgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50
ZnVsUGFpbnQodCk7CisgIH0sICdWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hlbiBm
aXJzdCBmcmFtZSBpcyBsb2FkZWQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1p
bmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcv
ZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw0IEBACisKKworUEFTUyBWaWRlbyBzaG91bGQgYmVjb21lIGNvbnRlbnRmdWwgd2hl
biBwb3N0ZXIgaXMgbG9hZGVkIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3AtdmlkZW8tcG9zdGVyLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXZpZGVvLXBvc3Rlci5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFp
bnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC12aWRlby1wb3N0ZXIuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHRpdGxlPlBlcmZvcm1h
bmNlIFBhaW50IFRpbWluZyBUZXN0OiBGQ1AgZHVlIHRvIGxvYWRlZCB2aWRlbyBwb3N0ZXI8L3Rp
dGxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzx2aWRlbyBpZD0idmlkZW8iIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC92aWRlbz4K
KzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3NlcnRfcHJlY29u
ZGl0aW9uKHdpbmRvdy5QZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0
IHN1cHBvcnRlZC4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgcikpOworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVs
UGFpbnQodCk7CisgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmlk
ZW8nKTsKKyAgICBjb25zdCBzcmMgPSAnLi4vcmVzb3VyY2VzL2NpcmNsZXMucG5nJzsKKyAgICBj
b25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpOworICAgIGltYWdlLnNyYyA9IHNyYzsKKyAgICB2aWRl
by5zZXRBdHRyaWJ1dGUoJ3Bvc3RlcicsIHNyYyk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB7CisgICAgICAgIGltYWdlLm9ubG9hZCA9IGFzeW5jICgpID0+IHJlc29sdmUoKTsK
KyAgICB9KQorICAgIGF3YWl0IGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICB9LCAn
VmlkZW8gc2hvdWxkIGJlY29tZSBjb250ZW50ZnVsIHdoZW4gcG9zdGVyIGlzIGxvYWRlZCcpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFj
ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3BhY2UtZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aGl0ZXNwYWNlLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1RFWFQKKworUEFTUyBXaGl0
ZXNwYWNlIHNob3VsZCBub3QgY291bnQgYXMgY29udGVudGZ1bC4gCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5
L2ZjcC13aGl0ZXNwYWNlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdoaXRlc3Bh
Y2UuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2hpdGVzcGFjZS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
dGl0bGU+UGVyZm9ybWFuY2UgUGFpbnQgVGltaW5nIFRlc3Q6IFdoaXRlc3BhY2Ugc2hvdWxkIG5v
dCBjb3VudCBhcyBjb250ZW50ZnVsPC90aXRsZT4KKzxzdHlsZT4KKyAgICAjbWFpbiB7CisgICAg
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2Vz
L2NpcmNsZXMucG5nKTsKKyAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDA7CisgICAgfQorCisg
ICAgI3RleHQgeworICAgICAgICBkaXNwbGF5OiBub25lOworICAgIH0KKworICAgIC8qIGNvbnRl
bnRmdWwgY2xhc3MgaXMgZGVmaW5lZCBpbiB0ZXN0X2ZjcCBzY3JpcHQuICovCisgICAgI21haW4u
Y29udGVudGZ1bCAjdGV4dHsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJtYWluIj4KKyAgICA8ZGl2IGlkPSJ3aGl0ZXNwYWNlIj4gICA8L2Rpdj4K
KyAgICA8ZGl2IGlkPSJ0ZXh0Ij5URVhUPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgdGVz
dF9mY3AoIldoaXRlc3BhY2Ugc2hvdWxkIG5vdCBjb3VudCBhcyBjb250ZW50ZnVsLiIpCis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL2ZjcC1vbmx5L2ZjcC13aXRoLXJ0bC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BhaW50LXRpbWluZy9mY3Atb25seS9mY3Atd2l0aC1ydGwtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVEVYVAorCitQQVNTIEZDUCBzaG91bGQgZmly
ZSB3aGVuIGNvb3JkaW5hdGVzIGFyZSBuZWdhdGl2ZSwgaWYgd2l0aGluIGRvY3VtZW50IHNjcm9s
bGFibGUgYXJlYSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10
aW1pbmcvZmNwLW9ubHkvZmNwLXdpdGgtcnRsLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvZmNwLW9u
bHkvZmNwLXdpdGgtcnRsLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5QZXJmb3JtYW5jZSBQYWludCBUaW1pbmcgVGVz
dDogRkNQIGR1ZSB0byBkaXJlY3Rpb24gY2hhbmdlPC90aXRsZT4KKzxzdHlsZT4KKyAgI3RleHQg
eworICAgIHJpZ2h0OiAtMTAwcHg7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICB9CisKKyAg
Ym9keSB7CisgICAgZGlyZWN0aW9uOiBydGw7CisgIH0KKworICAjZHVtbXkgeworICAgIGJhY2tn
cm91bmQ6IHllbGxvdzsKKyAgICB3aWR0aDogMTBweDsKKyAgICBoZWlnaHQ6IDEwcHg7CisgICAg
cG9zaXRpb246IGFic29sdXRlOworICAgIGxlZnQ6IDA7CisgICAgdG9wOiAwOworICB9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3V0aWxzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxkaXYgaWQ9ImR1bW15Ij48L2Rpdj4KKzxkaXYgaWQ9InRleHQiPlRFWFQ8L2Rpdj4K
KzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGFzc2VydF9wcmVj
b25kaXRpb24od2luZG93LlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcsICJQYWludCBUaW1pbmcgaXNu
J3Qgc3VwcG9ydGVkLiIpOworICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcignbG9hZCcsIHIpKTsKKyAgICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250
ZW50ZnVsUGFpbnQodCk7CisgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmRpcmVjdGlvbiA9ICds
dHInCisgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVtbXknKS5zdHlsZS5iYWNrZ3Jv
dW5kID0gJ2dyZWVuJworICAgICAgYXdhaXQgYXNzZXJ0Rmlyc3RDb250ZW50ZnVsUGFpbnQodCk7
CisgIH0sICdGQ1Agc2hvdWxkIGZpcmUgd2hlbiBjb29yZGluYXRlcyBhcmUgbmVnYXRpdmUsIGlm
IHdpdGhpbiBkb2N1bWVudCBzY3JvbGxhYmxlIGFyZWEnKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3Vy
Y2VzL2NpcmNsZS5zdmcJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2NpcmNsZS5zdmcJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIj4KKyAgIDxjaXJjbGUgY3g9IjEwMCIgY3k9IjUwIiBy
PSI0MCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiAvPgorPC9z
dmc+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
aW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWlu
Zy9yZXNvdXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNv
dXJjZXMvc3ViZnJhbWUtcGFpbnRpbmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPGRpdiBpZD0iaW1hZ2UiPjwvZGl2PgorPHNj
cmlwdD4KKyAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnSU1HJyk7CisgIGlt
Zy5zcmMgPSAnY2lyY2xlcy5wbmcnOworICBpbWcub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAg
ZnVuY3Rpb24gc2VuZFBhaW50RW50cmllcygpIHsKKyAgICAgIGNvbnN0IHBhaW50RW50cmllcyA9
IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3BhaW50Jyk7CisgICAgICBpZiAocGFpbnRF
bnRyaWVzLmxlbmd0aCA8IDIpIHsKKyAgICAgICAgc2V0VGltZW91dChzZW5kUGFpbnRFbnRyaWVz
LCAyMCk7CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAgIGxldCBlbnRyeUNvbnRlbnRz
ID0gcGFpbnRFbnRyaWVzLmxlbmd0aCArICcnOworICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBw
YWludEVudHJpZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgY29uc3QgZW50cnkgPSBwYWludEVu
dHJpZXNbaV07CisgICAgICAgIGVudHJ5Q29udGVudHMgKz0gJyAnICsgZW50cnkuZW50cnlUeXBl
ICsgJyAnICArIGVudHJ5Lm5hbWU7CisgICAgICB9CisgICAgICBwYXJlbnQucG9zdE1lc3NhZ2Uo
ZW50cnlDb250ZW50cywgJyonKTsKKyAgICB9OworICAgIHNlbmRQYWludEVudHJpZXMoKTsKKyAg
fTsKKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltYWdlJykuYXBwZW5kQ2hpbGQoaW1nKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3N1YmZyYW1lLXNl
bmRpbmctcGFpbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvc3ViZnJhbWUtc2VuZGlu
Zy1wYWludC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy9zdWJmcmFtZS1zZW5kaW5n
LXBhaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8c2NyaXB0PgorICBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlv
bihlKSB7CisgICAgLy8gU2VuZCBwYWludC10aW1pbmcgZW50cmllcyB1cG9uIHJlY2VpdmluZyBh
IG1lc3NhZ2UuCisgICAgY29uc3QgcGFpbnRFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5VHlwZSgncGFpbnQnKTsKKyAgICBsZXQgZW50cnlDb250ZW50cyA9IHBhaW50RW50cmllcy5s
ZW5ndGggKyAnJzsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhaW50RW50cmllcy5sZW5ndGg7
IGkrKykgeworICAgICAgY29uc3QgZW50cnkgPSBwYWludEVudHJpZXNbaV07CisgICAgICBlbnRy
eUNvbnRlbnRzICs9ICcgJyArIGVudHJ5LmVudHJ5VHlwZSArICcgJyAgKyBlbnRyeS5uYW1lOwor
ICAgIH0KKyAgICBwYXJlbnQucG9zdE1lc3NhZ2UoZW50cnlDb250ZW50cywgJyonKTsKKyAgfSk7
Cis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGFpbnQtdGltaW5nL3Jlc291cmNlcy91dGlscy5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNv
dXJjZXMvdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL3V0aWxzLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIHdhaXRGb3JBbmltYXRpb25GcmFt
ZXMoY291bnQpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGlmIChj
b3VudC0tIDw9IDApIHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9IGVsc2UgeworICAgICAgcmVx
dWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgd2FpdEZvckFuaW1hdGlvbkZyYW1l
cyhjb3VudCkudGhlbihyZXNvbHZlKTsKKyAgICAgIH0pOworICAgIH0KKyAgfSk7Cit9CisKKy8v
IEFzc2VydHMgdGhhdCB0aGVyZSBpcyBjdXJyZW50bHkgbm8gRkNQIHJlcG9ydGVkLiBQYXNzIHQg
dG8gYWRkIHNvbWUgd2FpdCwgaW4gY2FzZSBDU1MgaXMgbG9hZGVkCisvLyBhbmQgRkNQIGlzIGlu
Y29ycmVjdGx5IGZpcmVkIGFmdGVyd2FyZHMuCithc3luYyBmdW5jdGlvbiBhc3NlcnROb0ZpcnN0
Q29udGVudGZ1bFBhaW50KHQpIHsKKyAgYXdhaXQgd2FpdEZvckFuaW1hdGlvbkZyYW1lcygzKTsK
KyAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1jb250
ZW50ZnVsLXBhaW50JykubGVuZ3RoLCAwLCAnRmlyc3QgY29udGVudGZ1bCBwYWludCBtYXJrZWQg
dG9vIGVhcmx5LiAnKTsKK30KKworLy8gRnVuY3Rpb24gdGhhdCBpcyByZXNvbHZlZCBvbmNlIEZD
UCBpcyByZXBvcnRlZCwgdXNpbmcgUGVyZm9ybWFuY2VPYnNlcnZlci4gSXQgcmVqZWN0cyBhZnRl
ciBhIGxvbmcKKy8vIHdhaXQgdGltZSBzbyB0aGF0IGZhaWxpbmcgdGVzdHMgZG9uJ3QgdGltZW91
dC4KK2FzeW5jIGZ1bmN0aW9uIGFzc2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQpIHsKKyAgcmV0
dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgID0+IHsKKyAgICBmdW5jdGlvbiBjaGVja0ZDUCgpIHsK
KyAgICAgIGlmIChwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVs
LXBhaW50JykubGVuZ3RoID09PSAxKSB7CisgICAgICAgIHJlc29sdmUoKTsKKyAgICAgIH0gZWxz
ZSB7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShjaGVja0ZDUCkKKyAgICAgIH0KKyAg
ICB9CisgICAgdC5zdGVwKGNoZWNrRkNQKTsKKyAgfSk7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRl
c3RfZmNwKGxhYmVsKSB7CisgIGNvbnN0IHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
c3R5bGUnKTsKKyAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7CisgIGF3YWl0IHBy
b21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3NlcnRfcHJlY29uZGl0aW9uKHdpbmRvdy5Q
ZXJmb3JtYW5jZVBhaW50VGltaW5nLCAiUGFpbnQgVGltaW5nIGlzbid0IHN1cHBvcnRlZC4iKTsK
KyAgICBjb25zdCBtYWluID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW4nKTsKKyAgICBh
d2FpdCBuZXcgUHJvbWlzZShyID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcikp
OworICAgIGF3YWl0IGFzc2VydE5vRmlyc3RDb250ZW50ZnVsUGFpbnQodCk7CisgICAgbWFpbi5j
bGFzc05hbWUgPSAncHJlRkNQJzsKKyAgICBhd2FpdCBhc3NlcnROb0ZpcnN0Q29udGVudGZ1bFBh
aW50KHQpOworICAgIG1haW4uY2xhc3NOYW1lID0gJ2NvbnRlbnRmdWwnOworICAgIGF3YWl0IGFz
c2VydEZpcnN0Q29udGVudGZ1bFBhaW50KHQpOworICB9LCBsYWJlbCk7Cit9CkluZGV4OiBMYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nL3BhaW50LXRpbWluZy1hcGlzLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFp
bnQtdGltaW5nL3BhaW50LXRpbWluZy1hcGlzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nL3BhaW50LXRpbWluZy1h
cGlzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACitCYXNpYyBJ
bnRlcmZhY2UgdGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQZXJmb3JtYW5jZVBhaW50VGltaW5nCitQQVNTIFBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcgaXMgZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5
cGUudG9KU09OIGlzIGRlZmluZWQuCitQQVNTIG5ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3Ig
KGV2YWx1YXRpbmcgJ25ldyBQZXJmb3JtYW5jZVBhaW50VGltaW5nKCknKS4KK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nL3BhaW50LXRpbWluZy1hcGlzLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9wYWlu
dC10aW1pbmctYXBpcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wYWludC10aW1pbmcvcGFpbnQtdGltaW5nLWFwaXMuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9wYWludC10aW1pbmctYXBpLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9wYWludC10aW1pbmcvcGFpbnQtdGltaW5nLWZyYW1lcy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9wYWludC10
aW1pbmctZnJhbWVzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nL3BhaW50LXRpbWluZy1mcmFtZXMtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKK1BhaW50IEFQSSBzaG91bGQgYmUg
YXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0byBjcm9zcy1vcmlnaW4v
c2FuZGJveGVkIGZyYW1lcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
cmVjZWl2ZWRFdmVudC5zb3VyY2UgaXMgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vblNhbmRi
b3hlZCcpLmNvbnRlbnRXaW5kb3cKK1BBU1MgcmVjZWl2ZWRFbnRyeS5uYW1lIGlzICdmaXJzdC1j
b250ZW50ZnVsLXBhaW50JworUEFTUyBkaWRSZWNlaXZlTWVzc2FnZUZyb21TYW5kYm94ZWRJZnJh
bWUgaXMgZmFsc2UKK1BBU1MgQXJyYXkuaXNBcnJheShub25TYW5kYm94U3VwcG9ydGVkVHlwZXMp
IGlzIHRydWUKK1BBU1MgQXJyYXkuaXNBcnJheShzYW5kYm94U3VwcG9ydGVkVHlwZXMpIGlzIHRy
dWUKK1BBU1MgZGlkUmVjZWl2ZU1lc3NhZ2UgaXMgdHJ1ZQorUEFTUyBub25TYW5kYm94U3VwcG9y
dGVkVHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgdHJ1ZQorUEFTUyBzYW5kYm94U3VwcG9ydGVk
VHlwZXMuaW5jbHVkZXMoInBhaW50IikgaXMgZmFsc2UKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZl
ciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBmaXJlZCBmb3Igc2FtZS1vcmln
aW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKworCitURVhUCkluZGV4OiBMYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nL3BhaW50LXRpbWluZy1mcmFtZXMuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5n
L3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nL3BhaW50LXRpbWluZy1mcmFtZXMuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDY3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorICAgIDxpZnJh
bWUgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGlkPSJub25TYW5kYm94ZWQiIHNyYz0iLi9yZXNv
dXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwiPjwvaWZyYW1lPgorPGRpdiBjbGFzcz0ic3BhY2VyIj48
L2Rpdj4KKzxpZnJhbWUgaWQ9InNhbmRib3hlZCIgc3JjPSIuL3Jlc291cmNlcy9mY3Atc3ViZnJh
bWUuaHRtbCIgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyI+PC9pZnJhbWU+Cis8ZGl2IGNsYXNzPSJz
cGFjZXIiPjwvZGl2PgorCisgICAgVEVYVAorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50
IEFQSSBzaG91bGQgYmUgYXZhaWxhYmxlIGZvciBzYW1lLW9yaWdpbiBmcmFtZXMgYnV0IG5vdCB0
byBjcm9zcy1vcmlnaW4vc2FuZGJveGVkIGZyYW1lcy4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKK3dpbmRvdy5kaWRSZWNlaXZlTWVzc2FnZSA9IGZhbHNlOworCit3aW5kb3cub25s
b2FkID0gYXN5bmMgKCkgPT4geworICAgIGNvbnN0IHNhbmRib3hlZCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdzYW5kYm94ZWQnKTsKKyAgICBjb25zdCBub25TYW5kYm94ZWQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnbm9uU2FuZGJveGVkJyk7CisgICAgY29uc3QgZmNwTWVzc2FnZVBy
b21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgd2luZG93Lm9ubWVzc2Fn
ZSA9IGV2ZW50ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5yZWNlaXZlZEV2ZW50ID0gZXZlbnQ7
CisgICAgICAgICAgICBjb25zdCBpc0Zyb21TYW5kYm94ZWQgPSBldmVudC5zb3VyY2UgPT09IHNh
bmRib3hlZC5jb250ZW50V2luZG93OworICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IEpTT04u
cGFyc2UoZXZlbnQuZGF0YSk7CisgICAgICAgICAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkgewor
ICAgICAgICAgICAgICAgIGNhc2UgJ3N1cHBvcnRlZCc6CisgICAgICAgICAgICAgICAgICAgIGlm
IChpc0Zyb21TYW5kYm94ZWQpCisgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2FuZGJv
eFN1cHBvcnRlZFR5cGVzID0gbWVzc2FnZS5zdXBwb3J0ZWQ7CisgICAgICAgICAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5ub25TYW5kYm94U3VwcG9ydGVk
VHlwZXMgPSBtZXNzYWdlLnN1cHBvcnRlZDsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICAgICAgY2FzZSAncmVjZWl2ZWQnOgorICAgICAgICAgICAgICAgICAgICB3aW5k
b3cuZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tU2FuZGJveGVkSWZyYW1lID0gaXNGcm9tU2FuZGJveGVk
OworICAgICAgICAgICAgICAgICAgICB3aW5kb3cucmVjZWl2ZWRFbnRyeSA9IG1lc3NhZ2UuZW50
cnk7CisgICAgICAgICAgICAgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlID0gdHJ1ZTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoJ3JlY2VpdmVkRXZlbnQuc291cmNlJywgImRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdub25TYW5kYm94ZWQnKS5jb250ZW50V2luZG93Iik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCdyZWNlaXZlZEVudHJ5Lm5hbWUnLCAiJ2ZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQnIik7CisgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAgfSk7CisK
KyAgICBzYW5kYm94ZWQuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgicGFpbnQiLCAiKiIpOwor
ICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBub25TYW5kYm94ZWQuY29udGVudFdpbmRvdy5w
b3N0TWVzc2FnZSgicGFpbnQiLCAiKiIpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBh
d2FpdCBmY3BNZXNzYWdlUHJvbWlzZTsKKyAgICBzaG91bGRCZUZhbHNlKCdkaWRSZWNlaXZlTWVz
c2FnZUZyb21TYW5kYm94ZWRJZnJhbWUnKTsKKyAgICBzaG91bGRCZVRydWUoJ0FycmF5LmlzQXJy
YXkobm9uU2FuZGJveFN1cHBvcnRlZFR5cGVzKScpOworICAgIHNob3VsZEJlVHJ1ZSgnQXJyYXku
aXNBcnJheShzYW5kYm94U3VwcG9ydGVkVHlwZXMpJyk7CisgICAgc2hvdWxkQmVUcnVlKCdkaWRS
ZWNlaXZlTWVzc2FnZScpOworICAgIHNob3VsZEJlVHJ1ZSgnbm9uU2FuZGJveFN1cHBvcnRlZFR5
cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnc2FuZGJveFN1cHBv
cnRlZFR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFu
Y2VPYnNlcnZlciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhcyBmaXJlZCBmb3Ig
c2FtZS1vcmlnaW4gZnJhbWUgYnV0IG5vdCBmb3IgY3Jvc3Mtb3JpZ2luIGZyYW1lIik7CisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9OworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9wYWludC10aW1pbmct
d2l0aC13b3JrZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wYWludC10aW1pbmcvcGFpbnQtdGltaW5nLXdpdGgtd29ya2VyLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQt
dGltaW5nL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxMyBAQAorUGFpbnQgQVBJIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlIGlu
IHdvcmtlciBjb250ZXh0cy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
UGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIp
IGlzIHRydWUKK1BBU1Mgd29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcygicGFpbnQi
KSBpcyBmYWxzZQorUEFTUyB3b3JrZXJTdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJtYXJr
IikgaXMgdHJ1ZQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMg
ZGlkIG5vdCBpbmNsdWRlICdwYWludCcgZm9yIHdvcmtlcnMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1hcGkvcGFpbnQtdGltaW5nL3BhaW50LXRpbWluZy13aXRoLXdvcmtlci5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmcvcGFpbnQt
dGltaW5nLXdpdGgtd29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9wYWludC10aW1pbmctd2l0aC13b3JrZXIuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlBhaW50IEFQSSBz
aG91bGQgbm90IGJlIGF2YWlsYWJsZSBpbiB3b3JrZXIgY29udGV4dHMuIik7Cit3aW5kb3cuanNU
ZXN0SXNBc3luYyA9IHRydWU7Citjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKCIuL3Jlc291cmNl
cy93b3JrZXIuaHRtbCIpOword29ya2VyLm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgICB3aW5k
b3cud29ya2VyU3VwcG9ydGVkRW50cnlUeXBlcyA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7Cisg
ICAgc2hvdWxkQmVUcnVlKCdQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMu
aW5jbHVkZXMoInBhaW50IiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCd3b3JrZXJTdXBwb3J0ZWRF
bnRyeVR5cGVzLmluY2x1ZGVzKCJwYWludCIpJyk7CisgICAgc2hvdWxkQmVUcnVlKCd3b3JrZXJT
dXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKCJtYXJrIiknKTsKKyAgICB0ZXN0UGFzc2VkKCJQ
ZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgZGlkIG5vdCBpbmNsdWRlICdw
YWludCcgZm9yIHdvcmtlcnMiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK3dvcmtlci5w
b3N0TWVzc2FnZSgic3RhcnQiKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nL3BlcmZvcm1hbmNlLW9i
c2VydmVyLWZpcnN0LWNvbnRlbnRmdWwtcGFpbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmcvcGVyZm9ybWFuY2Utb2Jz
ZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9wZXJmb3JtYW5jZS1v
YnNlcnZlci1maXJzdC1jb250ZW50ZnVsLXBhaW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDEwIEBACitQQVNTIGRpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWludCBp
cyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKS5sZW5ndGggaXMgMQorUEFTUyBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikubGVu
Z3RoIGlzIDEKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgiZmlyc3QtY29udGVu
dGZ1bC1wYWludCIsICJwYWludCIpLmxlbmd0aCBpcyAxCitQQVNTIHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeVR5cGUoInBhaW50IikubGVuZ3RoIGlzIDEKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZl
ciBmaXJzdC1jb250ZW50ZnVsLXBhaW50IGNhbGxiYWNrIHdhc24ndCBmaXJlZCBhZ2FpbiAKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorVEVYVDIKSW5k
ZXg6IExheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmcvcGVyZm9ybWFuY2Ut
b2JzZXJ2ZXItZmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmcvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIt
Zmlyc3QtY29udGVudGZ1bC1wYWludC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmcvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZmlyc3Qt
Y29udGVudGZ1bC1wYWludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAKKzwh
RE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3Bh
aW50LWFwaS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiRW5zdXJlIFBlcmZvcm1hbmNlT2JzZXJ2ZXJzIGFyZSBub3RpZmllZCBvbmNl
IGZvciBmaXJzdC1jb250ZW50ZnVsLXBhaW50LiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOworIAorKGFzeW5jICgpID0+IHsKKyAgICB3aW5kb3cuZGlkUmVjZWl2ZUZpcnN0Q29udGVu
dGZ1bFBhaW50ID0gZmFsc2U7CisgICAgd2luZG93LnN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5v
dygpOworICAgIGF3YWl0IHdhaXRGb3JGQ1AoKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHsKKyAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZl
cihlbnRyeUxpc3QgPT4geworICAgICAgICAgICAgd2luZG93LmVudHJ5TGlzdCA9IGVudHJ5TGlz
dDsKKyAgICAgICAgICAgIHNob3VsZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCcs
ICIxIik7CisgICAgICAgICAgICBzaG91bGRCZSgnZW50cnlMaXN0LmdldEVudHJpZXNCeU5hbWUo
ImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKS5sZW5ndGgnLCAxKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCdlbnRyeUxpc3QuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5sZW5ndGgnLCAiMSIpOwor
ICAgICAgICAgICAgd2luZG93LmZjcEVudHJ5ID0gZW50cnlMaXN0LmdldEVudHJpZXMoKVswXTsK
KyAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoJ2RpZFJlY2VpdmVGaXJzdENvbnRlbnRmdWxQYWlu
dCcpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2ZjcEVudHJ5Lm5hbWUnLCAnImZpcnN0LWNvbnRl
bnRmdWwtcGFpbnQiJyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZmNwRW50cnkuZW50cnlUeXBl
JywgJyJwYWludCInKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgnZmNwRW50cnkuc3RhcnRU
aW1lID4gd2luZG93LnN0YXJ0VGltZScpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdmY3BF
bnRyeS5zdGFydFRpbWUgPCBwZXJmb3JtYW5jZS5ub3coKScpOworICAgICAgICAgICAgc2hvdWxk
QmUoJ2ZjcEVudHJ5LmR1cmF0aW9uJywgIjAiKTsKKyAgICAgICAgICAgIGRpZFJlY2VpdmVGaXJz
dENvbnRlbnRmdWxQYWludCA9IHRydWU7CisgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAg
IH0pOworCisgICAgICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsncGFpbnQnXX0p
OworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9ICdURVhUJzsKKyAgICB9KQorICAg
IGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gJ1RFWFQyJzsKKyAgICBhd2FpdCB3YWl0Rm9yRkNQ
KCk7CisgICAgc2hvdWxkQmVUcnVlKCdkaWRSZWNlaXZlRmlyc3RDb250ZW50ZnVsUGFpbnQnKTsK
KyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCcsICIxIik7Cisg
ICAgc2hvdWxkQmUoJ3BlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQiKS5sZW5ndGgnLCAiMSIpOworICAgIHNob3VsZEJlKCdwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IiwgInBhaW50IikubGVuZ3RoJywg
IjEiKTsKKyAgICBzaG91bGRCZSgncGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQi
KS5sZW5ndGgnLCAiMSIpOworICAgIHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgZmly
c3QtY29udGVudGZ1bC1wYWludCBjYWxsYmFjayB3YXNuJ3QgZmlyZWQgYWdhaW4gIik7CisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9KSgpOworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9yZXNvdXJjZXMv
ZmNwLXN1YmZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvZmNwLXN1YmZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9yZXNvdXJjZXMv
ZmNwLXN1YmZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorPCFET0NU
WVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBjb25zdCBvYnNlcnZlciA9
IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAgICBsaXN0LmdldEVudHJp
ZXMoKS5mb3JFYWNoKGVudHJ5ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1l
c3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3R5cGU6ICdyZWNlaXZlZCcsIGVudHJ5fSksICcqJyk7Cisg
ICAgICAgIH0pOworICAgIH0pOworCisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczog
WyJwYWludCJdfSk7CisgICAgd2luZG93Lm9ubWVzc2FnZSA9IGUgPT4geworICAgICAgICB3aW5k
b3cucGFyZW50LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHtzdXBwb3J0ZWQ6IFBlcmZvcm1h
bmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcywgdHlwZTogJ3N1cHBvcnRlZCd9KSwgJyon
KTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAiVEVYVCI7CisgICAgfQorPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmcvcmVzb3VyY2VzL3BhaW50LWFwaS11dGls
cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGlt
aW5nL3Jlc291cmNlcy9wYWludC1hcGktdXRpbHMuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvcGFpbnQtYXBpLXV0
aWxzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNSBAQAorYXN5bmMgZnVuY3Rpb24gd2Fp
dEZvckZDUCgpCit7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZXF1ZXN0QW5p
bWF0aW9uRnJhbWUoKCkgPT4gcmVzb2x2ZSgpKSk7CisgICAgcmV0dXJuIHdpbmRvdy5wZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdmaXJzdC1jb250ZW50ZnVsLXBhaW50JykubGVuZ3RoID09
IDE7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvcGFpbnQtdGltaW5nLWFwaS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nL3Jl
c291cmNlcy9wYWludC10aW1pbmctYXBpLmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wYWludC10aW1pbmcvcmVzb3VyY2VzL3BhaW50LXRpbWluZy1hcGku
anMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAoraWYgKHNlbGYuaW1wb3J0U2NyaXB0
cykKKyAgICBpbXBvcnRTY3JpcHRzKCIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
KTsKKworaWYgKHNlbGYud2luZG93KQorICAgIGRlc2NyaXB0aW9uKCJCYXNpYyBJbnRlcmZhY2Ug
dGVzdCBmb3IgcGFpbnQtdGltaW5nIEFQSXMuIik7CisKK2RlYnVnKCJQZXJmb3JtYW5jZVBhaW50
VGltaW5nIik7CitzaG91bGRCZURlZmluZWQoIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmciKTsKK3No
b3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VQYWludFRpbWluZy5wcm90b3R5cGUudG9KU09OYCk7
CitzaG91bGRUaHJvdyhgbmV3IFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcoKWApOworCitpZiAoc2Vs
Zi5pbXBvcnRTY3JpcHRzKQorICAgIGZpbmlzaEpTVGVzdCgpOwpJbmRleDogTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvd29ya2VyLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZy9yZXNvdXJj
ZXMvd29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
YXBpL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvd29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzIEBACitzZWxmLm9ubWVzc2FnZSA9ICgpID0+IHsKKyAgICBzZWxmLnBvc3RNZXNz
YWdlKEpTT04uc3RyaW5naWZ5KFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBl
cykpOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDI2MDg0MikKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBj
b3B5KQpAQCAtNTU3LDYgKzU1NywxMSBAQCBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2hh
ci9oYXItcGFnCiBbIFJlbGVhc2UgXSBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2hhci9o
YXItcGFnZS1hZ2dyZXNzaXZlLWdjLmh0bWwgWyBGYWlsdXJlIF0KIFsgRGVidWcgXSBodHRwL3Rl
c3RzL2luc3BlY3Rvci9uZXR3b3JrL2hhci9oYXItcGFnZS1hZ2dyZXNzaXZlLWdjLmh0bWwgWyBT
bG93IEZhaWx1cmUgXQogCisjIFBhaW50IFRpbWluZyBpcyBub3QgYXZhaWxhYmxlIGluIFdlYktp
dDEKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGFpbnQtdGltaW5nIFsgU2tpcCBd
CitwZXJmb3JtYW5jZS1hcGkvcGFpbnQtdGltaW5nIFsgU2tpcCBdCitodHRwL3Rlc3RzL3BlcmZv
cm1hbmNlL3BhaW50LXRpbWluZyBbIFNraXAgXQorCiAjIExvY2FsIE92ZXJyaWRlcyBub3QgYXZh
aWxhYmxlIGluIFdlYktpdDEKIGh0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbG9jYWwtcmVz
b3VyY2Utb3ZlcnJpZGUtYmFzaWMuaHRtbCBbIEZhaWx1cmUgXQogaHR0cC90ZXN0cy9pbnNwZWN0
b3IvbmV0d29yay9sb2NhbC1yZXNvdXJjZS1vdmVycmlkZS1tYWluLXJlc291cmNlLmh0bWwgWyBG
YWlsdXJlIF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25z
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25z
CShyZXZpc2lvbiAyNjA4NDIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtMzcwMyw2ICszNzAzLDExIEBAIGh0dHAvd3B0L3dl
YnJ0YyBbIFNraXAgXQogaHR0cC93cHQvcmVzb3VyY2UtdGltaW5nL3J0LW5leHRIb3BQcm90b2Nv
bC5odG1sIFsgU2tpcCBdCiBodHRwL3dwdC9yZXNvdXJjZS10aW1pbmcvcnQtbmV4dEhvcFByb3Rv
Y29sLndvcmtlci5odG1sIFsgU2tpcCBdCiAKKyMgVE9ETyBQYWludCBUaW1pbmcgaXMgbm90IGVu
YWJsZWQgZm9yIFdLMS4KK2h0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGFpbnQtdGltaW5nIFsgU2tp
cCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZyBbIFNraXAg
XQorcGVyZm9ybWFuY2UtYXBpL3BhaW50LXRpbWluZyBbIFNraXAgXQorCiAjIFdlYkNyeXB0byB0
ZXN0cyBhcmUgZmFpbGluZy4KIHdlYmtpdC5vcmcvYi8xNjUwOTAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xNjUwOTAg
aHR0cC93cHQvY3J5cHRvIFsgU2tpcCBdCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BhaW50LXRpbWluZy9yZXNvdXJjZXMvY2lyY2xlcy5wbmcKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3Zu
Om1pbWUtdHlwZSA9IGltYWdlL3BuZwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYWludC10aW1pbmcvcmVzb3VyY2VzL2Np
cmNsZXMucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIwor
aW1hZ2UvcG5nClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKCmlWQk9SdzBLR2dvQUFB
QU5TVWhFVWdBQUFDUUFBQUJJQ0FZQUFBQ2VObGU1QUFBQzdtbERRMUJKUTBNZ1VISnZabWxzWlFB
QWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0a0NKSldhdG9SZFEyL1JGaWF3emJIN1pGa0dR
elNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytBSG5yd1pDOUtoVnBGS042cktHS2hGeTN4elc1
TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FCT1FOeDFLaUVXbHNmRUpxCi9JZ0FqcUlKUVRR
bFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4
Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVlTUcxRHlzOXhGa2lmRUExTGM1L1RiaFR6U1hU
UUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpFTDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVP
czk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0eHFwCitEWENGRjhR
VFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpXa2hQMTB4dStMcUhCWDBtMXhPdjRuZFdV
ZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURVaFFFRVVFWVppd1VFQ0dQQm94TkxKeVB5T3JC
aHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6KwpLQ0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5
MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4Cm11d2FQ
K3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1OXNmenM5NGk3UExy
WFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZsUFh2WHgvR2ZOeEdQaUtURW1kb3JuSVltWHhT
N3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZnWUpxOAo5UzlkUDF0NHZVWi9EUFZSbEJuTTBs
U0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJdmJPREltYnB0VTNIdkVLRmxwVzV6CnJn
SVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVP
NjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xwZHRpWjB4MXVIS0U1UXZmRXAwcGxrL3F2OFJH
dy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFlSXVKQUFBQQpDWEJJV1hNQUFBc1RBQUFMRXdF
QW1wd1lBQUFHWjBsRVFWUm9CZTJhVVc5VlJSREhkNjh0RVZKTFcyS0N4Q1kraWdRRG9Za0tmZ0o4
CjlNa25FdkVkdm9DbWtTK0E3MnBDUXNLVGovSUpCQ1NCMU5Tb1BKcVUxQ2FrZ05pQWFlTmRmLyta
T1QyMzU5N1NGdTdsNlV5eTUrek8KMloyWm5aM2RuWmw3YzVyUEplMEtTc3BwaHA3N1UwbVBxRC9k
SEZVUnlKdVlSSjhEOUprRzg0ejZROTY5WDNzNk5xcGpqWGFqS1NMZApFR1FmOVJXSU8rbVN6c0wx
QksxWnlpR0toRmpsdVVTSFh4aHpuZlpURXlPbncrRFhRN0NPOWVReEVKNGprRmlQUVZERWxtMXdL
Wi95ClBwZEtPYzNiaGJBUHpRZERUYmg4ay9lVmxQTVAxaU9uSTdRZlVOK2dETlpZN2w4eTEwcEtr
d3daWnlDekxtY1I0bXZhcDR4d1NiOUMKN3lidGhWVHlIN3ovRHZ6QmxNdFJtSjVrekdud3h3Ti9G
NkcrWXN4MTJvZjRMb0dlVVBxMTFSQ29YaUt0dTFxbGZNZmpjMm9zWGI2RwpBSmZCMzZFTm1tSjly
RlhYaFJPVU5JZUFGNkh4R1MyWTUrK2hjVDdHemZDV2JXMFZxaUZRWmJnUGJWRHEvc3lBRHlnM0dQ
Y0Y3M3NtClFMSmxGQ0hOVkxiUjVTMkJoSk90U2JQQ3VjMmw5QzdOYjJtZm9keUcxb2RCcHhLcW1v
S01aQk0wMzBtS3BBYTZ2L000Q3BkdktCZUQKd0N6TXRUd3I2Z0hVaE5RU0JZZXFwbVUvQ09wZUtw
MlA2WENaY3NGcGQ5NERMMTdpcWVWeldwcFNOTVpCalJ2UmdtYXlDYU4xbHpCdgowMmVLYit5Z3RC
Yjl0d29Ec2dmMFRXVXR4a3c1RFdnbGJFbTB4Y09YWE5wVTJTS1F0dmFiSUZkWmMyeUdaU3FtbVV2
ZzMySGdYNVRICk1haWFQYzBkd1ZscXJHaUlWc3FYbkRZOG5CYzhqWGUxN1BPNStBR0czYkNiVXZt
UkRqZE14ZEtNQ0xrOTdNaDlGeDA2MEg0TG12ZFQKN3Y3RUc1dktuMkRvMm4yeXAwZXlRczFDaGdp
d3RZMjVHYkFRV3A3L1ZCa1NpSlpvQXNZRHJSaFBJU1JEU1IyL0R0Z05kdWlkOHExdAp1MGtHWEMy
VEJnd0RzdEhNbk81RlBEaEdFbWViODE1QmV6UFNrTzRtd1RsN0pzNFpnZSttc0huL01xUm5KMmhE
TG5qWjZXL1U5NmVPClg1UjhzNU4xRWZRZEpOVjFvYTNvb2xyZm9UMUU4MG53RUsvRjRDMXUySkJ1
YlYyVVJVZDZ2aFZzUjZHWjVveWNoM2dhYjJTUUxJRTkKRWIyNW02eW1FOWpQaFNhWjRiUkZleU40
TFRoSjh4ejhJZ0V4NjBpN0tGVmQ5L1pJbitzK1pYZzZ1QXhqcmhGM0pYUnJlOXNQcVZISwpVOTkv
RlU5NUFac2FHaVhydmRIR3FBWHk5R1RsK0RPOC9kWTIxTWdlNGlGZTR1bWdLMlJUUTdvMEFYT3VW
SW1UVzlXUndUNDNEM2c2CnVBeSt5L0NCSFU2YWxINzd1alhGaHlHL1JGdmVoUUR2VWhBeVlOU0tE
blM1eVZYRlY3WmVvemZxNnNMV2dld21vNkRnZ0E3R2FWTmQKTVlkY1B2QWNiVGxnY3B4OERsU0dD
S0k1R1R6RTZ6Z0hzb0lCY1p2V3dmZ3MyRjV4cHZqQUF2ZjBScUVwK1Y1aHlNRXJLVEl4cnBKbApI
Z0h0N3VMRzc4cDV4NDQ2eDVCWS9yTzh4TWNtbnZWLzZZZDhkcWVaOGJOTDl6Y29Mc0J2anZkaGVL
MUlRNUl0VG1hRktrS1pRMDQxClRWQmVVMlZJSUZxaUNSZ1BzUmRQZ1dTSUE4ZkRrU1BtdVdWQ0Zm
UGtjTWpOczdOcmhZRzBYaHcwVnVlTy9LRDdrQkx0TS9CVFdLUU4KcFFEU2c0dUlPdVNqUEdDQWJ2
enpERGlHUzNBQjNDcHQrZFZ5OHVXd2EvbjJJcHkwTDV1WjRqM0IrRCtoL1dYUXZtMjhqS2RGczA0
MwpCTklNZFB0dU1CZ2diaW9LZzh5OWxKQWVCdmtNRlFiSlZ4SzRLWHE5OTFscDh3MTZ5SUNYZkRJ
UkJwVkV0QXNQZ1VleHRYY1JBdW1UCmlJdlJEQVgxS1c1U29LZzRxckE5WHpoUUZNMytRQkVrRUx4
NkppWTk5WUNXVG11cGpvaW9XYkRPRm5HeUkzSzV5bmZ0Q0oxVHk5U1YKT0pERy9vbWltMXU0WlFx
NzFrTHBxMHhNdTBrUkJqWVRtdkVvUTd5MmlzQzJiK2FIZk4xMWVHMmZiRmlFK0MyK1B5L1o4Qkhm
MzRlaApsdVV1eHN0dTJudXl3Y2JIUTNhZyswWUJwR1lNNFVqSDJCWHp2SFNNOWVZcTRnUzJReS9T
TWI2YjlweU9NV3J4Y0cxNXFDUVBRTXNBCkg0cjg4SXpiV2V4WWNBZlBJbDhaTUJlbEo2eThyeWNu
ZHBld0dyQmtJVXZmcThxTXZJNFFpaHAwREF3R0YzaUNQcE4wK0pkK3NoVmgKZDRhdEZyVnovNUgz
Nk5uMmczaTk3Skt0bVY1ZVdZNXgwSklaamtlYlk5UUNTeHR1d0w3Y1ZiMHkzemJIMk56S3RVMVZ0
VGJINkxhegovZE90VEg1VW0yUGNYa3U5WDlvY1k2ODJ0cXUzT2NidE5OUEV1NlBSNWhpYmVxbmJi
WTZ4MXNWZWFtMk9zZFpXbTJPc2RURzQxalYwCm0yUHMxMDZiWSt6WFNZMXBjNHkxTHJ4V2hlSnRq
akhPRkV2UEtZL1UrMmVVTnNkSWluZmdINXJhSEdQL24rTDhkNjhsUXY1WG1tUFUKWHpORzk3ZkIv
d0ZaYmcwNUVFTnVOd0FBQUFCSlJVNUVya0pnZ2c9PQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>